jueves, 30 de octubre de 2008

Introduccion a Informatica - Unidad 8

Capitulo IV: Técnicas de Transmisión de la Información.

Medios de clasificación:
- Aéreos: Basados en señales radio eléctricas (utilizan la atmósfera como medio de transmisión), en señales de rayos láser o infrarrojo.
- Sólidos: Principalmente el cobre en par trenzado o cable coaxial y la fibra óptica.

Medios de transmisión sólidos:
- Par de cables no trenzado: es el medio mas sencillo, para establecer comunicación. Cada conductor esta aislado de otro, la señal se aplica a uno de ellos y la referencia conexión a tierra el otro. Su aplicación en datos esta limitada a la conexión de equipos entre distancias no mayores a 1000 metros con velocidad de transmisión de hasta 1 Mbps.

Efecto pelicular: A medida q la velocidad de transmisión aumenta, la corriente eléctrica q circula por el cable tiende a hacerlo por la superficie exterior del mismo, de esta manera emplea menor sección del conductor, y por lo tanto se incrementa la resistencia eléctrica.

- Cable coaxial: Minimiza el efecto pelicular. El conductor sólido central es concéntrico al anillo del conductor externo o tierra q puede ser también sólido o mallado .Es posible transmitir 10 Mbps sobre distancias de casi 600 metros.

- ADSL: Se definen una serie de tecnologías que permiten el uso de una línea de cobre para la transmisión de datos de alta velocidad. Permite la transmisión de datos a mayor velocidad en un sentido que en el otro. Típicamente 2 Mega bits/segundo hacia el usuario ,300 kilo bis/segundo desde el usuario.
Ventajas del ADSL.
- Acceso de alta velocidad
- conexión permanente
- A diferencia del cable, la capacidad no se comparte con otro usuario.

- Fibra Óptica: No transporta la información como señales eléctricas sino q utiliza variaciones de un haz de luz a través de una fibra de vidrio. Las ondas de luz ofrecen un ancho de banda mayor, por esta razón es posible conseguir velocidades de varios cientos Mbps. Es Inmune a las interferencias electromagnéticas y al ruido.
Esta compuesto por un fibra de vidrio para cada señal q se quiere transmitir, en un protector de plástico o PVC (cloruro de polivinilo) q la aísla de exterior. La señal luminosa la debe generar un transmisor óptico, que realiza conversión de señal eléctrica-señal luminosa o viceversa. Los componentes electrónicos encargados de realizar estas funciones son el diodo emisor de luz o LED y el fototransistor.
La estructura de la fibra optica consta de dos partes:
- el núcleo de vidrio o material plastico
- el cubrimiento del vidrio pero con un indice de refraccion(cociente entre la señal luminosa de salida y la entrada) menor.

- Conductor de fibra óptica multimodo con perfil escalonado: el indice de refraccion del núcleo debe ser algo mayor al recubrimiento. Toda la luz emitida por el iodo se refleja en el recubrimiento y se propaga a lo largo del núcleo por medio de múltiples reflexiones internas. La señal recibida, tiene un ancho de banda de pulso algo mayor que el de la entrada y de hecho limita la velocidad de transmisión.

- Conductor de fibra óptica multimodo de perfil gradual: se reduce la dispersión y se aumenta la velocidad, en el cual la luz se refracta de manera incremental a medida q se propaga a lo largo del núcleo. Con esto se logra reducir el ancho del pulso de la señal recibida y aumentar la velocidad de transmisión.

- Fibra óptica monomodo: (si se reduce el diámetro del núcleo hasta ser igual a la longitud de onda) toda la luz se propaga a lo largo de una trayectoria. El ancho de pulso de llegada es similar al de envio, por lo tanto se puede emplear velocidades de transmisión muy altas que alcanzan cientos Mbps.

Medios de Transmisión Aéreos.

Vía Satélite: Un haz de microondas (longitud de onda del orden a los 10 micrones) se transmite al satélite desde la tierra. El haz lo recibe el satélite y lo transmite empleando una antena direccional y un circuito interno llamado transporte. El ancho de banda de un trasporte es muy alto de 500 MHz. El satélite realiza un giro a la orbita de la tierra en 24 horas de manera sincronizada con la rotación de la misma. Las frecuencias para subir(up-link, enlace ascendente)y bajar (down-link, enlace descendente).
El enfoque del haz de microondas que retransmite el satélite puede ser fino o amplio.
La potencia recibida es mayor y por lo tanto, se requiere antena parabólicas receptoras de diámetros reducido se conocen con VSATs o terminales de apertura muy pequeñas.

Características de la comunicación vía Satélite:
- Existe un retardo de 0,5 seg. en las comunicaciones debido a la distancia que han de recorrer señales.
- Los satélites tienen un vida de siete a diez años.
- Las estaciones terrenas suelen estar lejos de los usuarios .Las estaciones situadas en las bandas de bajas frecuencias están dotadas de grandes antenas (30 metros de diámetros) y son sensibles a las interferencias.
- Las comunicaciones pueden ser interceptadas por cualquiera q disponga de un receptor.

Enlace de Microondas: lo principal para establecer un enlace de microondas, es la existencia de lo q se denomina una línea de vista física entre las antenas emisoras y receptoras. Las máxima distancia de enlace q se logra sin problema de atenuación y desvanecimiento de la señal es de 50 KM. El haz de microondas sufre alteraciones cuando se encuentra obstáculos similares a edificios, árboles, montañas, etc.

Luz Infrarroja: permite la transmisión de información a velocidades muy altas 10 Mbits/seg. Consiste en la emisión/recepción de un haz de luz, debido a esto, el emisor y el receptor deben tener contacto visual (la luz viaja en forma recta). Debido a esto pueden usarse espejos para modificar la dirección de luz transmitida.

Enlace de Radio: la transmisión de datos mediante ondas de radio a trabes de estaciones terrestres. También se utiliza para establecer comunicación entre computadoras localizadas relativamente cercanos.

Dispositivos de Interconexión.

Hubs (concentradores): dispositivos q interconectan host, dentro de una red. Es el dispositivo de interconexión mas simple que existe.
- Se trata de un armario de conexiones donde se centralizan todas las conexiones de una red.
- No tiene ninguna función aparte de centralizar conexiones.
- Se suele utilizar para implementar topología de estrella física, pero funcionando como un anillo o un bus lógico.

Hubs Activos: permiten conectar nodos a distancias de hasta 609 metros, suelen tener entre 8 y 12 puertos y realizan funciones de amplificación y repetición de señal.
Hubs Pasivos: son simples armarios de conexión. Permite conectar nodos a distancias de hasta 30 metros y suelen tener entre 8 y 12 puertos.

Bridges (puentes): conectar dos o mas redes entre si, teniendo distintas topologías, pero asumiendo q usan el mismo protocolo de red y segmentar una red en otras redes menores denominadas subredes.
- Trabajan a nivel de enlace del modelo OSI.
- Tienen dirección de red diferente.
- Los puentes no tienen dirección de IP, ya q trabajan en otro nivel
- Los puentes trabajan con direcciones físicas.
- Dispositivos q ayudan a resolver problemas de limitación de distancias.
Realizan las siguientes funciones:
- Reenvió de Tramas: constituye una forma de filtrado. Un puente solo reevia a un segmento aquellos paquetes cuya dirección de red lo quiera, no traspasando el puente los paquetes q vayan dirigidos a nodos locales a un segmento.
- Técnicas de Aprendizaje: los puentes constituyen tablas de dirección q describen rutas, bien sea mediante el examen del flujo de los paquetes o bien con la obtención de información de los paquetes exploradores q han aprendido durante su viaje la topología de la red.

Repetidores: repiten señales.
- Conectan a nivel físico dos Intranet, o dos segmentos de Intranet. Cuando la distancia entre dos host es grande, la señal q viaja por la línea se atenúa y hay q regenerarla.
- Permite resolver problemas de limitación de distancias en un segmento de Intranet.
- Dispositivo q repite la señal transmitida evitando su atenuación, de esta forma se puede ampliar la longitud del cable q soporta la red.
- Al trabajar al nivel mas bajo de la pila obliga a:
- Los dos segmentos q interconecta, tenga el mismo acceso al medio y trabajen con los mismos protocolos
- Los dos segmentos tengan la misma dirección de red.


Routers (encaminadotes): realizan funciones de control de trafico y encaminamiento de información por el camino mas eficiente en cada momento. Son capaces de modificar el camino establecido entre dos puntos de la red de acuerdo al tráfico.
- Trabaja a nivel del Modo OSI.
- Permite conectar redes de áreas local y de área extensa.

