Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Tema 6. Gestión avanzada de la E/S Juan Piernas Cánovas Departamento de Ingenierı́a y Tecnologı́a de Computadores Universidad de Murcia Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Índice 1 2 3 Objetivos de diseño del software de E/S Estructura del sistema de E/S Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Gestión avanzada de discos Sistemas RAID Reubicación de bloques Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Objetivos de diseño del software de E/S En 2o se vio que los objetivos del SW de E/S son: Independencia de dispositivo Útil la idea de dispositivos como ficheros Nombres uniformes de dispositivo Manejo de errores Sólo deben ser visibles los no subsanables automáticamente Conversión de transferencias ası́ncronas en sı́ncronas Para facilitar la construcción de programas Compartición y uso exclusivo de recursos En función de la naturaleza del dispositivo Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Objetivos de diseño adicionales en un SO moderno Entre los objetivos de diseño que debe perseguir el sistema de E/S de un SO moderno, tenemos: Obtener un buen rendimiento de la E/S (tanto en UP como en SMP) mediante el uso de buffers, DMA, etc. Proteger los recursos compartidos según una cierta polı́tica Proporcionar servicios adecuados para hacer que el desarrollo de manejadores (drivers) sea fácil y que dichos manejadores se pueden escribir en un lenguaje de alto nivel Permitir que los manejadores se carguen y descarguen dinámicamente, de forma automática o con intervención del usuario, cuando se añadan o eliminen dispositivos hardware Permitir que se puedan cargar manejadores que transparentemente modifiquen el comportamiento de otros Permitir que el sistema y los dispositivos individuales puedan cambiar a estados de bajo consumo para prolongar la vida de las baterı́as y ahorrar energı́a. Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Estructura genérica del sistema de E/S Para conseguir los objetivos de diseño, lo mejor es organizar el sistema de E/S en capas: Capa Solicitud de E/S Respuesta de E/S Funciones de E/S Procesos de usuario Hace llamadas de E/S; da formato a la E/S; spooling Software independiente del dispositivo Dar nombres, protección, bloqueos, uso de buffers, asignaciones Manejadores de dispositivo Inicializa los registros del dispositivo; comprueba el estado Manejadores de interrupciones Despierta al manejador al terminar la E/S Hardware Realiza la operación de E/S Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Estructura del sistema de E/S en Windows 2000 Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Componentes del sistema de E/S en Windows 2000 El administrador de E/S (I/O Manager ): Conecta a las aplicaciones y a los componentes del sistema con los dispositivos fı́sicos, lógicos y virtuales, y define la infraestructura que da soporte a los manejadores de dispositivo Los manejadores de dispositivo (Device Drivers): Procesan las órdenes que les llegan desde el administrador de E/S e informan a éste cuando las órdenes se completan Utilizan al administrador de E/S para reenviar las órdenes a otros manejadores El administrador de Plug and Play (PnP Manager ): Trabaja estrechamente con el administrador de E/S y los manejadores de bus para asignar recursos a los dispositivos (puertos e interrupciones) y para detectar y responder a la inserción y eliminación de dispositivos También es responsable (junto con los manejadores de bus y el administrador de PnP en espacio de usuario) de cargar los manejadores adecuados Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Componentes del sistema de E/S en Windows 2000 El administrador de energı́a (Power Manager ): Trabaja estrechamente con el administrador de E/S para guiar al sistema y a los manejadores de dispositivo en las transiciones entre los diferentes estados de energı́a El registro: Sirve como base de datos para almacenar la descripción de cada dispositivo ası́ como la configuración para su manejador Los ficheros .INF: Son ficheros para la instalación de manejadores Describen el dispositivo con el que se corresponden, el origen y el destino de los ficheros del manejador, modificaciones en el registro necesarias y dependencias entre manejadores La capa de abstracción del hardware (HAL): Aisla a los manejadores de los detalles del procesador y del controlador de interrupciones Es el manejador de bus de todos aquellos dispositivos de la placa base que no son controlados por otros manejadores Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play El administrador de E/S de Windows 2000 Define el entorno ordenado o modelo en el que las peticiones de E/S se entregan a los manejadores Basado en paquetes: la mayorı́a de las peticiones de E/S se representan por un ((paquete de petición de E/S)) (I/O request packet, IRP) que viaja de un componente del sistema de E/S a otro Un IRP es una estructura de datos que contiene información que describe completamente una petición de E/S El administrador de E/S crea un IRP que representa una operación de E/S y pasa un puntero al IRP al manejador correspondiente El manejador recibe el IRP, lo procesa y lo devuelve al administrador de E/S, indicándole bien que la operación ha terminado, bien que debe pasar el IRP a otro manejador Finalmente, el administrador de E/S elimina el IRP Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play El administrador de E/S de Windows 2000 Además de gestionar los IRP, el administrador de E/S: proporciona funciones de apoyo y temporizadores a los manejadores gestiona los buffers para las peticiones de E/S controla qué manejadores de sistemas de ficheros están cargados colabora con el administrador de memoria virtual para proporcionar E/S de ficheros proyectados en memoria es responsable del administrador de caché, etc. Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Manejadores de dispositivo en Windows 2000 En W2K, todas las peticiones de E/S se tratan como si se realizaran sobre un fichero Los manejadores convierten dichas peticiones sobre ficheros virtuales en peticiones especı́ficas del hardware W2K soporta varios tipos diferentes de manejadores, entre los que destacan los manejadores WDM: Cumplen con el Windows Driver Model Son compatibles, a nivel de código fuente (a veces, también, binario), con Windows 98, Windows ME y Windows 2000 Divididos en tres tipos: Manejadores de bus Manejadores de función Manejadores de filtro En WDM, ningún manejador controla todos los aspectos de un dispositivo Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Manejadores de dispositivo en Windows 2000 Manejadores de bus. Gestionan un bus fı́sico o lógico. Son responsables de detectar los dispositivos conectados y de informar al administrador de PnP de ello Manejadores de función. Gestionan un tipo particular de dispositivo y exportan la interfaz operacional de cada dispositivo al sistema operativo Manejadores de filtro. Se sitúan por encima o por debajo de un manejador de función ampliando o cambiando el comportamiento de un dispositivo o de otro manejador Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Manejadores de dispositivo en Windows 2000 Los manejadores WDM deben cumplir los siguientes requisitos: Ser capaces de aceptar y procesar paquetes IRP. Permitir que se añadan o quiten dispositivos Plug-and-Play dinámicamente Administrar el consumo eléctrico del dispositivo Ser configurables (debe ser posible especificar las interrupciones o puertos a usar) Ser reentrantes Microsoft proporciona un conjunto de herramientas, llamado Driver Development Kit (DDK), que ayuda a construir manejadores de dispositivo que se ajusten al modelo WDM Además de los manejadores que se ejecutan en modo núcleo, también hay ((manejadores)) a nivel de usuario (como los de impresora) Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Funcionamiento de los manejadores en W2K Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Estructura de un manejador de dispositivo Los manejadores deben ajustarse a una estructura o interfaz definida por el SO para que: su desarrollo sea sencillo, al proporcionar el SO funciones auxiliares que desarrollan tareas comunes a los manejadores se puedan cargar y descargar dinámicamente Operating system Disk driver Printer driver Keyboard driver (a) Operating system Disk driver Printer driver Keyboard driver (b) La interfaz queda definida por un conjunto de funciones concretas que el manejador debe implementar (aunque puede haber varias clases de dispositivo y varias interfaces) Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Estructura de un manejador en W2K Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Funciones a implementar por un manejador en W2K Rutina de inicialización (Driver Entry ) Se ejecuta cuando se carga el manejador Rutina de descarga Se ejecuta cuando se descarga el manejador Rutina AddDevice Implementada por manejadores que soportan Plug-and-Play Un conjunto de rutinas de tratamiento Son las funciones principales que un manejador proporciona, como open, close, read y write Cuando se realiza una operación de E/S, el administrador de E/S genera un IRP e invoca al manejador a través de una de estas rutinas Una rutina de servicio de interrupción (ISR) Se ejecuta cuando el dispositivo produce una interrupción Simplemente encola una llamada a procedimiento diferido (DPC) Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Funciones a implementar por un manejador en W2K Una rutina DPC para servir la interrupción Termina el tratamiento de la interrupción Inicia la siguiente operación de E/S para el dispositivo que se encuentre en la cola Una o más rutinas de terminación de E/S Ejecutadas por el administrador de E/S para indicar que otro manejador ha terminado de procesar un IRP Informan sobre el éxito, fracaso o cancelación de la operación Una o más rutinas de cancelación de E/S Son funciones que el manejador puede asociar a IRPs que pueden ser cancelados Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Plug and Play (PnP) El SO debe reconocer y adaptarse a las configuraciones de hardware cambiantes El SO debe facilitar al usuario la instalación y el uso de nuevo hardware Debe ocultar, en la medida de lo posible, los detalles de interrupciones y puertos Debe seleccionar el driver adecuado si existe o facilitar al usuario la instalación de uno nuevo Para un adecuado soporte PnP es necesario que haya cooperación en tres niveles: hardware, drivers y SO. En el caso del hardware, la industria define estándares para la enumeración e identificación de los dispositivos conectados a los buses Dichos mecanismos de enumeración e identificación son la base para el soporte PnP Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Plug and Play En Windows 2000, el soporte PnP lo lleva el PnP Manager que realiza las siguientes tareas: reconocimiento automático de los dispositivos instalados. Supone enumerar los que ya hay conectados durante el arranque y detectar la adicción y eliminación posterior de dispositivos asignación óptima de recursos hardware (interrupciones, memoria de E/S, registros de E/S, etc.) a los dispositivos conectados. Ya que se pueden añadir y eliminar dispositivos, debe ser posible una reasignación de recursos carga de drivers adecuados. En base a la identificación de un dispositivo, se busca y carga un driver adecuado. Si no existe, se pasa la tarea a la parte en modo usuario implementación de mecanismos para notificar a las aplicaciones y drivers de la presencia, adicción y eliminación de dispositivos Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Ejemplo de árbol de dispositivos tras enumeración Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Soporte para Plug and Play de los drivers 1 El PnP Manager, apoyándose en los drivers de bus, encuentra todos los dispositivos conectados 2 Para cada dispositivo, el PnP Manager carga los drivers de función y de filtro adecuados y ejecuta sus correspondientes rutinas AddDevice (en este punto, los drivers todavı́a no se comunican con sus dispositivos) 3 El PnP Manager envı́a la orden ((start-device)) a cada driver a través de su correspondiente rutina de servicio de PnP. Junto con la orden ((start-device)) se pasa también la asignación de recursos determinada por el PnP Manager que los drivers utilizan para configurar su dispositivo y empezar a trabajar con él Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Soporte para Plug and Play de los drivers (continuación) 4 Si la asignación de recursos de un dispositivo cambia: el PnP Manager envı́a la orden ((query-stop)) al driver si el driver puede, termina cualquier E/S pendiente y acepta el PnP Manager envı́a la orden ((stop)) y a continuación una orden ((start-device)) con la nueva configuración 5 Si un dispositivo se elimina: el PnP Manager envı́a la orden ((query-remove)) al driver si el driver puede, termina cualquier E/S pendiente y acepta el PnP Manager envı́a la orden ((remove)) el driver deja de acceder al dispositivo y libera cualquier recurso asignado que ya no sea necesario Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Diagrama de estados para un dispositivo Plug and Play Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Plug and Play en Linux En las últimas versiones del núcleo de Linux, el soporte Plug and Play se realiza, principalmente, en espacio de usuario: 1 Cuando se inserta (o elimina) un dispositivo, el manejador de bus lo detecta y el núcleo notifica al software (en modo usuario) que se ha producido un evento El evento será: “se ha conectado un nuevo dispositivo” o “se ha desconectado un dispositivo” 2 El software en modo usuario realizará las tareas necesarias, según el evento, para poder usar el dispositivo, (o dejar de usar): Es muy útil para crear el fichero especial del dispositivo conectado, cargar módulos, montar el dispositivo, . . . El objetivo es que al conectar un dispositivo se pueda usar directamente (sin intervención del usuario en el proceso de preparación) Incluye soporte para dispositivos USB y PCI (Cardbus), y puede automáticamente configurar algunos interfaces de red Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Plug and Play en Linux Udev ⇒ Manejador de dispositivos dinámicos (Userspace device manager) Recibe las notificaciones del núcleo sobre los eventos de cambios en el hardware y realiza las tareas oportunas: Proporciona un directorio de dispositivos, /dev/, dinámico, que contiene sólo los ficheros de los dispositivos conectados en un momento dado ⇒ Crea o elimina los ficheros especiales de dispositivo o renombra las interfaces de red, según se conectan o desconectan dispositivos Carga los módulos necesarios para manejar ese dispositivo Ejecuta programas de inicialización, si es necesario Mantiene una base de datos sobre los dispositivos presentes en el sistema El demonio udevd es el proceso encargado de hacer estas tareas cuando el núcleo le informa del evento producido Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Estructural general de la E/S Estructura de la E/S en Windows 2000 Estructura de un manejador de dispositivo Plug and Play Plug and Play en Linux El núcleo informa a udevd pasándole: Como parámetro el nombre del subsistema del núcleo especı́fico cuyo evento es procesado (“usb”, “scsi device”, “pci”, . . . ) En variables de entorno, información sobre la acción que se ha producido (“ACTION”, “DEVPATH”, . . . ) Al conectar un dispositivo ⇒ udevd lee del directorio SYSFS información sobre el mismo y obtiene sus atributos (como la etiqueta, el no de serie o el no del bus del dispositivo). Estos atributos determinan un nombre único que se asigna al fichero de dispositivo a crear Al desconectar un dispositivo ⇒ udevd obtiene de la base de datos el nombre del fichero de dispositivo a eliminar Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques Sistemas RAID RAID (Reduntant Array of Inexpensive (Independent) Disks): Consiste en combinar varios discos en un ((array)) capaz de alcanzar un rendimiento (y/o una capacidad) superior al de un sólo disco grande y caro Se pretende que varios discos modestos se comporten como un único disco profesional de alto rendimiento Se pueden implementar tanto por hardware (mediante un controlador especial) como por software (en el SO) Tienen la propiedad de que los datos se distribuyen entre las unidades de disco, para poder operar en paralelo Hay distintas organizaciones, siendo las más usadas las configuraciones RAID 0, RAID1, RAID 5 y algunas combinaciones de éstas (como RAID10 = RAID0 sobre RAID’s1) Problema: obtener una configuración óptima para una carga de trabajo concreta Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques RAID 0 El disco virtual único simulado por el RAID se considera dividido en franjas de k sectores cada una Franja 0: sectores 0 a k − 1 Franja 1: sectores de k a 2k − 1, . . . Se consigue E/S paralela sin que el software se entere de ello, pudiendo obtener un buen ancho de banda: Las escrituras de franjas consecutivas se reparten entre los discos de manera circular Las lecturas de franjas consecutivas se realizan sobre discos distintos ¿Tamaño de las franjas? Si pocos procesos y peticiones grandes ⇒ franjas grandes Si muchos procesos y peticiones pequeñas ⇒ franjas pequeñas No hay una fórmula mágica No hay redundancia de datos y la probabilidad de fallo aumenta Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques RAID 1 Se duplican los discos de forma que hay uno primario y otro de respaldo Al escribir, todas las franjas se escriben dos veces (una en cada disco) ⇒ el desempeño de las escrituras no es mejor que con una sola unidad de disco Al leer, se pueden usar cualquiera de las copias, distribuyendo la carga entre los discos ⇒ el desempeño de lectura puede ser hasta dos veces mejor Tiene una buena tolerancia a fallos: si una unidad no funciona, se usa la otra copia Para recuperar la unidad dañada se cambia por otra y se vuelve a copiar en ella todo lo que hay en la unidad sana La copia de todo se puede hacer en segundo plano mientras el sistema sigue funcionando (Linux) Un RAID 1 podrı́a extenderse a más de dos discos Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques RAID 4 y RAID 5 En una de las unidades de disco se calcula la paridad de las franjas almacenadas en los otros discos La paridad se debe recalcular cada vez que se modifica una franja: Se pueden leer todas las franjas y recalcular la nueva paridad O leer los datos antiguos de la franja a modificar y la paridad antigua y recalcular la nueva con los nuevos datos Protege contra la pérdida de una unidad de disco Tiene desempeño bajo para actualizaciones pequeñas Problema: la unidad de disco que guarda la paridad se convierte en un cuello de botella RAID 5: igual que un RAID 4, pero distribuye la franja de paridad de manera uniforme entre todas las unidades Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques Posibles sistemas RAID (a) (b) Strip 0 Strip 1 Strip 4 Strip 5 Strip 6 Strip 7 Strip 8 Strip 9 Strip 10 Strip 2 Strip 11 Strip 0 Strip 1 Strip 3 Strip 0 Strip 1 Strip 4 Strip 5 Strip 6 Strip 7 Strip 4 Strip 5 Strip 6 Strip 7 Strip 8 Strip 9 Strip 10 Strip 11 Strip 8 Strip 9 Strip 10 Strip 11 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Strip 2 Strip 3 RAID level 0 Bit 1 Bit 2 Bit 3 Bit 4 RAID level 1 Parity RAID level 3 (d) (f) Strip 3 RAID level 2 (c) (e) Strip 2 Strip 0 Strip 1 Strip 4 Strip 5 Strip 6 Strip 7 P4-7 Strip 8 Strip 9 Strip 10 Strip 2 Strip 11 Strip 3 P8-11 Strip 0 Strip 1 Strip 2 Strip 4 Strip 5 Strip 6 P4-7 Strip 8 Strip 9 P8-11 Strip 10 Strip 11 RAID level 5 Strip 12 P12-15 Strip 13 Strip 14 Strip 15 P16-19 Strip 16 Strip 17 Strip 18 Strip 19 Strip 3 Juan Piernas Cánovas P0-3 RAID level 4 P0-3 Strip 7 Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques Reubicación de bloques de disco Consiste en situar los bloques más usados de disco juntos o de alguna otra manera tal que se mejore el rendimiento global La reubicación puede ser transparente para el sistema de ficheros o no (como en una defragmentación) Ejemplo de técnica transparente (Akyürek y Salem): Funcionamiento: La reubicación la hace el manejador (driver ) de disco al final del dı́a según los datos estadı́sticos recogidos Los datos estadı́sticos identifican a los bloques ((calientes)) Los bloques calientes (es decir, los más usados) se copian a una zona reservada en la mitad del disco Un bloque que deja de ser caliente vuelve a su posición original Técnica útil para cargas de trabajo en las que se accede con mucha frecuencia a un conjunto pequeño de bloques Defectos: no tiene en cuenta las caracterı́sticas de los discos modernos ni los patrones de acceso Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S Objetivos de diseño del software de E/S Estructura del sistema de E/S Gestión avanzada de discos Sistemas RAID Reubicación de bloques Bibliografı́a David A. Solomon and Mark E. Russinovich. ((Inside Microsoft Windows 2000)), 3a edición, capı́tulo 9. Microsoft Press, 2000 Andrew Tanenbaum. ((Sistemas Operativos Modernos)), 2a edición, capı́tulo 5. Prentice Hall, 2003 William Stallings. ((Sistemas Operativos)), 4a edición, capı́tulo 11. Prentice Hall, 2001 Abraham Silberschatz y Peter B. Galvin. ((Sistemas Operativos)), 5a edición, capı́tulos 12 y 13. Addison Wesley Longman, 1999 Juan Piernas Cánovas Tema 6. Gestión avanzada de la E/S