07 Dic
– Cilindro (de un disco duro):Conjunto de pistas en un disco que están directamente encima/debajo de ellas mismas (equidistan del centro)
– Índice (de un archivo de datos): El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, por medio de un identificador único de cada fila de una tabla, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar, sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas
-Seek time: tiempo tarda el mecanismo en posicionarse en el cilindro adecuado para escribir datos.
-Interrupt: señal emitida por el hardware o el software al procesador indicando que hay un evento que requiere de atención inmediata. Un interrupt alerta al procesador de una condición de alta prioridad que requiere de la interrupción del código que actualmente se está ejecutando. El procesador responde suspendiendo sus actividades actuales, guardando su estado, y luego ejecutando un pequeño programa llamado “interrupt handler” para lidiar con el evento.
Interrupción Es un mecanismo en el que otros módulos pueden interrumpir el procesamiento
normal del CPU. Estas interrupciones mejoran la eficiencia del procesador ya que
el procesador puede ocuparse de otras tareas mientras una operación de E/S está
en curso.
Ciclo de Interrupción
El programa capta la instrucción y la ejecuta. Si las interrupciones están
habilitadas, suspende la ejecución y la guarda. Carga el PC con la dirección de
comienzo de una rutina de gestión de interrupción. Se ejecutan las instrucciones
de interrupción generadas y una vez que se finaliza el programa se vuelve al ciclo
de instrucciones anterior justo en el punto en donde se dejó.
Aunque esto suponga más cantidad de instrucciones, el tiempo de ejecución es
menor que cuando no se usan interrupciones.
Interrupciones Múltiples
Pueden ocurrir situaciones en que se produzcan varias interrupciones.
Existen varias maneras de proceder a las interrupciones múltiples:
– Lo que hace el procesador es inhabilitar la captación de interrupciones luego de obtener la primera. Una vez que se realiza todo el proceso de la interrupción y se regresa al programa, se habilita el gestor de interrupciones el cual contiene las que no se pudieron ejecutar y se realiza el mismo
procedimiento hasta finalizar cada una de ellas.
– Darles prioridad a las interrupciones y que la de más alto nivel impida la ejecución de las demás. Por ejemplo, se tienen 3 dispositivos de E/S con su nivel de prioridad: Impresora (1), Disco (2) y Comunicación (3). El programa empieza su ejecución y al cabo de un tiempo encuentra un interrupt de la impresora y procede a ejecutarlo. Sin embargo, antes de que finalice dicho procedimiento se captó un interrupt de comunicación. Se procede a ejecutardicho interrupt dejando en pausa el programa principal y el interrupt de la impresora. Una vez que este finaliza, se reanuda el procedimiento previo que era el de la impresora y luego el anterior que es el programa principal.
-Compresión: Consiste en codificar información utilizando menos bits que en la representación original.
Métodos:
Estadísticos:
Aritméticos: Normalmente, un string de caracteres tales como las palabras “hola mundo” está representado por un número fijo de bits por carácter, como es el caso del código ASCII. Cuando se convierte un string a codificación aritmética, los caracteres utilizados más frecuentemente se guardarán con menor cantidad de bits y los que no son utilizados tan frecuentemente se guardarán con mayor cantidad de bits, dando como resultado una menor cantidad de bits total.
Diccionario:
Indexing: Es un tipo de búsqueda que utiliza índices para otorgar múltiples claves para un mismo dato.
Se usan para ubicar rápidamente data sin tener que revisar todas las filas de una tabla de base de datos cada vez que se accede a la tabla.
Cuando el indice es muy grande para caber en la memoria principal, se utiliza organización de tipo Hashing o B-Trees.
Los indices selectivos son aquellos que te permiten posicionar un indice en un lugar y guardar mucha información referente a esa clave guardada en el indice. Por ejemplo, buscar todos las películas vistas por una persona en el año 2015. Ventajas: la búsqueda es rápida. Desventajas: lento insertando, complicado de programar y mas costoso de eliminar.
Hashing: Es una función que transforma una clave en una dirección. La clave puede ser un nombre, por ejemplo, y en base a ese nombre se genera una dirección que guardara la información de dicha persona. Se hace para minimizar los tiempos de búsqueda. Ventajas: rápido insertando, menos complicado de programar, desbalancea fácilmente. Desventajas: la búsqueda es lenta.
RAID :Conjunto de unidades físicas de disco vistas por el sistema operativo como una unidad lógica, los datos se distribuyen a través de las unidades físicas del conjunto de unidades.
Nivel 0: los datos del usuario y del sistema están distribuidos a lo largo de todos los discos del conjunto. Los datos son organizados en forma de tiras de datos a través de los discos disponibles.
Nivel 1: la redundancia se logra duplicando todos los datos.
Nivel 2: técnica de acceso paralelo. Todos los discos miembros participan en la ejecución de cada petición de E/S.
Nivel 3: requiere un solo disco redundante. Utiliza acceso paralelo.
Nivel 4: técnica de acceso independiente. Tiras relativamente grandes. Nivel 5: distribuye las tiras de paridad a lo largo de todos los discos.
Nivel 6: se hacen 2 cálculos de paridad distintos, proporciona una disponibilidad de los datos extremadamente alta.
Bus: Es el camino de comunicación entre 2 o más dispositivos, constituido por varias líneas, cada una capaz de transmitir señales binarias. Si un módulo desea enviar un dato a otro debe obtener el uso del bus y transferir el dato a través del bus.
Estructura del Bus
Constituido entre 50 y 100 líneas, clasificadas en líneas de datos, de direcciones y de control. Las de datos proporcionan un camino para transmitir datos entre los módulos del sistema (Bus de datos). Las de dirección se utilizan para designar la fuente o el destino del dato situado en el bus de datos.
Las de control se utilizan para controlar el acceso y el uso de las líneas de datos y de direcciones (Memory write, memory read, escritura de E/S, lectura de E/S).
Tipos de buses
Dedicados: líneas dedicadas que están permanente asignada a una función. Ventaja: elevado rendimiento. Desventaja: tamaño y costo.
Multiplexado: mismas líneas para usos diferentes. Ventaja: usa menos líneas. Desventaja: circuitos más complejos.
Método de arbitraje
Centralizado: en el que un único dispositivo es responsable de asignar tiempos en el bus.
Distribuido, en el cual no existe un controlador central.
Temporización
Síncrona, en la que la presencia de un evento en el bus está determinada por un reloj.
Asíncrona, en la que la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo.
Disco magnético: plato circular construido con un material no magnético, llamado sustrato, cubierto por un material magnetizable.
Mecanismos de lectura y escritura magnética: los datos se graban y después se recuperan del disco a través de una bobina, llamada cabeza.
El de escritura se basa en el hecho de que un flujo eléctrico atravesando una bobina crea un campo magnético. El de lectura se basa en el hecho de que un campo magnético en movimiento respecto a una bobina, induce una corriente eléctrica en la misma.
Organización y formato de los datos: los datos se organizan en un conjunto de anillos concéntricos en el plato, llamados pistas. Cada pista es del mismo ancho que la cabeza.
Carácterísticas:
– Cabeza: en un disco de cabeza fija, hay una cabeza de lectura/escritura por pista, en uno de cabeza móvil, hay solo una cabeza de lectura/escritura.
– Portabilidad de los discos: disco no extraíble, montado en la unidad de disco y el extraíble, puede ser removido y sustituido por otro.
– Caras: una o dos caras. Platos: uno o varios platos.
– Mecanismo de la cabeza: disquetes, que son pequeños, de plato flexible y es el más barato. De separación fija y Winchester (sep. Aerodinámica).
Discos compactos:
– CD-ROM: la información se puede replicar en grandes cantidades de formabarata, el disco óptimo es extraíble, pero es de solo lectura y no se puedeactualizar y el tiempo de acceso es mayor al de una unidad de discomagnético.
– CD grabable
– CD regrabable: compiten con los discos magnéticos.
Disco digital versátil: gran capacidad de almacenamiento.
Cinta magnética: primer tipo de memorias secundarias.
Clusters: Número de sectores continuos. Se usan grandes clusters cuando el disco contendrá grandes archivos procesados secuencialmente. Se usan pequeños clusters cuando el disco contendrá pequeños archivos de acceso aleatorio.
Tiempo de acceso de un sector: Se divide en 3 componentes, el primero es el tiempo en que tarda en mover el brazo de lectura/escritura a cada disco. El segundo es el tiempo en que el disco gira para posicionar el sector debajo del brazo. Por último, el tiempo que tarda en transferir el archivo.
Técnicas para transferir data reduciendo el tiempo
Multiprocessing, Disk Striping, RAID, RAID Disk, Disk Cache
Cintas Magnéticas: Las cintas magnéticas no poseen acceso directo, pero si un rápido acceso secuencial. Son resistentes a diversos ambientes, fáciles de llevar y menos costos que los discos. Hoy en día son usados para backups.
En las cintas de 9 pistas (9 tracks tapes), los bloques de datos están separados por Gaps. Un frame es 1 bit ubicado en un respectivo track.
Discos vs Cintas: Antes, tanto los discos como las cintas eran usadas para almacenamiento secundario (acceso aleatorio y acceso secuencial, respectivamente). Sin embargo, los discos siguen usándose como almacenamiento secundario, mientras que las cintas como backups o almacenamientos terciarios.
Compresión de Data :Forma de codificar la información de un archivo para que este ocupe menos espacio.
Técnicas de compresión
Notación compacta: se utiliza una notación más pequeña para referirse a un dato. Sin embargo, puede ser difícil de entender para una persona, tarda mucho tiempo pasando de código a binario o de binario a código y simplemente aumenta la complejidad del software.
Run-lenght: se utiliza cuando se hallan archivos repetidos constantemente. Se representa de la siguiente forma: FF (numero repetido) (cantidad de veces repetido). 24 24 24 24 24 24 = FF 24 06.
Código Huffman y de longitud variable: el código Huffman es un tipo de código de longitud variable que se caracteriza por la frecuencia de letras en el dato.
Otro código de longitud variable es el Morse.
Búsqueda Binaria: Es un tipo de búsqueda que utiliza un valor de referencia para buscar el dato. Si el
tamaño del archivo se duplica, el tiempo de búsqueda binaria aumenta en 1.
Keysorting: Es un tipo de búsqueda que guarda datos grandes en claves como un nombre con su respectivo RRN. Se leen los archivos secuencialmente, se busca cada dato de manera aleatoria y se escribe el dato en ese orden.
Módulo de E/S: realiza la interfaz entre el procesador y la memoria a través del bus del sistema o un conmutador central y realiza la interfaz entre uno o más dispositivos periféricos mediante enlaces de datos específicos.
Dispositivos externos: se conectan al computador mediante un enlace a un módulo de E/S. El enlace se utiliza para intercambiar señales de control, estado y datos entre el módulo de E/S y el dispositivo externo. Al dispositivo se le denomina dispositivo periférico.
Clasificación:
De interacción con humanos (impresoras): permiten la comunicación con el usuario.
De interacción con máquinas (discos magnéticos): permiten la comunicación con elementos del equipo.
De comunicación: permiten la comunicación con dispositivos remotos.
Datos: conjunto de bits a ser enviados o recibidos del módulo de E/S.
Señales de estado: indican el estado del dispositivo.
Lógica de control: controla su operación en respuesta a las indicaciones del módulo de E/S.
Transductor: convierte las señales eléctricas asociadas al dato a otra forma de energía en el caso de una salida y viceversa en el caso de una entrada.
Teclado/monitor
IRA: código en el cual cada carácter se representa mediante un único número binario de 7 bits, y pueden ser imprimibles o de control.
Funcionamiento de E/S: De la misma forma en que el procesador puede guardar datos en una dirección de memoria, puede hacerlo con un dispositivo de E/S y viceversa. Sin embargo, también es posible concederle permisos a dicho dispositivo externo para que maneje la información directamente con la memoria del computador. A este proceso se le conoce como Direct Memory Access.
Funciones de un módulo de E/S:
Control y temporización: coordinar el tráfico entre los recursos internos y los dispositivos externos.
Comunicación con el procesador: decodificación de órdenes, datos, información de estado y reconocimiento de dirección.
Comunicación con los dispositivos: intercambiar órdenes, información del estado y datos.
Almacenamiento temporal de datos: se almacenan temporalmente en el módulo de E/S y después se envían al periférico a la velocidad de este.
Detección de errores
Órdenes de E/S:
Control: se utiliza para activar el periférico y decirle qué hacer.
Test: se utiliza para comprobar distintas condiciones de estado asociadas con el módulo de E/S y sus periféricos.
Lectura: hace que el E/S capte un dato de un periférico y lo sitúe en un buffer interno.
Escritura: hace que el módulo de E/S capte un dato del bus de datos y lo transmita al periférico.
Instrucciones de E/S: dos modos de direccionamiento, asignado en memoria en el cual existe un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S; y aislado en el cual los puertos de E/S solo son accesibles mediante una orden específica de E/S, que activa las líneas de órdenes de E/S del bus.
Canales y procesadores de E/S: puede ejecutar instrucciones de E/S. Las instrucciones se almacenan en memoria principal para ser ejecutadas por un procesador contenido en el propio canal de E/S. Tipos de canales: selector que controla varios dispositivos de velocidad elevada y multiplexor que puede manejarlas E/S de varios dispositivos al mismo tiempo.
Preguntas:
1) ¿En qué consiste el hashing para organizar un archivo en disco magnético? ¿Cómo se implementa? Explique sus ventajas y desventajas.
Hashing es una función que transforma una llave en una dirección. La llave puede ser un nombre por ejemplo, y en base a ese nombre se genera una dirección que guardara la información de dicha persona, se hace para minimizar los tiempos de búsqueda.
2) ¿Cuáles son las 3 modalidades para manejar operaciones de entrada/salida en un
computador? Explique sus ventajas y desventajas.
E/S Programada: Los datos se intercambian entre el CPU y el módulo de E/S.
Desventaja: El CPU tiene que esperar un tiempo considerable a que el módulo de E/S en cuestión esté preparado para recibir o transmitir los datos
E/S Mediante Interrupciones:
El módulo de E/S interrumpirá al CPU para solicitar su servicio cuando esté preparado para intercambiar datos. El CPU ejecuta la transferencia de datos y después continua con el procesamiento previo.
Desventajas: el CPU tiene que esperar un tiempo considerable a que el módulo de E/S en cuestión esté preparado para recibir o transmitir datos. El CPU debe estar comprobando continuamente el estado del módulo de E/S. Se degrada el desempeño del sistema.
Ventajas: es más eficiente que la programada.
DMA (Direct Memory Access): El controlador del dispositivo transfiere un bloque de datos desde o para sus buffers de almacenamiento directamente sin intervención del CPU.
Ventaja: no necesita intervención del CPU. Sólo se produce una interrupción por bloque en vez de por cada byte.
3) ¿Qué es un B-Tree? ¿Qué ventajas presenta respecto a un árbol binario tradicional?
Es una estructura de datos de árbol que mantiene la data ordenada y permite realizar búsquedas, accesos secuenciales, inserciones y eliminaciones en tiempo logarítmico. El B-Tree es una generalización de un árbol de búsqueda binaria pues un nodo puede tener más de dos hijos.
1) Cada nodo tiene máximo 2n hijos
2) Cada nodo que no sea hoja (excepto la raíz) tiene n hijos
3) La raíz tiene al menos dos hijos si no es un nodo hoja
4) Un nodo no hoja con k hijos tiene k-1 llaves
5) Todas las hojas aparecen en el mismo nivel
4)Diferencia entre un b-tree y un árbol tradicional
La diferencia es que en los árboles tradicionales cada nodo puede tener una clave y máximo 2 hijos por cada nodo , mientras que en los Btree un nodo puede tener más de una clave y más de 2 nodo hijo , la búsqueda es más lenta en el binario, aunque eliminar un b tree es más difícil.
1) ¿En qué consiste el indexing y como se implementa? Explique sus ventajas y desventajas
Un índice nos permite imponer el orden en un archivo sin reorganizar el archivo y proporcionarle múltiples rutas de acceso
Un índice de base de datos es una estructura que mejora la velocidad de las operaciones de recuperación de data en una tabla de base de datos a costa de escrituras adicionales y de uso de más espacio de memoria para mantener una copia extra de data. Los índices se usan para ubicar rápidamente data sin tener que revisar todas las filas de una tabla de base de datos cada vez que se accede a la tabla.
¿Relación entre RPM y Rotational Delay?
Rotational Delay: El tiempo requerido por el área direccionada de un disco duro para rotar a una posición donde es accesible por el dispositivo escritura/lectura.
Mientras más alto es el RPM, más bajo es el rotational delay.
¿Cuáles son los seek time más representativos?
El seek time mide el tiempo que le toma al “head assembly” en viajar del track del disco a donde está la data que va a ser leída o escrita.
Deja un comentario