Gateway (pasarelas): Se trata de dispositivos q trabajan de tal manera q permiten interconectar redes de diferentes arquitecturas (diferentes topologías y protocolos) son capaces de realizar conversión de protocolos, modificando los agrupamientos de la información para adaptarla a cada red.
- Se trata de ordenador u otro dispositivo q interconecta redes radicalmente distintas
- Trabaja a nivel de aplicación del modelo OSI.
- Son capaces de traducir información de una aplicaron a otra .




Swichs (enlazadores) : dispositivos utilizados para enlazar redes LAN separadas y proveer un filtrado de paquetes entre ellas.
- Una LAN Switch es un dispositivos con múltiples puertos, los cuales soportan una simple estación de trabajo o bien toda una red Ethernet o Token ring.
- Actúa como un Bridge multi-puerto, los paquetes son filtrados por el switch basándose en su dirección destino.
Realiza las Siguientes funciones:
- Segmentar redes grandes en varias mas pequeñas, lo cual disminuye la congestión.
- Cada puerto posee un ancho de banda dedicado, si requerir de los usuarios el cambio alguno de equipamiento.

Introduccion a Informatica - Unidad 7

Ficheros:

Una de las ventajas que aporta el tratamiento informatizado de la información, es la capacidad de almacenamiento en poco espacio, la rapidez en el proceso de los datos y la precisión en los resultados obtenidos.

Fichero: Es un conjunto ordenado de datos que tienen entre si una relación lógica y están almacenados en un soporte de información adecuado para la comunicación con el ordenador.
En un fichero se almacena información referente a un mismo tema en una forma estructurada, con el fin de manipular los datos de manera individual.
Un fichero esta compuesto por estructuras de datos más simples denominadas REGISTROS.

Los registros están formados por CAMPOS que contienen información referente a un elemento o característica en particular dentro del fichero.

Registro Lógico: Conjunto de información identificable acerca de uno de los elementos a que hace referencia el fichero.

Registro Físico: Conjunto de información que según las posibilidades de cada máquina puede ser escrito o leído de una sola vez.
Los registros físicos están almacenados en el soporte de información.

Un bloque o registro físico puede constar de un número variable de registros lógicos, esto es, se pueden transferir varios registros lógicos en una sola operación de lectura/escritura. Este fenómeno recibe el nombre de BLOQUEO. El número de registros lógicos contenidos en un bloque recibe el nombre de FACTOR DE BLOQUEO.
El bloqueo de registros aporta dos grandes ventajas: mayor velocidad en los procesos de entrada/salida y mejor aprovechamiento de la capacidad del soporte de almacenamiento.
En algunos casos un registro lógico excepcionalmente largo, puede ocupar más de un registro físico. Estos registros reciben el nombre de REGISTROS EXPANDIDOS.


Dirección Lógica: Es la posición relativa que ocupa un fichero.

Dirección Física : Posición real o efectiva donde se encuentra dicho registre en el soporte de información.

Los ficheros se guardan en dispositivos de memoria masiva, estando limitado su tamaño por el de los dispositivos que los alberguen. Los dispositivos de memoria auxiliar pueden ser de dos tipos Secuencial o NO Direccionables y de acceso directo o direccionables. En los soportes secuenciales, si se quiere acceder al registro N hay que leer los N-1 registros anteriores. En los de acceso directo, por el contrario, se puede acceder directamente a un registro físico sin más que dar su dirección.

Dentro de un determinado fichero, los registros van a ser identificados por un campo o conjunto de campos, a los cuales se los denomina LLAVE o IDENTIFICATIVO. Esto sirve para discriminar cada registro de los demás.
Se dice que una llave esta duplicada cuado uno o mas registros distintos toman el mismo valor.


&6.2

Creación: Operación previa a cualquier otra, que supone una descripción de las características de los datos. La vida de un fichero comienza con la creación del mismo.

Consulta o Recuperación: Esta operación se realiza a nivel de registro para conocer la información contenida en el fichero.

Mantenimiento o Actualización: Una vez que el fichero está creado, podrá surgir la necesidad de modificar la información que contiene. Esto supondrá tres tipos de operaciones distintas a nivel de registro:

1)Inserción de un registro cuando aparezcan nuevas entidades.

2)Modificación de un registro para el cual se han producido cambios.

3)Eliminación o Borrado de un registro porque hayan desparecido las correspondientes entidades.

La supresión de un registro se puede realizar de dos modos:

a)Eliminación por marca o borrado lógico, que consiste en la modificación del valor de un campo mediante el cual los programas de aplicación detectan que el contenido del registro no tiene validez.

b)Eliminación real, consiste en hacer que ese registro sea inaccesible, o bien ocupar su espacio con otros registros en ese fichero.

Borrado o Destrucción : Elimina la información del fichero, así como su estructura. La destrucción del fichero supone el fin de la existencia del mismo.

&6.3

Tipos de Ficheros …

° Según la longitud de registro.

*Longitud fija: Se denominan así a los registros en los que la suma de los caracteres en todos los campos es constante.

*Longitud variable: Son aquellos registros que tienen cada uno una longitud diferente en el fichero.

*Delimitados: La longitud del registro es variable y no es posible conocer en que medida difieren unos de otros. El sistema incluye un carácter especial para indicar el final de registro. En este caso, se dice que el fichero es de tipo texto.

*Indefinido: Son aquellos en los que la longitud es totalmente variable. El sistema operativo no realiza ninguna gestión. El programa de usuario es el que se encarga de localizar el principio y el fin de cada registro.

*Según el uso que se haga de ellos. Los ficheros se utilizan para realizar funciones diversas dentro de una aplicación informática.

*Ficheros permanentes: Contienen la información necesaria para el funcionamiento de una aplicación. Su vida es larga y normalmente no pueden generarse de forma inmediata a partir de otros ficheros.
Dentro de los ficheros permanentes podemos distinguir 3 tipos:

*Ficheros maestros o de situación: Contienen información que refleja el estado actual de los datos. Estos ficheros se actualizan periódicamente para adaptarlos a cada nueva situación.

*Ficheros Constantes: Son los que mantienen datos fijos para la aplicación. Su información permanece prácticamente inamovible. Se utilizan principalmente como ficheros de consulta.

*Ficheros Históricos: Son aquellos que contienen datos que fueron actuales en tiempos anteriores. Están constituidos por registros que recogen cronológicamente las distintas modificaciones en el tiempo que ha sufrido el fichero.

*Ficheros Temporales: Contienen información necesaria para un proceso específico dentro de una aplicación. Se generan a partir de los datos de los ficheros permanentes. Tienen vida efímera, y únicamente son utilizados para obtener resultados o actualizar la información de los ficheros permanentes.

*Ficheros Intermedios: Se generan a partir de los resultados de un programa y se utilizarán como entrada a otro dentro de la misma tarea. Solo se usan para pasar información de un proceso a otro.
*Ficheros de Maniobras: Se utilizan para no perder información generada por un proceso por falta de espacio en memoria principal, no se puede conservar.

*Ficheros de Resultados: Se generan a partir de los resultados finales de un proceso que van a ser transferidos a un dispositivo de salida, por ejemplo un fichero de impresión.

&6.4

Tipos de organización de ficheros:

Secuencial: Los registros se encuentran almacenados de forma contigua, sin dejar ningún espacio entre ellos y sin ningún índice que indique las direcciones de cada registro. Está es la única organización de ficheros que puede ser gestionada en un dispositivo no direcciónable. Los registros se encuentran ordenados según un indicativo que se toma como base de clasificación.

En este tipo de organización, las operaciones que se pueden realizar sobre los ficheros son :

*Añadir: Solo es posible escribir al final del fichero.

*Consulta: La consulta se realiza de forma secuencial, es decir para leer el registro que ocupa la posición N es necesario leer previamente las N-1 posiciones anteriores.

*Operaciones de Actualización: Estas operaciones no son fáciles de realizar en un fichero secuencial. La actualización de un fichero secuencial obliga a escribirlo de nuevo totalmente, es decir, cada operación de actualización implica crear de nuevo el fichero.

*Consulta: Únicamente en el caso de que los registros sean de longitud fija, se puede determinar la dirección de comienzo de un registro a partir de su posición relativa en el fichero.

*Modificación: Una vez localizado un registro, se puede reescribir en él dentro del propio fichero, siempre que la modificación no suponga un aumento de la longitud del registro.

*Borrado: No es posible realizar un borrado real de un registro del fichero. Sin embargo, podemos hacer lo que se denomina un borrado lógico, que consiste en marcar el registro de forma que al leerlo se identifique como no valido.

La organización secuencial se suele utilizar con ficheros en los que en cada proceso se debe acceder a la mayor parte de los registros del mismo. Una ventaja es que aprovecha bien el espacio y que es sencilla de utilizar. Su principal inconveniente es la falta de flexibilidad y la velocidad de acceso.

