Tema 6. Gestión avanzada de la E/S

Anuncio
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
Descargar