Sistema de Archivos Almacenaje Secundario Módulo 12 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Modulo 12: Almacenaje secundario Revisión Estructura de Disco Discos Adjuntos Planificación de Disco Administración de Disco Administración del Espacio de Swap Estructura de RAID Implementación de Almacenaje Estable Dispositivos de Almacenaje Terciario Aspectos de Sistemas Operativos Rendimiento y Costos JRA © 2008 Sistemas Operativos – Almacenaje Secundario 1 Objetivos Describe la estructura física de los dispositivos de almacenaje secundario y terciario y el resultado de su uso Explica las características del redimiento de los dispositivos de almacenaje masivos. Discute los servicios del SO provistos por el almacenaje masivo, incluyendo RAID y HSM JRA © 2008 Sistemas Operativos – Almacenaje Secundario Estructura de Disco Los dispositivos de disco son vistos como un arreglo unidimensional de bloques lógicos, donde el bloque lógico es la mas pequeña unidad de transferencia. Ese arreglo de bloques lógicos es mapeado secuencialmente en sectores del disco. El sector 0 es el primer sector de la primera pista sobre el cilindro más externo. El mapeo procede en orden a través de esa pista, luego el resto de las pistas en el cilindro, y luego el resto de los cilindros desde el más externo hasta el más interno. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 2 Revisión Los discos magnéticos son el núcleo del almacenaje secundario de las computadoras modernas Los discos rotan 60 a 200 veces por segundo El ritmo de transferencia es el ritmo con que los datos fluyen entre el dispositivo y la computadora. Tiempo de posicionamiento (tiempo de acceso al azar) es el tiempo que lleva mover el brazo del disco hasta el cilindro deseado (tiempo de búsqueda ) y el tiempo que demora el sector deseado en pasar por debajo de las cabezas del disco (latencia rotacional) Un aterrizaje de cabeza tiene lugar cuando las cabezas del disco hacen contacto con la superficie del disco. Esto es malo Sistemas Operativos – Almacenaje Secundario JRA © 2008 Revisión Los discos pueden ser removibles Los discos son asociados a la computadora vía canal de E/S JRA © 2008 Los canales varían incluyendo EIDE, ATA, SATA, USB, Fiber Channel (FC), SCSI El controlador huésped en la computadora usa el canal para comunicarse con el controlador del disco embebido en el mismo disco o en el arreglo de almacenaje.. Sistemas Operativos – Almacenaje Secundario 3 Mecanismo de la Cabeza del Disco Sistemas Operativos – Almacenaje Secundario JRA © 2008 Revisión Cinta Magnética JRA © 2008 Fue el primer medio de almacenaje secundario masivo Relativamente permanente y mantiene grandes cantidades de datos Bajo tiempo de acceso El acceso aleatorio es ~1000 veces mas lento que el disco Principalmente usado para respaldo, almacenaje de datos con uso poco frecuente, medio de transferencia entre sistemas Mantenida en el spool y bobinada o rebobinada Cuando el dato está bajo de la cabeza, el ritmo de transferencia es comparable al disco 20-200GB de almacenaje típico Las tecnologías comunes son 4mm, 8mm, 19mm, LTO-2 y SDLT Sistemas Operativos – Almacenaje Secundario 4 Almacenaje Adjunto en Red El almacenaje adjunto en red (NAS: Network-Attached Storage ) es un almacenaje disponible sobre la red más que sobre una conexión local (como un canal) NFS y CIFS son protocolos comunes Implementados via llamadas a procedimientos remotos (RPCs) entre el huésped y el almacenaje Un nuevo protocolo iSCSI usa IP para transportar el protocolo SCSI Sistemas Operativos – Almacenaje Secundario JRA © 2008 Almacenamiento en Area de Red (SAN) Común en ambientes grandes de almacenamiento Múltiples huéspedes adjuntos a múltiples arreglos de almacenamiento JRA © 2008 Sistemas Operativos – Almacenaje Secundario 5 Planificación de Disco El sistema operativo es responsable de usar el hardware eficientemente — para los dispositivos de disco esto significa menor tiempo de acceso y mayor ancho de banda del disco. El tiempo de acceso tiene dos componentes importantes Tiempo de búsqueda: es el tiempo que lleva mover las cabezas al cilindro que contiene el sector deseado. Latencia rotacional es el tiempo adicional de espera por la rotación del disco hasta que el sector deseado está bajo las cabezas lectoras-escritoras. Minimizar el tiempo de búsqueda. Tiempo de búsqueda distancia a la búsqueda El ancho de banda del disco es el número total de bytes transferi-dos, dividido por el total de tiempo entre el primer requerimiento de servicio y la terminación de la última transferencia. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Planificación de Disco (Cont.) Existen varios algoritmos para planificar el servicio de los requerimientos de E/S. Se ilustran los mismos con una cola de requerimientos (0-199). 98, 183, 37, 122, 14, 124, 65, 67 La cabeza ha resuelto el requerimiento al sector 53 JRA © 2008 Sistemas Operativos – Almacenaje Secundario 6 Primero en Entrar- Primero en Salir FCFS Fácil de implementar Equitativo ¿Excesivas búsquedas ? 14 37 53 65 67 98 Cola = 98, 183, 37, 122, 14, 124,65, 67 122124 183 Pistas: 45 130 640 638 579 469 361 276 JRA © 2008 Sistemas Operativos – Almacenaje Secundario El Tiempo de Búsqueda mas Corto Primero SSTF Selecciona el requerimiento con el mínimo tiempo de búsqueda desde la posicón que que ocupa la cabeza en ese momento. La planificación SSTF es una forma de planificación SJF; puede causar inanición de algunos requerimientos. Se muestra el mismo ejemplo anterior realizado con el algoritmo SSTF. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 7 SSTF Minimiza tiempo de búsqueda El tiempo medio depende de la carga El tiempo de servicio es < cuando la cola es mas larga! Puede llevar a esperas largas - inequitativo Cola = 98, 183, 37, 122, 14, 124,65, 67 14 37 53 65 67 98 122124 183 FCFS: 640 Pistas: 12 236 177 175 151 67 44 14 JRA © 2008 Sistemas Operativos – Almacenaje Secundario SCAN El brazo del disco comienza en un extremo del disco y se mueva hacia el otro extremo, en su recorrido sirve todos los requerimientos hasta que llega al otro extremo donde se invierte el movimiento de la cabeza y continua sirviendo los requerimientos. Se lo llama, también algoritmo del ascensor. Se muestra el mismo ejemplo anterior implementando este algoritmo. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 8 SCAN (Cont.) Cola = 98, 183, 37, 122, 14, 124,65, 67 14 37 53 65 67 98 122124 183 FCFS: 640 SSTF: 236 118 39 16 236 Pistas: 177 151 120 175 Sistemas Operativos – Almacenaje Secundario JRA © 2008 LOOK Versión de SCAN El brazo va tan lejos en cada dirección como el último requerimiento. Cola = 98, 183, 37, 122, 14, 124,65, 67 14 37 53 65 67 98 122124 183 FCFS: 640 SSTF: 236 208 149 147 123 92 90 39 Pistas: 16 JRA © 2008 Sistemas Operativos – Almacenaje Secundario 9 C-SCAN (Circular SCAN) Provee un tiempo de espera mas uniforme que el SCAN. La cabeza se mueve de un extremo a otro del disco sirviendo los requerimientos en el camino. Cuando alcanza el otro extremo inmediatamente retorna al comienzo del disco sin servir ningún requerimiento en ese viaje de retorno. Trata los cilindros como una lista circular que salta desde el último cilindro al primero o viceversa, según sea la convención. Sistemas Operativos – Almacenaje Secundario JRA © 2008 C-SCAN FCFS: 640 Cola = 98, 183, 37, 122, 14, 124,65, 67 SSTF: 236 Pistas: 160 69 45 14 183 12 130 71 14 JRA © 2008 37 53 65 67 98 122124 183 Sistemas Operativos – Almacenaje Secundario 10 C-LOOK Versión del C-SCAN El brazo solo va tan lejos como el último requerimiento en cada dirección, luego invierte la dirección inmediatamente, sin retornar al extremo del disco sino hasta el último requerimiento en esa dirección. Sistemas Operativos – Almacenaje Secundario JRA © 2008 C-LOOK (Cont.) FCFS: 640 Cola = 98, 183, 37, 122, 14, 124,65, 67 SSTF: 236 Pistas: 130 69 45 14 153 12 71 14 JRA © 2008 37 53 65 67 98 122124 183 Sistemas Operativos – Almacenaje Secundario 11 Selección de un Algoritmo de Planificación de Disco SSTF es común y tiene una atracción natural. SCAN y C-SCAN se desempeñan mejor para sistemas que tienen carga pesada sobre el disco. El desempeño depende del número y tipos de requerimientos. El servicio de los requerimientos al disco pueden ser influenciado por el método de alocación de archivos. El algoritmo de planificación de disco debe ser escrito como un módulo separado del sistema operativo, permitiéndose ser reemplazado por otros algoritmo si es necesario. Tanto SSTF o LOOK es una elección razonable como algoritmo por defecto. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Administración de Disco Formato en bajo nivel, o formato físico — Divide un disco en sectores que el controlador de disco puede leer y escribir. El uso de un disco es para contener archivos, el sistema operativo necesita registrar sus propias estructuras de datos en el disco. Partición de un disco en uno o varios grupos de cilindros. Formato lógico o ―hacer un sistema de archivos‖ . Boot block inicializa el sistema. El bootstrap está almacenado en ROM. Programa cargador bootstrap . Métodos para administrar los bloques malos. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 12 Manejo de Espacio de Swapping Espacio de Swap — la memoria virtual usa el espacio de disco como una extensión de la memoria principal. El espacio de swap puede ser extraído del sistema de archivos normal , es más, comunmente, puede estar en una partición separada de disco. Manejo del espacio de Swap 4.3BSD aloca el espacio de swap cuando el proceso comienza; reserva el segmento de texto (el programa) y el segmento de datos. EL kernel usa mapas de swap para controlar el uso del espacio de swap. Solaris 2 aloca el espacio de swap solo cuando la página es forzada fuera de la memoria física, no cuando la página de memoria virtual es creada. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Estructura RAID RAID – múltiples discos proveen confiabilidad via redundancia. RAID es establecido en seis niveles diferentes. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 13 RAID (cont) Varias mejoras en las técnicas de uso del disco involucran el uso de varios discos trabajando cooperativamente. La división de discos (striping) usa un grupo de discos como una unidad de almacenaje. Los esquemas RAID mejoran la confiabilidad y el rendimiento almacenando datos redundantes. Espejado o sombra mantiene duplicados de cada disco. Paridad en bloques entrelazados usa mucha menos redundancia. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Niveles RAID JRA © 2008 Sistemas Operativos – Almacenaje Secundario 14 Implementación de Almacenaje Estable Los esquemas de bitácora de escritura adelantada requiere almacenaje estable. Para implementar el almacenaje estable: Replicar información sobre más de un medio de almacenaje no volátil con modo de fallas independientes. Actualizar información de manera controlada para asegurar que se puede recuperar el dato estable luego de una falla durante la transferencia o recuperación. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Dispositivos de Almacenajes Terciarios Bajo costo es la característica definida de los almacenajes terciarios. Generalmente, el almacenaje terciario es establecido sobre medios removibles. Ejemplos comunes son: floppy disks, CD-ROMs, DVD, pen drives. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 15 Cintas Comparada al disco, una cinta es menos costosa y almacena mas datos, pero el acceso aleatorio es mucho mas lento. La cinta es un medio económico para propósitos que no requieren acceso aleatorio rápido, p.e., copias de backup de datos de disco, pues mantienen gigantescos volúmenes de datos. Las grandes instalaciones usan cambiadores robóticos de cintas que mueven cintas entre dispositivos y las almacena en estantes de una librería de cintas. stacker – librería que mantiene varias cintas silo – librería mantiene miles de cintas A disk-resident file can be archived to tape for low cost storage; the computer can stage it back into disk storage for active use. JRA © 2008 Sistemas Operativos – Almacenaje Secundario Aspectos del Sistema Operativo Una de las mayores tareas son administrar los dispositivos físicos y presentar una abstracción de máquina virtual para las aplicaciones. Para los discos duros, el SO provee dos abstracciones: Dispositivos crudos – un arreglo de bloques de datos. Sistemas de Archivos – el SO encola y planifica los requerimientos entrelazados de varias aplicaciones. JRA © 2008 Sistemas Operativos – Almacenaje Secundario 16 Precio por Megabyte de DRAM, desde 1981 a 2008 JRA © 2008 Sistemas Operativos – Almacenaje Secundario Precio por Megabyte de Disco, desde 1981 a 2008 JRA © 2008 Sistemas Operativos – Almacenaje Secundario 17 Precio por Megabyte de Cintas, desde 1984 a 2008 JRA © 2008 Sistemas Operativos – Almacenaje Secundario Fin Módulo 12 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 18