Secuencial Encadenada: Los ficheros almacenan además de su propia información, un puntero, con la dirección del registro siguiente, según el orden lógico del fichero.

Con esta organización se pueden realizar las siguientes operaciones:

*Añadir: Para añadir un registro al final del fichero, se localiza la posición del ultimo registro del fichero. El puntero de este último registro contendrá una dirección nula. Una vez localizado el final del fichero, el nuevo registro se escribirá en una zona libre, colocando en su campo de puntero una dirección nula.

*Recuperación: La consulta es secuencial. Para leer un determinado registro, se accede al primero en la lista y se comprueba si es el registro buscado. Si no es así lee la dirección siguiente.

*Inserción: Para insertar un registro, es necesario localizar la posición en que se desea insertar, es decir, entre que dos registros se quiere situar. Físicamente, el registro se escribe en una dirección de memoria arbitraria que se encuentre disponible.

*Modificación: Si la modificación no implica un aumento en la longitud ni una alteración del valor del campo llave, se localizara el registro y simplemente habrá que sobrescribir en la misma posición. En el caso contrario primero se insertará un nuevo registro que incluya la modificación y posteriormente se borrará el registro con la información desactualizada.

*Borrado: Para eliminar un registro del fichero, solo hay que destruir su dirección del puntero del registro anterior.

La velocidad de acceso al fichero depende del número de registros lógicos que se pueden leer en un bloque.

La organización encadenada es adecuada en ficheros que utilizan procesos interactivos.

Secuencial Indexada:

Un fichero con organización secuencial indexada se considera compuesto de dos zonas:

*Zona de registros: Contiene todos los registros del fichero, ordenados según el valor de alguna llave. Está zona se puede ver como una estructura secuencial pura.

*Zona de Índices: Es una estructura formada por un número de registros inferior al total de registros del fichero. Al igual que la zona de registros , la zona de índices posee un organización secuencial pura.
Los registros de la zona de índices posee una estructura particular que nada tiene que ver con los registros reales de fichero. Están formados por dos campos:
1-Campo Llave.
2 - ampo Dirección.

La zona de registros se considera dividida en una serie de tramos lógicos o segmentos, cada uno de los cuales está formado por registros consecutivos. Por cada tramo en la zona de registros existe un registro en la zona de índices. Dicho registro en la zona de índices contendrá en su campo llave el valor del ultimo registro del tramo, y en el campo de dirección del primer registro del tramo. De esta manera se accede de forma directa a un segmento de la zona de registros a partir de la zona de índices.

*Consulta: Se pueden realizar consultas secuenciales, sin embargo, este tipo de organización se caracteriza por la posibilidad de realizar consultas conocida su llave, sin tener que leer los registros anteriores en el fichero.

*Inserción: No es posible insertar un registro en ficheros con está organización, ya que formalmente se trata de una organización secuencial pura. Sólo se pueden añadir registros.

*Modificación: Si la modificación no implica un aumento de longitud del registro ni supone una variación del valor de la llave del registro, la actualización puede realizarse directamente. En caso contrario, habría que reorganizar el fichero completo.

*Eliminación: Tampoco es posible borrar un registro, auque si se permite un borrado lógico.

Una mejora para esta estructura consiste en utilizar la denominada organización secuencial indexada encadenada que hace uso de punteros en los registros.

Directa o Aleatoria:

En la organización aleatoria no tiene por qué existir ninguna relación lógica entre los registros y su colocación física. Cada registro se sitúa en una dirección de memoria que se calcula aplicando una fórmula o algoritmo matemático.
Existen muchos métodos para generar las direcciones de los registros. Todos ellos tomarán el valor de un campo del registro, aplicaran la transformación y obtendrán la dirección.
Cuando se detecta que la dirección asignada a un registro está ya ocupada por otro. Se puede optar por dos alternativas:
a) Buscar una dirección libre en el mismo espacio de fichero.
b) Reservar una zona de desbordamiento e ir almacenado los sinónimos en esa zona consecutiva a medida que van apareciendo.

El problema fundamental de esta organización es la elección de la transformación o método de direccionamiento que se ha de usar para cada tipo de fichero.

*Direccionamiento Directo: Este método consiste en asignar a cada llave una dirección lógica , es decir, la transformación asigna como dirección el valor de la llave. El problema es que tiene que haber tantas direcciones como valores de la llave y que las llaves han de ser numéricas.

*Direccionamiento Asociado: Normalmente se utiliza cuando las llaves son alfanuméricas y consiste en asociar a cada llave una dirección lógica por medio de una tabla. Se construye una tabla con todas las llaves de fichero y la dirección física. Este tipo de direccionamiento no produce sinónimos, pero necesita espacio adicional para la tabla.

*Direccionamiento Calculado(Hashing): En este tipo, la dirección de cada registro se obtiene mediante una serie de cálculos matemáticos realizados con la llave. El principal problema que plantea es la existencia de sinónimos.

División por número primo: Si N es el número máximo estimadote registros en el fichero y P es el número primo mas próximo a N, se divide la llave por P y se utiliza como dirección el resto de la operación.

*Cuadrado de la llave: Si la llave no es un número muy alto, se eleva al cuadrado y se extraen como dirección unas cuantas cifras inmediatas.

*Truncamiento o Extracción: Se trunca la llave, quedándonos con las 4 o 5 ultimas cifras, y a partir de ellas con una serie de cálculos matemáticos se obtiene la dirección.

*Plegamiento: Se utiliza cuando la lave toma valores numéricos muy grandes. Consiste en recortar la llave en trozos y después sumar dichos trozos. Al resultado de la suma se le puede volver a aplicar cualquier otro método de los escritos.

*Consulta: Se realiza siempre por llave. Para leer un determinado registro, únicamente te ha de aplicar el algoritmo de transformación a la llave si el registro buscado no se encuentra en la dirección resultante.

*Inserción: Para insertar un nuevo registro, se aplica a la llave el algoritmo de transformación elegido. Si la dirección que resulta de aplicar el método de direccionamiento ya esta ocupada por otro registro, se emplea un algoritmo de resolución de sinónimos.

*Modificación: Siempre se puede realizar esta operación. Para localizar el registro se aplica la transformación correspondientea a la llave. Una vez que se obtiene la información se modifica la información del registro.

*Borrado: Siempre se realiza un borrado lógico. Se localiza el registro mediante algoritmos y se marca con un valor determinado para indicar que no es un registro valido.

&6.5
Parámetros de utilización de ficheros:

Al crear un fichero en necesario especificar que organización tendrá. La elección de una determinada organización implica tener en cuenta el tipo de operaciones a que van a ser sometidos los ficheros.

*Volumen: Es el número de caracteres, que ocupa el fichero en el soporte de almacenamiento.
Antes de la creación del fichero, se puede evaluar el espacio que ocupara.

*Crecimiento: Especifica el aumento o disminución del tamaño del fichero. Utiliza como parámetros la tasa de crecimiento, que es el número de altas y bajas que se procesan en cada tratamiento del fichero.

*Actividad: Se refiere al número de procesos de consulta y modificación que sufrirá el fichero a lo largo de su vida.
Parámetros:

*Tasa de consulta: Es el número de registros tratados en cada procesamiento del fichero.
*Frecuencia de Renovación: es el número de veces que se accede al fichero para insertar o borrar por unidad de tiempo.
&6.6
Tratamiento de Ficheros:

La captura de datos se hace leyendo directamente los documentos fuente, utilizando códigos de barras o introduciendo los datos desde una terminal.
La calidad de la producción de un sistema de procesamiento de datos depende más de los operadores que de la maquina.
El resultado de ejecutar un programa fiable, únicamente será correcto si la entrada de datos preparada por personas es precisa.

*Documentos de ida y vuelta: Documento obtenido como resultado de un proceso que contiene los datos de entrada para otro.

Validación de Datos: El proceso de validación consiste en comprobar los datos de entrada antes de almacenarlos o procesarlos. La validación es uno de los pasos mas importantes y que mas tiempo consumen en muchos sistemas de tratamiento de datos. Básicamente, el objetivo de la validación es el control de la información suministrada a la máquina.
Existen muchas técnicas de validación. Una de las mas simples consiste en el uso de totales. Normalmente los datos numéricos de particular importancia disponen de dígitos de seguridad . El valor de estos dígitos se calcula a partir de los demás dígitos del número.

Ordenación de datos:

Muchos de los procesos sobre ficheros u otras estructuras de datos, requieren que éstos se encuentren ordenados. Un fichero está ordenado cuando los registros aparecen en él de forma creciente o decreciente según el valor de uno a varios campos. Ordenar los registros en el fichero consiste en colocarlos en un determinado orden, que vendrá dado por el valor de uno o varios campos llamados llaves de ordenación.

Si un fichero esta ordenado y esta almacenado en un soporte direcciónable, es posible localizar o buscar con gran rapidez un registro que contenga un determinado valor en el campo por el que se encuentra ordenado el fichero.


Métodos de ordenación :

*Inserción: Se construye lista ordenada con los valores de las llaves de los registros del fichero. Una vez construida, se va leyendo secuencialmente y se escriben los registros correspondientes en el fichero de salida. Cuando se vaya a insertar una nueva llave, se insertara en el lugar que le corresponda, quedando la lista ordenada.

*Mezcla: Se procede a una mezcla reiterada de secuencias del fichero ya ordenadas. Sea N el número de valores de llave distintos del fichero. Partimos de N segmentos cada uno, desordenados; estos segmentos se mezclan dos a dos, produciendo N/2 segmentos ordenados de dos registros. Este proceso se repite reiteradas veces hasta ordenar el fichero completo.

Búsqueda:

*Búsqueda secuencial: Supone examinar cada uno de los registros del fichero hasta que se encuentra el solicitado. Se usa solamente cuando el fichero contiene un número pequeño de registros o carece de orden.

*Búsqueda Dicotómica: Este tipo de búsqueda es posible en ficheros ordenados. Consiste en dividir el fichero en subficheros mas pequeños.

*Búsqueda por Bloques: Con este método se realiza el mismo recorrido sobre las llaves que en un fichero secuencial indexado. Para localizar un registro se considera el fichero lógicamente dividido en bloques.

Generación de Informes:

La mayoría de los ficheros de un sistema de tratamiento de información contienen grandes cantidades de datos. Para tener una idea adecuada y correcta del estado del sistema, es importante generar informes a intervalos regulares. La información que se obtiene será un resumen de los datos de uno o mas ficheros, aunque es muy habitual encontrar información que no esta almacenada directamente en nuestro sistema.

Normalmente un sistema informatico podrá generar una gran variedad de informes, dependiendo de la información que se necesite en cada instante o de la clase de persona a la que va destinado dicho informe.

Seguridad de los Datos:

Es usual realizar copias de seguridad periódicamente de todos los ficheros que forman el sistema de tratamiento de datos, por ejemplo, una vez a la semana , guardando las copias de seguridad en un lugar seguro hasta que dejen de tener validez.


BASES DE DATOS ….


Una de las aplicaciones mas significativas de las computadoras es el almacenamiento, recuperación y mantenimiento de grandes cantidades de información utilizando entidades hardware/software conocidas como sistemas de información.

Problemas de los manejadores de ficheros:

*Actualización de la información: La realización de actualizaciones puede resultar costosa cuando se tiene información parcial o totalmente duplicada en varios ficheros; incluso puede que éstos tengan organizaciones diferentes. Si al tener que actualizar un determinado dato no se actualiza en todos los lugares donde se encuentra, se producen lo que se denominan inconsistencias en la base de datos.

*Redundancia: Este problema consiste en tener datos que no aportan información , ya que se pueden deducir de otros. El caso típico de redundancia es mantener el mismo dato almacenado en varios sitios.

*Rigidez de Búsqueda: A cada fichero se le dará una determinada organización, de acuerdo con los tipos de accesos que se creían más frecuentes, ero puede ocurrir que se necesiten otros modos de acceso y sean difíciles de llevar a cabo sobre la organización ya existente.

*Dependencia con los programas: Las relaciones entre los datos almacenados en los ficheros no están patentes en éstos. Es el programa que los utiliza el que se encarga de ello.

*Confidencialidad y Seguridad: La confidencialidad de los datos consiste en evitar la consulta de estos a determinados usuarios. Otro aspecto que debe garantizarse es la seguridad de los datos almacenados, de forma que no puedan ser modificados por personas no autorizadas.


Concepto y estructura de BASES DE DATOS.

Base de Datos: Sistema formado por un conjunto de datos organizados de tal forma que se controla el almacenamiento de datos redundantes. Los datos resulta independientes de los programas que los usan, se almacenan los datos y las relaciones entre ellos y se puede acceder a los datos de diversas formas.

Requisitos de un buen sis de bdd. :

*Varios usuarios pueden acceder simultáneamente.
*Se controla el acceso de datos.
*Los datos se almacenan sin redundancia.
*Se podrán usar distintos métodos de acceso.
*Deben existir mecanismos concretos de recuperación de información en caso de fallo de la computadora.
*Se podrá cambiar el soporte físico de la base de datos sin que repercuta en la misma ni en los programas que la usan.
*Se podrán modificar los datos contenidos en la base de datos, las relaciones entre ellos o incluir nuevos datos sin afectar a los programas que los usan.
*Existe una interfaz de usuario que permite utilizar la base de datos de forma cómoda y sencilla.




Una entidad es un objeto real o abstracto con características diferenciadores, capaces de hacerse distinguir de otros objetos, y del cual se almacena información en la base de datos.
Una entidad esta formada por un conjunto de ítems de datos o atributos, cada uno de los cuales aporta alguna característica en la definición de la entidad.

En una base de datos, la información de cada entidad se va a almacenar en registros, y cada atributo, en campos de dicho registro. En una base de datos vamos a tener distintos tipos de registros, cada entidad necesita registros con estructura diferente. Esta es la diferencia principal entre las Bases de Datos y los ficheros. En una base de datos habrá tantos tipos de registros como entidades, mientras que en un fichero todos los registros tienen la misma estructura, habrá un único tipo de registro.

Súper Clave: Se denomina súper clave de una entidad a un atributo o conjunto de atributos que permite identificar de forma única a una ocurrencia de la entidad.
Clave Candidata: Es cuando de una súper clave no se puede obtener ningún subconjunto que sea a su vez súper clave.
Clave primaria o principal: De todas las claves candidatas el diseñador elige una que será la clave principal .


Decimos que existe una referencia entre dos entidades, cuando un campo o conjunto de campos de una de las entidades es clave de la otra; esto nos va a permitir localizar una entidad a partir de otra.
A este conjunto de atributos que forman la clave de la segunda entidad se la denomina CLAVE FORANEA O CLAVE AJENA de la entidad.


Sistemas gestores de base de datos ….

*Definición del esquema de base de datos: Una vez diseñado el esquema de la base de datos, hemos de describirlos mediante un conjunto de instrucciones. Esto se realiza mediante un lenguaje especifico, denominado lenguaje de descripción de datos(DDL).

*Acceso a la información desde un lenguaje de alto nivel: Esto se realiza mediante un lenguaje especifico, denominado lenguaje de manipulación de datos (DML). El DML puede ser utilizado de dos formas diferentes.

*Acceso a la información en modo conversacional: EL SGBD debe incorporar una interfaz de usuario a través de la cual introducir sentencias de DDL o DML directamente desde un terminal para obtener información interactiva.

*Gestión de Archivos: Función realizada por un módulo denominado gestor de archivos que se encarga de la comunicación con el sistema operativo.


Abstracción de la Información …

*Nivel de Visión: A este nivel, cada grupo de usuarios posee conocimiento únicamente de aquella parte de la base de datos que le afecta. Este conocimiento ha de interpretarse a nivel de abstracción.

*Nivel conceptual: La unión de todas las vistas, da lugar al nivel conceptual. A este nivel, se conoce la descripción de todos los datos y las relaciones existentes entre ellos.

*Nivel Físico: A este nivel se describe cómo se encuentran los datos almacenados físicamente en memoria secundaria. Es el nivel más cercano al hardware y se encuentra íntimamente ligado a el.

Tipos de Bases de Datos …

*Bases de datos jerárquicas: En este tipo de bases de datos sólo se pueden crear estructuras jerárquicas. Están formadas por una colección de registros unidos a través de relaciones que pueden ser de uno a uno o de uno a muchos no siendo posible definir relaciones de muchos a muchos. Las relaciones se implementan físicamente utilizando punteros.

*Bases de datos en red: Las bases de datos en red son muy parecidas a las jerárquicas. Se permite cualquier tipo de relaciones aunque, en principio, se distingue entre bases de datos en red simple y bases de datos en red compleja. Cualquier sistema es representable en una base de datos en red.

*Bases de datos relacionales: Una base de datos relacional está formada por tablas. Una tabla es una estructura bidimensional formada por sucesión de registros del mismo tipo.

Una tabla es la forma en que un usuario ve sus datos. Se divide horizontalmente en filas y verticalmente en columnas.
Se define una clave como un atributo o conjunto de atributos que identifican una fila. Los requisitos que debe cumplir una clave son : Identificación inequívoca y no redundancia.

Modelos de Datos …

Un modelo de datos se puede definir como un grupo de herramientas conceptuales para describir los datos, sus relaciones, su semántica y sus limitaciones.

Propiedades de modelos de datos..

Propiedades estáticos: Son variables en el tiempo. Quedan especificadas en el modelo de datos por las estructuras. La parte estática se define mediante el esquema de la base de datos con el lenguaje de definición de datos (DDL).

Propiedades dinámicas: Son las propiedades que varían con el tiempo. En el modelo de datos, son las operaciones.

Las operaciones sobre un modelo de datos pueden ser:

*Selección: Localización de los datos deseados.

*Acción: Realización de una acción sobre los datos seleccionados.


Usuarios de la Base de Datos …


Se consideran tres clases de usuarios:

*Programador de Aplicaciones: Encargado de escribir programas de aplicación que utilicen bases de datos.

*Usuario final: Accede a la base de datos desde un terminal empleando un lenguaje de consulta (DML).

*Administrador de la base de datos: Es la persona encargada del control general del sistema de base de datos.

Independencia de datos ..

Se dice que una aplicación es dependiente de los datos cuando es imposible cambiar la estructura de almacenamiento y la estrategia de acceso sin afectar la aplicación.

En un sistema de bases de datos se hace necesario que los datos resulten independientes de las aplicaciones.

Hay dos razones ..

*Aplicaciones diferentes requerirán vistas diferentes de los mismos datos.

* El administrador de la base de datos deberá tener libertad para modificar la estructura.


DDL Y DML ..

El lenguaje de definición de datos(DDL), proporciona ordenes para definir, eliminar y modificar tablas, así como para crear índices y vistas. Las ordenes SQL más importantes del DDL son :

* CREATE TABLE
* ALTER TABLE
* MODIFY
* DROP TABLE

El lenguaje de manipulación de datos(DML), esta basado en el algebra relacional, e incluye órdenes para insertar, suprimir y modificar filas de la base de datos.

ORDENES:

* INSERT
* UPDATE
* DELETE
* SELECT

Sistemas Operativos …

El sistema operativo es el software básico y fundamental de un sistema informático. Sin su existencia, el elemento hardware solo seria una entidad física sin utilidad.
Una primera aproximación nos presentaría al sistema operativo como un tipo de software que controla el funcionamiento del elemento del elemento físico, ocultando sus detalles al usuario, permitiéndole así trabajar de una forma fácil y segura. Para ello, el sistema operativo enmascara los recursos físicos, permitiendo un manejo sencillo y flexible.

Por otra parte, un ordenador integra un conjunto de elementos necesarios para llevar acabo su trabajo.

ELEMENTOS:

* Procesador
* Memoria Principal
* Dispositivos Periféricos
* La información

Características deseables de un sistema de datos..

Eficiencia: De cara a no desperdiciar tiempo útil del funcionamiento del sistema informático, el sistema operativo debe realizar sus funciones de una forma rápida.

Fiabilidad: Un sistema operativo debe ser fiable, ya que un fallo en él puede dar lugar a la inutilización del ordenador que está controlando.

Facilidad de Mantenimiento: Debe ser posible llevar a cabo modificaciones de forma sencilla sobre el sistema operativo.

Pequeño Tamaño: Un S-O debe ser lo más pequeño posible. Esto se debe a que un sistema operativo pequeño ocupa menos espacio, en memoria, es menos propenso a errores y más eficiente.

Funciones de los sistemas operativos …

*Facilitar la tarea del usuario.

*Administrar los dispositivos de hardware

* Administrar y mantener el sistema de ficheros en dispositivos de memoria masiva.

*Apoyar a otros programas.

* Proteger los datos y los programas.

* Contabilizar el uso de recursos realizados por los distintos usuarios.

Interfaz Usuario ..

Para comunicarse cómodamente con el ordenador, los programas incluyen módulos para definir la interfaz de usuario. Cada programa de aplicación dispone de sus propios módulos de interfaz con el usuario y el sistema operativo también dispone de su propia interfaz de usuario.


Interfaz de línea de ordenes ..

En una interfaz de línea de órdenes, el usuario controla el programa mediante el teclado de órdenes después del indicador de petición de entada del prompt. El prompt indica que el sistema operativo está listo para aceptar una orden. Las ordenes obedecen unas sintaxis y semántica claramente preestablecidas.
Como es lógico, el principal inconveniente de este tipo de interfaces es que obliga al usuario a conocer el lenguaje de órdenes para llevar a cabo cualquier tarea.

Interfaz Grafica De Usuario (GUI)

*Trabajo en un entorno de ventanas.

*Sistemas de menú de cortina.

*Cajas de dialogó.

*Iconos.

*Escritorio digital.

Administración del Hardware.

Gestión Del Procesador:

*Preparación de programas: Incluye la transferencia de los programas ejecutables de usuario desde la memoria masiva a la memoria principal a partir de una determinada dirección de memoria por medio de un programa que se denomina cargador.

*Asignación de Recursos: Los sistemas operativos poseen una política de asignación de recursos.

* Planificación del proceso: Consiste en el control, a través de una determinada política de asignación de tiempos, de la utilización del procesador por parte de los distintos procesos que en un momento determinado se encuentren en el sistema.

*Relanzamiento de procesos: Se restablecen los valores de cada elemento en el momento de la interrupción, hasta conseguir el estado de la ejecución del programa. Una vez subsanada la causa de la parada, le vuelve a tocar el turno, se pone en funcionamiento nuevamente el proceso.

Gestión de la memoria.

El módulo de gestión de memoria del sistema operativo se encarga de asignar ciertas porciones de la memoria principal a los diferentes programas o partes de los programas que la puedan necesitar mientras el resto de los datos y programas se mantienen en dispositivos de memoria masiva. El control y gestión de la memoria principal también exige que se establezcan zonas de seguridad para que no se produzcan colisiones entre las distintas áreas de memoria asignadas a cada programa.

Gestión de entradas y salidas..

El módulo del sistema operativo encargado del control de E/S intenta tratar el problema haciendo posible que los programadores de aplicaciones puedan realizar operaciones de E/S de una forma independiente de las particularidades del dispositivo, ocultándoles las peculiaridades del hardware de periféricos.

Administración del sistema de ficheros..

Los sistemas operativos agrupan la información dentro de compartimientos lógicos para almacenarla en los soportes de almacenamiento masivo. Estos grupos de información son denominados ficheros.

Abstracción De fichero lleva asociadas las siguientes caracteristicas:

*Capacidad de almacenamiento: Deben ser capaces de contener grandes cantidades de información.

*Permanencia: La información que contienen debe permanecer y sobrevivir a los procesos que generan o utilizan.

*Posibilidad de acceso Concurrente: Distintos procesos deben poder acceder concurrentemente a la información del fichero.

Tan pronto como se empieza a usar el ordenador, se acumula un gran número de ficheros de diversos tipos, de tal forma que se hace difícil su uso por parte del usuario. Para solucionar este problema, se hace necesario el uso de otros medios que permitan organizar ficheros dentro de grupos mas pequeños y mas lógicos. Por este motivo, los sistemas operativos hacen uso de una segunda abstracción, la de DIRECTORIO. Los directorios están constituidos por la agrupación, según un criterio elegido, de un conjunto de ficheros.

Apoyo a otros Programas..

Una de las funciones mas importantes del sistema operativo es proporcionar servicios a otros programas. A menudo, estos servicios son similares a los que proporciona el S-O directamente a los usuarios.
Estos servicios liberan al programador de trabajos engorrosos ya que realizan de forma automática alguna de las siguientes funciones.

*Transferencias de informaciones o ficheros.
* Revisión de espacio disponible.
*Reserva de memoria. Etc.

Protección.

Errores de sistema: El sistema operativo debe ser capaz de detectar los errores de los programas de aplicación y diagnosticarlos lo antes posible de cara a limitar sus efectos.

Abuso intencionado de los recursos del sistema: Este asunto es más difícil de resolver, ya que, de hecho pocos sistemas operativos pueden realmente evitar que se produzca cualquier acción no autorizada.
Si bien existen sistemas de protección en todos los niveles de sistema operativo, se presta mas atención a la seguridad de la memoria principal y de los soportes de memoria masivo.

Contabilidad del uso de recursos..

Una de las tareas más habituales de los sistemas operativos es el mantenimiento de una contabilidad del gasto de recursos que realiza cada uno de los usuarios.
Generalmente, la parte más considerable del coste a contabilizar es el tiempo de procesador. Para llevar a cabo esta tarea, el módulo encargado de la misma recibe la información del planificador, que le informa del tiempo de CPU consumido por cada proceso.

Tipos de Sistemas Operativos..

Multitarea.

*Multitarea cooperativa: En este esquema existe una cooperación entre el sistema operativo y los programas de aplicación. Los procesos realizan periódicamente una inspección de cara a detectar si otro proceso necesita el procesador.

*Multitarea con asignación de prioridades: Con este esquema el sistema operativo mantiene una lista de los procesos que intervienen en cada momento. Cuando se inserta un proceso en la lista, se le asigna una prioridad.

Sistemas Multiusuarios..

Los sistemas monousuarios son sistemas muy simples que sólo permiten la conexión de un único usuario en un instante dado.
Los sistemas multiusuario permiten que más de un usuario acceda a la computadora al mismo tiempo.
Los sistemas multiusuario permiten, además, que cada usuario pueda ejecutar varios programas simultáneamente.


Multiproceso..

Los sistemas informaticos que contienen dos o más procesadores interconectados, trabajando simultáneamente, se denominan multiprocesador.

Es necesario un tipo especial de S-O para gestionar un sistema multiprocesador. A este tipo de sistema operativo se los denomina multiproceso o de multiprocesamiento.
Los primeros S-O dentro de esta categoría utilizaban lo que se denomina multiproceso asimetrico, que se caracterizaba porque un procesador principal controla el comportamiento global de todos los demás, utilizandolos como si fueran otros dispositivos conectados al bus del ordenador.

El multiproceso simétrico, por otro lado permite que la capacidad del sistema aumente linealmente por cada procesador adicionado. En este caso no existe procesador controlador único.

Sistemas Operativos de tiempo real..

Existen aplicaciones que son especialmente sensibles al factor tiempo, ya que dependen del tiempo exacto. Estas aplicaciones se denominan de tiempo real.
Los sistemas operativos de tiempo real son ampliamente utilizados en aplicaciones capaces de controlar y regular el medio en que operan, como pueden ser control industrial, militar, etc. Estos sistemas deben ser capaces de responder a determinados eventos que se pueden producir asincronicamente y con gran frecuencia en unos plazos de tiempo previamente especificados.

Lenguaje Maquina..

Es el único lenguaje que entiende directamente el ordenador.
Por está razón su estructura está totalmente adaptada a los circuitos de la maquina y muy alejada de la forma de expresión y análisis de los problemas propia de los humanos. Esto hace que la programación en este lenguaje resulte tediosa y complicada.
Las principales caracteristicas del lenguaje máquina son:

*Las instrucciones se expresan en el alfabeto binario, pudiendose utilizar códigos intermedios.
*Los datos se referencian por medio de las direcciones de memoria donde se encuentran.
*Las instrucciones realizan operaciones muy simples.
*Existe muy poca versatilidad para la redacción de las instrucciones ya que tienen un formato rigido en cuanto a la posición de los distintos campos.
*El lenguaje máquina depende y esta intimamente relacionado a la CPU del ordenador, por esto los programas en lenguaje maquina no son transferibles de un modelo de ordenador a otro. (no son portables).

Lenguaje Ensamblador..

El lenguaje ensamblador constituye el primer intento de sustitución del lenguaje máquina por uno más cercano al usado por los humanos. Este acercamiento a las personas se plasma en las siguientes aportaciones:

*Uso de una notacion simbolica o nemotécnica para representar los codigos de operación.
*Direccionmiento simbolico. En lugar de utilizar direcciones binarias absolutas, los datos pueden ser identificados con nombres como COSTE, TOTAL , etc.
*Se permite el uso de comentarios, haciendo posible la redaccion de programa más legibles.
Este tipo de lenguajes hacen corresponder a cada instrucción en ensamblador una instrucción en código máquina. Esta traduccion es llevada a cabo por un programa llamado ensamblador.

Para solventar en cierta medida la limitación que supone poseer un repertorio de instrucciones tan reducido, se han desarrollado unos ensambladores especiales denominados macroensambladores. Los lenguajes que traducen los macro ensambladores disponen de macroinstrucciones cuya traducción da lugar a varias instrucciones máquina y no a una sola. Existen macroinstrucciones para dividir, multiplicar,etc.

Lenguajes de alto nivel..

*Son independientes de la arquitectura física de la computadora. Esto les da portabilidad.
*La ejecución de un programa en lenguaje de alto nivel requiere de una traduccion del mismo a lenguaje maquina.
*Por lo general una sentencia en un lenguaje de alto nivel da lugar al ser traducida a varias instrucciones en lenguaje máquina.
*Utilizan notaciones cercanas a las usadas por las personas en un determinado ambito.
*Suelen incluir instrucciones potentes de uso frecuente que son ofrecidas por el lenguaje de programación.
*Los lenguajes de alto nivel, no permiten aprovechar los recursos internos de la máquina.

TRADUCTORE, COMPILADORES E INTÉRPRETES

Un traductor es un meta programa que toma como entrada un programa escrito en lenguaje simbólico alejado de la maquinadenominado programa fuente y proporcionan como salida otro programa semánticamente equivalente, escrito en lenguaje comprensible por el hardware de la computadora denominado programa objeto.

Un compilador traduce completamente el programa fuente, generando un programa objeto.

Un interprete permite que un programa fuente escrito en un determinado lenguaje vaya traduciendose y ejecutandose directamente sentencia a sentencia por la computadora. El interprete capta una sentencia fuente, la analiza y la interpreta, dando lugar a su ejecución.

Proceso de compilación..

Para llevar a cabo la compilación de un programa este ddebe residir en memoria principal simultáneamente con el compilador. El resultado de la compilación puede dar lugar a la aparición de errores, en dicho caso no se genera el programa objeto.
Una vezfinalizada la compilación y obtenido el programa objeto, es necesario someterlo a un proceso de motaje donde se nelazaran los distintos módulos que lo componen.
Este proceso de montaje es realizado por un programa denominado encuadernador o montador(linker).
La compilación es un proceso complejo que consume a veces un tiempo muy superior a la propia ejecución del programa. Este proceso consta en general de dos etapas fundamentales.
*Analisis
*Sisntesis

El compilador utiliza internamente na tabla de simbolos para introducir determinados datos que necesita.
Esta tabla interviene en todas las etapas de compilación, asi mismo el compilador posee un módulo de tratamiento de errores que permite determinar que se deben producir ante la aparición de cualquier tipo de erro.

Analisis Lexografíco..

Durante el analisis lexografico se examina el programa fuente de izquierda a derecha, reconociendo las unidades básicas de información pertenecientes al lenguaje.

En caso de no existir errores en este primer analisis , se obtine una representación de programa formada por:

*Una descripción de simbolos en la tabla de simbolos.
*Una secuencia de símbolos en la cual, junto a cada simbolo se incluye una referencia de dicho en la tabla de simbolos.

Analisis sintáctico..

El analisis sintáctico recibe la tira de tokens del analizador lexicografíco e investiga en ellla los posibles errores sintacticos que aparezcan, estos errores pueden ser expresiones estructuradas incorrectamente, falta de algún token dentro de una sentencia, formato incorrecto en una asignación.etc.
En caso de no encontrar errores el proceso de analisis sintáctico, se agrupan los componentes léxicos en frases gramaticales que seran utilizadas en la sintesis del programa objeto. Estas frases se suelen representar mediante un arbol sintactico que pone de manifiesto la estrucura jerárquica de los componentes de un programa.

Analisis Semántico..

El analisis semántica se encarga de estudiar la coherencia semántica del código fuente a partir de la identificación de las construcciones sintácticas y de la información almacenada en la tabla de símbolos.

Sintesis del programa objeto..

La etapa de sintesis construye el programa objeto deseado a partir de la representación intermedia obtenida en la etepa de analisis.

Generación de un código Intermedio..

En la fase de generación de código intermedio se traduce el resultado de la etapa de análisis a un lenguaje intermedio propio del compilador.

Caracteristicas:
*Debe ser independiente de la máquina.
*Debe ser facil de producir.
*Debe ser facil de traducir a lenguaje máquina.

Optimización de Código..

Consiste en tomar el codigo intermedio de forma global y optimizarlo, adaptandolo a las caracteristicas del procesador al que va dirijido para mejorar los resultados de su ejecución.
La optimización se realiza en cualquier parte del programa, pero es en los bucles donde se consiguen los mejores resultados.
Un problema de la optimización es que incrementa el tamaño y complejidad del compilador.

Generación de Codigo Objeto..
Durante la generación de codigo objeto, se traduce el código intermedio optimizado al código final, es decir, al lenguaje maquina del procesador al que el compilador va dirigido. Para ello se reserva la memoria necesaria para cada elemento del codigo intermedio y cada instrucción en lenguaje intermedio es traducida a varias instrucciones en lenguaje máquia.

Detección y tratamiento de errores..

*Diagnostico de error: Un compilador, cunado detecta un error, trata de buscar su localización exacta y la posible causa de esta.

*Recuperación del error: después de detectar un error, cada fase debe tratarlo de alguna forma para continuar la compilación y permitir de esta forma la detección de más errores en el programa fuente, aunque no se genere codigo objeto.

Tipos de Errores:

* Error lexicograficos.

*Errores sintácticos.

*Errores Semánticos .

*Errores lógicos.

* Errores de ejecución.

martes, 21 de octubre de 2008

Algunos Trucos en Windows (Básico)

Antes se debe tener en cuenta algunos conceptos Básicos (Para vos Melly) como que es el:

Regedit

Registro de Windows XP

Windows consulta continuamente su información durante su funcionamiento, por lo que un registro mal configurado nos reportará errores y fallos inesperados. Este registro sustituye a la mayoría de los archivos .ini (pero no a todos) que se usaban en Windows 3.x y MS-

DOS, así como a AUTOEXEC.BAT y CONFIG.SYS. En el registro, los datos se organizan en

Una base de datos jerárquica, donde se ramifican en forma arbórea, de modo que cada una de las ramas recoge claves de la configuración.

Para tener acceso al editor de registro deberás seleccionar Inicio y luego Ejecutar, sobre la línea de ejecución, escribe regedit, y luego pulsa sobre Aceptar. Con esto accederás a la ventana del Regedit, si te desplazas por las claves:

HKEY_CURRENT_CONFIG/Display/Settings/Resolution, aquí encontrarás la resolución de tu monitor, como por ejemplo 800 x 600).

Algunas de estas claves son:

HKEY_USERS: recoge la información de todos los usuarios que usan la máquina. Aquí se encuentra información acerca de las aplicaciones instaladas, conexiones de red, etc. De cada usuario.

HKEY_LOCAL_MACHINE: identifica la información del estado físico del

hardware de nuestro ordenador, como el tipo de memoria usada, bus del sistema, tarjetas instaladas, etc.

HKEY_CLASSES_ROOT: es una subclave de HKEY_LOCAL_MACHINE/Software y contiene

las claves que aseguran que los archivos serán abiertos de manera efectiva por sus respectivos programas.

HKEY_CURRENT_CONFIG: engloba la información acerca de los perfiles del hardware de nuestro sistema y acerca del arranque del mismo, y está vinculada a

HKEY_LOCAL_MACHINE. Para poder modificar el Regedit debemos tener un permiso especial, este solo se obtiene cuando se accede al ordenador como Administrador, o bien si en la configuración de usuario se le permitió esta opción, pero hay una forma de saberlo, que es la siguiente:

Haces clic sobre el botón inicio y a continuación en Ejecutar

Escribe Regedit y pulsa el botón Aceptar.

Ahora te sitúas sobre la clave que quieres modificar y haces clic con el ratón derecho y luego sobre Permisos.

En la parte de arriba de la pantalla muestra los Usuarios y grupos, si pinchas en cada uno de ellos verás en la parte inferior de esa misma ventana los permisos que tienen otorgados cada uno de ellos.

Para modificar cualquiera de ellos deberás pulsar sobre el botón de Opciones avanzadas.

------------------------------------- Start ---------------------------------------

Si compramos una computadora usada o la compartimos, puede suceder que windows este registrado a nombre

de otro usuario. Entonces cuando agregamos nuevos programas, la instalacion siempre toma esa información

automaticamente. Como cambiarlo ...?

Podemos cargar el programa "regedit" que se encuentra en c:\windows, supongo que esto lo saben,y navegar

el menú "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\lCurrentVersion" a la derecha se veran dos claves

RegisteredOWner y Registered Organization. Hacemos doble clic en ella y escribimos los datos.


------------------------------------------------------------------------------------

Nose si a muchos les moleste por lo menos a mi si, las famosas flechitas de los Accesos Directos.

Los iconos de Accesos Directos tienen una pequeña flecha curva en uno de sus extremos. Para quitarla,

vamos a HKEY_CLASSES_ROOT\lnkfile y borramos el valor "IsShortcut". Luego vamos a HKEY_CLASSES_ROOT\piffile

y borramos el valor "IsShortcut".


-------------------------------------------------------------------------------------

Hacer que aparezca la cuenta de Administrador

Primero navegaremos hasta: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft

\Windows\NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

Si no existe crearemos un nuevo valor: Segundo botón del ratón -> nuevo valor, que sea

DWORD, le damos nombre -> Administrador -> OK. Hacemos doble click en el y le damos

el valor DECIMAL -> 1 Si existe, sólo tendermos que modificar el valor por un 1.

------------------------------------------------------------------------------------

Mostrar el comando Encriptar en el menú contextual

Antaño, pulsando con el botón derecho del ratón sobre un archivo o carpeta mientras pulsábamos la tecla Mayús en particiones NTFS, el menú contextual que aparecía, nos ofrecía la opción de Encriptar y desencriptar el elmento. Sin embargo esta opción ha desaparecido, aunque solo en principio ya que si iniciamos la herramienta de edición del registro del sistema (regedit) a través del menú Inicio/Ejecutar y localizamos la clave

http://www.elhacker.org/index.php?Ver=Trucos (6 of 36)04/04/2005 1:34:38

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,

comprobaremos que creando un nuevo valor de tipo DWORD llamado "EncryptionContextMenu” (sin comillas) y cuyo contenido sea 1, esta opción volverá al menú contextual que aparecerá al pulsar con el botón derecho del ratón sobre carpetas y archivos.


------------------------------------------------------------------------------------

Inhabilitar opciones de Windows

Este truco permitirá deshabilitar algunas aspectos de el explorador para que nadie pueda

tener acceso a tu computadora. Abre el editor del registro de windows (regedit.exe),y

luego ve a la clave(carpeta) HKEY_CURRENT_USER\Software\Microsoft\Windows

\CurrentVersion\Policies\Explorer Una vez ahí puedes crear los siguientes valores que te

describiré a continuación: Primero siempre efectúa el siguiente paso para cada Valor que

vallas a crear; Click en Edición\Nuevo\Valor DWORD. Te aparecerá en el costado derecho

de la pantalla un nuevo valor DWORD.

Luego le pones uno de los siguientes nombres a dicho valor:

NoClose: Deshabilita el comando "Apagar el sistema" del menú inicio

NoFavoritesMenu: Deshabilita el menú "Favoritos" del menú inicio

NoFind: (Deshabilita el comando "Buscar" del menú inicio)

NoRecentDocsMenu: Deshabilita el menú "Documentos" del menú inicio

NoRecentDocsHistory: Complemento de el truco anterior para deshabilitar totalmente el

menú "Documentos"; este complemento no permite que aparezcan accesos directos en la

carpeta recent

NoRun: Deshabilita el comando "Ejecutar" del menú inicio

NoSetFolders: Deshabilita los comandos "Panel de control" e "Impresoras" del menú

Configuración que esta en el menú inicio

NoSetTaskbar: Deshabilita los comandos "Barra de tareas y Menú inicio" del menú

Configuración que esta en el menú inicio

NoFileMenu: Deshabilita el menú "Archivo" del Explorador de Windows

NoViewContextMenu: (Deshabilita los menús que aparecen cuando hacemos click con el

boton derecho del ratón; exepto los de la barra de tareas

NoTrayContextMenu: (Deshabilita los menús que aparecen cuando hacemos click con el

boton derecho el ratón en la barra de tareas)

NoDesktop: Esconde todos los iconos del escritorio

Para que todo esto funcione; luego de nombrar los valores se debe hacer doble click sobre

ellos y escribir "1" para habilitar la acción ó "0" para deshabilitarla. Ademas se debe

reiniciar el equipo para que los cambios tengan efecto.


------------------------------------------------------------------------------------

Teclas

Estas son algunas combinaciones del Teclado utilizadas por Windows XP. Con estas

combinaciones de teclas accederás rápidamente a cada función. Úsalas Melly

Tecla Windows + Tecla D: Minimizar o restaurar todas las ventanas

Tecla Windows + Tecla E: Windows Explorer

Tecla Windows + Tecla F: Búsqueda de archivos

Tecla Windows + Ctrl + Tecla F: Buscar en equipo

Tecla Windows + Tecla F1: Ayuda

Tecla Windows + Tecla R: Ejecutar

Tecla Windows + Tecla mayúsculas + Tecla M: deshacer minimizar ventanas

Tecla Windows + Tecla L: Bloqueo de la estación de trabajo

Tecla Windows + Tecla U: Administrador de utilidades

Tecla Windows + Tecla Pausa: Sistema

-------------------------------------------------------------------------------------

Ocultar el botón Apagar el Sistema del botón Inicio

Si tu Computadora es utilizado por varios usuarios, en una misma sesión, puede que desees

desactivar el botón de Apagar el sistema que aparece al pulsar el botón inicio, si este es tu

caso sigue estos pasos para ocultar dicho botón:

Pulsa sobre el botón Inicio y luego en Ejecutar, escribe Regedit y pulsa el botón Aceptar.

Ahora buscaremos las siguientes claves: HKEY_CURRENT_USER/Software/Microsoft/

Windows/CurrentVersion/Policies/Explorer.

Creamos o modificamos el valor del tipo DWORD NoClose con el contenido "1" para ocultar

el botón del menú inicio o "0" para mostrarlo. Aunque siempre estará disponible desde el

administrador de tareas

Si no está creada la clave que será lo mas probable debes crearla y darle el nombre

NoClose y luego debes darle el valor "1" o "0" según tus necesidades, tal como hemos

explicado en el paso 3.


------------------------------------------------------------------------------------

Desocultar programas instalados que no aparecen en

Agregar/Quitar programas

Microsoft ha eliminado del programa de instalación del sistema la posibilidad de que el usuario especifique los componentes de Windows que serán instalados. Podemos observar que si vamos a la opción de "Agregar o quitar componentes de Windows" dentro del "Panel de control" no veremos la lista completa de aplicaciones que podemos añadir o eliminar.

Podremos solucionar este problema accediendo a la carpeta "c:\windows\inf" y allí localizaremos el archivo "sysoc.inf" que podremos abrir con el bloc de notas. Si observamos la sección [Components], encontraremos que algunos de los elementos contienen las palabras "hide" o "HIDE" y por esta razón no se muestran bajo el panel "Agregar o quitar componentes de Windows".

[Version] Signature = "$Windows NT$"

DriverVer=02/22/2002,9.3.3202.0

[Components]

NtComponents=ntoc.dll,NtOcSetupProc,,4

WBEM=ocgen.dll,OcEntry,wbemoc.inf,hide,7

Display=desk.cpl,DisplayOcSetupProc,,7

Fax=fxsocm.dll,FaxOcmSetupProc,fxsocm.inf,,7

NetOC=netoc.dll,NetOcSetupProc,netoc.inf,,7

iis=iis.dll,OcEntry,iis.inf,,7

AccessOpt=ocgen.dll,OcEntry,optional.inf,HIDE,7

Pinball=ocgen.dll,OcEntry,pinball.inf,HIDE,7

MSWordPad=ocgen.dll,OcEntry,wordpad.inf,HIDE,7

[...]

Sustituiremos la cadena "hide" por una coma ",". Acto seguido salvaremos el archivo, volveremos a ejecutar el panel "Agregar o quitar componentes de Windows" y comprobaremos que aparecen listados para su instalación o desinstalación, componentes que hastan entonces permanecían ocultos.


------------------------------------------------------------------------------------

Deshabilitar programas que arrancan con el Inicio de

Windows

En la mayoría de los casos con el paso del tiempo vamos instalando e instalando programas y muchos de ellos arrancan con el inicio de Windows, haciendo que el sistema se vuelva pesado y tarde mucho en mostrar el escritorio, pues bien hay una forma de hacer que estos programas no arranquen con el inicio de Windows.

Hacemos clic en el botón Inicio y luego en Ejecutar.

Tecleamos MSCONFIG y pulsamos el botón Aceptar.

En la ventana que nos muestra hacemos clic sobre la pestaña Inicio y ahí es donde

desactivamos los programas que no queremos que se carguen al arrancar Windows, de esta forma reduciremos el tiempo de arranque del sistema operativo.

Luego pulsamos el botón Aceptar y listo, la próxima vez que reiniciemos el SO, tardará menos tiempo en mostrarnos el Escritorio.


------------------------------------------------------------------------------------

Crear un icono para apagar rápidamente el PC. (Este es tuyo MATI)

Puedes hacer que tu PC se apague con doble clic, para ello deberás crear un icono que te permita hacer esta función, para realizar este truco sigue estos pasos: Haz clic con el ratón derecho en una zona libre del Escritorio y luego selecciona Nuevo y

Acceso directo.

En la ventana del acceso directo debes escribir shutdown -s -t 00 y pulsa el botón

Siguiente, después le pones el nombre que quieras al acceso directo y pinchas el botón

Finalizar.

Si quieres dejar algo de tiempo para cerrar las aplicaciones debes poner esto shutdown.exe

-s -t 12 de esta forma dejarás un margen prudencial de 12 segundos para apagar el PC.


------------------------------------------------------------------------------------

Como restringir las aplicaciones que los Usuarios puedan utilizar

Cuando utilizamos un ordenador compartido con otros usuarios, es posible que queramos restringir las aplicaciones que puedan usar el resto de usuarios del PC por motivos variados, la forma correcta de hacerlo es la siguiente:

Hacemos clic sobre el botón Inicio y luego en Ejecutar, a continuación tecleamos Regedit y pulsamos el botón Aceptar.

Ahora buscamos la cadena siguiente, para abrirla:

HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/Explorer

Ahora crearemos o modificaremos el valor DWORD RestricRun con el valor "1" para activar la restricción, y con el valor "0" para desactivarla.

A continuación tendremos que definir que aplicaciones serán restringidas. Para ello nos iremos a la clave:

HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/Explorer/

RestricRun

En este punto introduciremos valores alfanuméricos cuyo nombre serán números

consecutivos y como contenido tendrán los nombres de los ejecutables de cada aplicación.

Para terminar cerramos el Editor del registro y reiniciamos el ordenador.


-----------------------------------------------------------------------------------


Como impedir que los usuarios del equipo realicen descargas desde Internet

(Ideal si tiene a una persona en la casa que vaja cualquier cosa y no tiene ni idea de lo que esta bajando)

Windows XP ofrece la posibilidad de impedir que los usuarios de un mismo equipo, realicen descargas de archivos desde Internet, para ello tenemos que recurrir al registro de Windows de la siguiente forma:

Hacemos clic en el botón Inicio y luego en Ejecutar

Escribimos Regedit y pulsamos el botón Aceptar.

Ahora en el registro nos desplazamos por las siguientes claves:

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/

Zones Al abrirse la última entrada de Zones veremos varias carpetas, la que nos interesa es la carpeta no 3

Ahora hacemos clic sobre la carpeta no 3 y en el panel derecho veremos los valores que tiene asociados.

Buscamos el valor 1803 hacemos doble clic sobre él, en la ventana que nos muestra escribimos el número 3 y pulsamos el botón Aceptar. La próxima vez que alguien intente descargar algo desde Internet recibirá un mensaje de aviso de que la seguridad no le autoriza a descargar ese archivo.

Aclaración: Esta restricción solo afecta al usuario al que se le ha hecho la restricción, y lógicamente hay que hacer este truco desde la propia cuenta de usuario a restringir.

Borrar la opción de los documentos compartidos

Para quitar de Mi PC la opción Documentos Compartidos debes seguir estos pasos:

Haces clic en el botón Inicio luego en Ejecutar y escribe Regedit, luego pulsa el botón

Aceptar.

Ahora vas a la rama del registro.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\

MyComputer\NameSpace\Delegate Folders

Allí localizamos la rama {59031a47-3f72-44a7-89c5-5595fe6b30ee} y la borramos

Reiniciar la PC.

-----------------------------------------------------------------------------------

Wake on Lan

Wake on Lan (WOL) es un estándar que permite encender un ordenador desde otra

ubicación a través de una conexión de red

Para utilizar WOL antes deberemos asegurarnos que contamos con una fuente de energia ATX 2.01, una placa ATX con conector WOL conectado a una tarjeta compatible con este sistema, y el soporte en BIOS activado, asi como también que los controladores soporten esta característica y que en sus Propiedades, dentro de la pestaña Administración de energía, este marcada la casilla Permitir a este dispositivo reactivar el equipo, asi como

también dentro de la pestaña Opciones avanzadas estén en uso las opciones WakeUp on

ARP/PING, Wake Up on Link Change y WakeUp using APM Mode. Para restaurar un

ordenador de forma remota utilizando las características WOL, necesitaremos un programa que envie los paquetes Magic Packets a través de la red para indicar al ordenador que ha de restablecer su estado. Programa:


AMD Magic Packet, cuya versión para DOS y Windows están disponible en modo de

descarga gratuita en las dirección http://www.amd.com/us-en/Networking/

TechnicalResources/0,,50_2334_2452_2543~8231,00.html y

ftp://ftp.amd.com/pub/npd/software/pcnet_family/drivers/magic_pkt.exe

------------------------------------- The End--------------------------------------