Unidad5
-
Upload
universidad-autonoma-de-nayarit -
Category
Documents
-
view
215 -
download
0
description
Transcript of Unidad5
Gestión de E/S y planificación de discos
Unidad 5
Categorías de dispositivos de entrada/salida
• Dispositivos legibles por los humanos:– Apropiados para la comunicación con el
usuario.– Impresoras.– Terminales de vídeo:
• Pantalla.• Teclado.• Ratón.
Categorías de dispositivos de entrada/salida
• Dispositivos legibles por la máquina:– Adecuados para comunicarse con equipos
electrónicos.– Discos y unidades de cinta.– Sensores.– Controladores.– Impulsores.
Categorías de dispositivos de entrada/salida
• Dispositivos de comunicaciones:– Apropiados para comunicarse con
dispositivos lejanos.– Adaptadores de líneas digitales.– Módem.
Diferencias entre las clases de dispositivos de E/S
• Velocidad de los datos:– Puede haber una diferencia de varios
órdenes de magnitud en las velocidades de transmisión de datos.
Ethernet de gigabit
Pantalla gráfica
Disco duro
Ethernet
Disco óptico
Escáner
Impresora láser
Disco flexible
Módem
Ratón
Teclado
Velocidad de datos (bps)
Figura 11.1. Velocidades de datos de dispositivos de E/S típicos.
101 102 103 104 105 106 107 108 109
Diferencias entre las clases de dispositivos de E/S
• Aplicaciones:– Un disco que almacena archivos necesita el
soporte de un software de gestión de archivos.
– Un disco usado como almacén de páginas de un sistema de memoria virtual necesita el soporte de un software y de un hardware especial.
– Puede que un terminal usado por el administrador del sistema tenga una prioridad mayor.
Diferencias entre las clases de dispositivos de E/S
• Complejidad del control.
• Unidad de transferencia:– Los datos pueden transmitirse como flujos
de bytes para un terminal o en bloques mayores para un disco.
• Representación de los datos:– Esquemas de codificación.
• Condiciones de error:– Cada dispositivo responde a los errores de
diferente manera.
Técnicas para realizar la E/S
• E/S programada:– El proceso espera a que termine la
operación.
• E/S dirigida por interrupciones:– Se emite una orden de E/S.– El procesador continúa con la ejecución de
las instrucciones.– El módulo de E/S lo interrumpe cuando
completa su trabajo.
Técnicas para realizar la E/S
• Acceso directo a la memoria (DMA):– Un módulo de DMA controla el
intercambio de datos entre la memoria principal y el dispositivo de E/S.
– El procesador se interrumpe sólo cuando se ha transferido el bloque entero.
Evolución de las funciones de la E/S
• El procesador controla directamente los dispositivos periféricos.
• Se añade un controlador o módulo de E/S:– El procesador utiliza E/S programada sin
interrupciones.– El procesador se aisla de los detalles
específicos de las interfaces con dispositivos externos.
Evolución de las funciones de la E/S
• Controlador o módulo de E/S con interrupciones:– El procesador no tiene que desperdiciar
tiempo esperando a que se realice una operación de E/S.
• Acceso directo a la memoria:– Se puede mover un bloque de datos a la
memoria sin que intervenga el procesador.– El procesador sólo interviene al principio y
al final de la transferencia.
Evolución de las funciones de la E/S
• El módulo de E/S es un procesador separado.
• Procesador de E/S:– El módulo de E/S posee su propia memoria
local.– Es un computador independiente.
Acceso directo a la memoria
• Toma el control del sistema desde la CPU para transferir datos desde y hacia la memoria a través del bus del sistema.
• Se utiliza el robo de ciclos para transferir datos a través del bus del sistema.
• El ciclo de instrucción se suspende para dar paso a la transferencia de datos.
• La CPU espera un ciclo del bus. • No existe interrupción alguna:
– No salva el contexto.
DMA
Cuenta
de datos
Registros
de datos
Registros
de dirección
Lógica
de control
Líneas de datos
Líneas de direcciones
Solicitud de DMAReconocimiento de
DMAInterrupciónLectura
Escritura
Figura 11.2. Diagrama de bloques de un DMA típico.
DMA
• El robo de ciclos hace que la CPU ejecute más lentamente.
• El número de ciclos de bus requeridos se puede acortar mediante la integración de las funciones del DMA y de la E/S.
• Debe haber un camino entre el módulo de DMA y el módulo de E/S que no pasen por el bus del sistema.
Tiempo
Ciclo de instrucción
Ciclo del
procesador
Ciclo del
procesador
Ciclo del
procesador
Ciclo del
procesador
Ciclo del
procesador
Ciclo del
procesador
Leer
instrucción
Leer
operando
Descodificar
instrucción
Ejecutar
instrucción
Almacenar
resultado
Interrupción
del proceso
Puntos de
ruptura por DMAPuntos de ruptura
por interrupción
Figura 11.3. Puntos de ruptura por DMA y por interrupción en un ciclo de instrucción.
DMA
Procesador DMA E/S E/S Memoria
(a) DMA separada de bus sencillo
- Estructura sencilla y barata.
- El módulo realiza la transferencia entre Memoria y los dispositivos de E/S a través del módulo DMA, por lo que consume 2 ciclos de bus por cada palabra transferida, como en la E/S programada
DMA
(b) DMA integrada de bus sencillo
Figura 11.4. Configuraciones posibles de DMA.
Procesador DMA DMA
E/S
E/S E/S
Memoria
- El módulo DMA está conectado directamente a uno o más bloques de E/S, de modo que la transferencia de datos no emplea el bus del sistema.
- El intercambio de datos entre DMA y los módulos de E/S se realiza fuera del bus de sistema
DMA
Figura 11.4. Configuraciones posibles de DMA.
(c) Bus de E/S
Procesador DMA
E/S E/S E/S
Memoria
Bus del sistema
Bus de E/S
- Los módulos de E/S están conectados al DMA a mediante un bus
- La configuración es fácilmente ampliable
- El intercambio de datos entre DMA y los módulos de E/S se realiza fuera del bus de sistema
Canales de E/S
- Extensión del concepto de DMA, donde cada canal tiene control absoluto de las operaciones de E/S.
- Las instrucciones de E/S se almacenan en memoria principal, pero son ejecutadas completamente en un procesador de propósito específico situado en el propio canal. Tipos:
Canal selector
CanalSelector
Controladorde E/S
Controladorde E/S
Señales de controlde la CPU
Canal de Datos y direccionescon la Memoria Principal
Canal Multiplexor
CanalMultiplexor
A la CPU
A la Memoria Principal
Controladorde E/S
Controladorde E/S
Controladorde E/S
Controladorde E/S
Aspectos de diseño en los sistemas operativos
• Eficiencia:– La mayoría de los dispositivos de E/S son
extremadamente lentos en comparación con la memoria principal.
– El uso de la multiprogramación permite que algunos procesos esperen en operaciones de E/S mientras otro proceso se está ejecutando.
– La E/S no puede seguir el paso de la actividad del procesador.
– Se utiliza el intercambio para introducir más procesos listos, que es una operación de E/S.
Aspectos de diseño en los sistemas operativos
• Generalidad:– Es preferible gestionar todos los
dispositivos de E/S de una manera uniforme.
– Oculta la mayoría de los detalles de la E/S con dispositivos en rutinas de bajo nivel, de forma que los procesos y los niveles superiores contemplen a los dispositivos en términos generales, como la lectura, escritura, apertura, cierre, bloqueo y desbloqueo.
Comunicación con un dispositivo periférico local
Procesos deUsuario
E/S lógica
E/S condispositivos
Planificacióny Control
Hardware
Trata al dispositivo como un recurso lógico, sinpreocuparse de los detalles de control del dispositivoparticular. Proporciona identificadores y operaciones de lectura, escritura, apertura y cierre
Convierte las operaciones en secuencias de instrucciones
de E/S, comandos para el canal y ordenes al controlador
Planificación, encolado y control de las operaciones de E/S. Manejo de interrupciones. Se encarga de realizar la comunicación con el hardware.
Dispositivo de comunicaciones
Procesos deUsuario
Arquitectura deComunicaciones
E/S condispositivos
Planificacióny Control
Hardware
Reemplaza a la E/S lógica. Puede constar de varios niveles. Un ejemplo puede ser la arquitectura TCP/IP.
Sistema de archivos
Procesos deUsuario
Gestión de directorios
Sistema deArchivos
OrganizaciónFísica
E/S condispositivos
Planificacióny Control
Hardware
Traducción de nombres a identificadores de fichero. Operaciones que tienen que ver con la gestion de directorios: Añadir, Borrar, Reorganizar
Estructura lógica de los archivos. Operaciones especificadas por el usuario: Abrir, Cerrar, Leer, Escribir. Gestión de derechos de acceso
Conversión de “direcciones” lógicas a direcciones físicas del almacenamiento secundario. Asignación de espacio en el almacenamiento secundario (disco) y principal (buffers)
Almacenamiento intermedio de la E/S
• Razones para el almacenamiento intermedio:– Los procesos deben esperar a que termine la
operación de E/S para continuar. – Algunas páginas deben permanecer en la
memoria principal durante la E/S.
Almacenamiento intermedio de la E/S
• Dispositivos orientados a bloque:– La información se almacena en bloques de
tamaño fijo.– Las transferencias de un bloque se realizan
cada vez. – Se utilizan para los discos y las cintas.
• Dispositivos orientados a flujo:– Transfieren los datos como una serie de bytes. – Se utilizan para los terminales, impresoras,
puertos de comunicación, ratones y otros dispositivos que no son de almacenamiento secundario.
Memoria intermedia sencilla
• El sistema operativo asigna a una solicitud de E/S un espacio en la parte del sistema de la memoria principal.
• Dispositivos orientados a bloque:– Las transferencias de entrada se realizan en
el espacio del sistema. – Cuando sea necesario, el proceso mueve el
bloque al espacio del usuario. – El proceso mueve otro bloque al espacio:
• Lectura por adelantado.
Almacenamiento intermedio de E/S
Sistema operativo Proceso de usuario
(a) Sin almacenamiento intermedio
Sistema operativo Proceso de usuario
Dispositivo de E/S
Dispositivo de E/S
Entrar
Entrar Mover
(b) Almacemiento intermedio sencillo
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
Memoria intermedia sencilla
• Dispositivos orientados a bloque:– El proceso de usuario puede procesar un
bloque de datos mientras se está leyendo el siguiente.
– Se puede dar el intercambio, ya que la entrada tiene lugar en la memoria del sistema y no en la memoria de usuario.
– El sistema operativo debe guardar constancia de las asignaciones de memorias intermedias del sistema a procesos de usuario.
Memoria intermedia sencilla
• Dispositivos orientados a flujo:– Se aplica por líneas.– La entrada del ususario a partir de un
terminal se realiza por líneas, marcadas con un retorno de carro al final de la misma.
– La salida al terminal es línea a línea.
Memoria intermedia sencilla
Memoria intermedia doble
• Utiliza dos almacenes intermedios del sistema en lugar de uno.
• Un proceso puede transferir datos hacia o desde una memoria intermedia mientras que el sistema operativo vacía o rellena el otro.
Memoria intermedia circular
• Se usan más de dos memorias intermedias.
• Cada memoria intermedia individual constituye una unidad de la memoria intermedia circular.
• Se usan cuando las operaciones de E/S han de ir al ritmo del proceso.
Almacenamiento intermedio de E/S
Sistema operativo
Sistema operativo
Proceso de usuario
Proceso de usuario
Dispositivo de E/S
Dispositivo de E/S
Entrar
Entrar Mover
Mover
(c) Almacenamiento intermedio doble
(d) Almacenamiento intermedio circular
Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada).
Parámetros de rendimiento del disco
• Para leer o escribir, la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente.
• Tiempo de búsqueda:– Es el tiempo que se tarda en ubicar la
cabeza en la pista deseada.
• Retardo o latencia de giro:– Es el tiempo que tarda el comienzo del
sector en llegar hasta la cabeza.
Media del tiempo de una transferencia de E/S a disco
Figura 11.7. Media del tiempo de una transferencia de E/S a disco.
BúsquedaEspera por
dispositivo
Espera por
canalRetardo
de giro
Transferencia
de datos
Dispositivo ocupado
Parámetros de rendimiento del disco
• Tiempo de acceso:– Es la suma del tiempo de búsqueda y el
retardo de giro.– Es decir, es el tiempo que se tarda en llegar
a la posición de lectura o escritura.
• La transferencia de datos tiene lugar a medida que el sector se mueve bajo la cabeza.
Políticas de planificación del disco
• La razón de la diferencia en el rendimiento puede encontrarse en el tiempo de búsqueda.
• Para un disco sencillo, habrá un número de solicitudes de E/S.
• Si se eligen las solicitudes en un orden aleatorio, se obtendrá el peor rendimiento posible.
Políticas de planificación del disco
• Primero en entrar, primero en salir (FIFO):– Las solicitudes se procesan en un orden
secuencial.– Es una estrategia justa para todos los
procesos. – Esta técnica se parece mucho a la
planificación aleatoria si hay muchos procesos.
Políticas de planificación del disco
• Prioridad (PRI):– No persigue la optimización del uso del
disco, sino cumplir con otros objetivos. – Los trabajos por lotes que sean cortos tienen
una prioridad más alta. – Proporciona un buen tiempo de respuesta
interactiva.
Políticas de planificación del disco
• Último en entrar, primero en salir (LIFO):– Buena política para los sistemas de proceso
de transacciones:• El hecho de conceder el dispositivo al último
usuario acarrea pocos o nulos movimientos del brazo.
– Existe la posibilidad de inanición, ya que puede que el trabajo no vuelva a ganar la cabeza de la línea.
Políticas de planificación del disco
• Primero el tiempo de servicio más corto (SSTF):– Elegir la solicitud de E/S a disco que
requiera el menor movimiento posible del brazo del disco desde su posición actual.
– Siempre se elige procurando el mínimo tiempo de búsqueda.
Políticas de planificación del disco
• SCAN:– El brazo sólo se puede mover en un sentido,
resolviendo todas las solicitudes pendientes de su ruta hasta que alcance la última pista o hasta que no haya más solicitudes en esa dirección.
– Se produce un cambio en la dirección.
Políticas de planificación del disco
• C-SCAN:– Restringe el rastreo a una sola dirección. – Cuando se haya visitado la última pista en
un sentido, el brazo vuelve al extremo opuesto del disco y comienza a recorrerlo de nuevo.
Políticas de planificación del disco
• SCAN de N pasos:– Divide la cola de solicitudes del disco en
subcolas de longitud N. – Las subcolas se procesan una a una
mediante un SCAN. – Mientras se procesa una cola, se añadirán
nuevas solicitudes a las otras.
• FSCAN:– Emplea dos subcolas.– Una de las colas permanece vacía en espera
de nuevas solicitudes.
Algoritmos de planificación del disco
Tabla 11.3. Algoritmos de planificación de disco [WIED87].
Nombre Descripción Comentarios
Selección en función del demandante:
Selección en función del elemento solicitado:
Planificación aleatoria
Primero en entrar, primero en salir
Prioridad del proceso
Último en entrar, primero en salir
Para análisis y simulación
El más justo de todos
El control se lleva fuera de la gestión de
la cola del disco
Maximiza el uso de recursos y cercanía
Primero el más corto
Recorre el disco de un lado a otro
Recorre el disco en un solo sentido
SCAN de N registros a la vez
SCAN de N pasos, con N =longitud de la cola al comienzo del ciclo del SCAN
Gran aprovechamiento y colas pequeñas
Mejor distribución del servicio
Menor variabilidad en el servicio
Garantía de servicio
Sensible a la cargaSCAN de N pasos
FSCAN
C-SCAN
SCANSSTF
LIFO
PRI
FIFO
RSS
RAID 0 (no redundante)
Figura 11.9A. Niveles RAID.
banda 0 banda 3banda 2banda 1
banda 7
banda 11
banda 13
banda 9
banda 5
banda 12
banda 8
banda 4
banda 14
banda 10
banda 6
banda 15
(a) RAID 0 (no redundante)
banda 0
banda 1
banda 2
banda 3
banda 4
banda 5
banda 6
banda 7
banda 8
banda 9
banda 10
banda 11
banda 12
banda 13
banda 14
banda 15
banda 1banda 0 banda 2 banda 3
banda 4 banda 5 banda 6 banda 7
banda 8 banda 9 banda 10 banda 11
banda 12 banda 13 banda 14 banda 15
Disco lógico
Disco
físico 0
Disco
físico 1
Disco
físico 2
Disco
físico 3
Software
de gestión
del vector
RAID 1 (espejo)
banda 0 banda 1
banda 13
banda 11banda 10
banda 7banda 6
banda 12
banda 8
banda 4
banda 3banda 2
banda 5
banda 9
banda 15banda 14
banda 0
banda 8
banda 1
banda 5
banda 9
banda 13
banda 2
banda 6
banda 10
banda 14 banda 15
banda 11
banda 7
banda 3
banda 12
banda 4
(b) RAID 1 (espejo)
RAID 2 (redundancia mediante código Hamming)
Figura 11.9A. Niveles RAID.
(c) RAID 2 (redundancia mediante código Hamming)
b0 b1 b2 b3 F4(b) F1(b) F2(b)
RAID 3 (paridad por intercalación de bits)
Figura 11.9B. Niveles RAID.
(d) RAID 3 (paridad por intercalación de bits)
b0 b1 b2 b3 P(b)
RAID 4 (paridad por intercalación de bloques)
(e) RAID 4 (paridad por intercalación de bloques)
bloque 0
bloque 4
bloque 8
bloque 13
bloque 9
bloque 6
bloque 11
bloque 7
bloque 2
bloque 12
bloque 1
bloque 5
bloque 10
bloque 14 bloque 15
bloque 3 P(0-3)
P(4-7)
P(8-11)
P(12-15)
RAID 5 (paridad por intercalación distribuida de bloques)
(f) RAID 5 (paridad por intercalación distribuida de bloques)
bloque 0
P(16-19)
P(12-15)
bloque 4
bloque 8
bloque 12
bloque 1
bloque 5
bloque 9
bloque 16
bloque 2
bloque 6
P(8-11)
bloque 13
bloque 17
P(4-7)
bloque 3
bloque 10
bloque 14
bloque 18
P(0-3)
bloque 7
bloque 11
bloque 15
bloque 19
RAID 6 (redundancia dual)
(g) RAID 6 (redundancia dual)
bloque 0
bloque 4
bloque 8
bloque 7
bloque 11
bloque 2bloque 1
bloque 14bloque 13bloque 12
bloque 5 bloque 6
bloque 3
bloque 10
bloque 15P(12-15)
bloque 9 P(8-11)
Q(12-15)
P(4-7)
Q(8-11)
P(0-3)
Q(4-7)
Q(0-3)
Cache de disco
• Es una memoria intermedia situada en la memoria principal para sectores de disco.
• Contiene una copia de algunos sectores del disco.
Usado Menos Recientemente (LRU)
• Se reemplaza el bloque que ha permanecido sin referencias en la cache durante más tiempo.
• La cache está formada por una pila de bloques.
• El bloque referenciado más recientemente está en la cima de la pila.
• Cuando se hace referencia un bloque de la cache, se le mueve hasta la cima de la pila.
Usado Menos Recientemente
• Cuando se trae un bloque nuevo, se elimina el bloque que está en el fondo de la pila.
• En realidad estos bloques no se mueven por la memoria principal.
• Se utiliza una pila de punteros.
Usado Menos Frecuentemente (LFU)
• Se sustituye el bloque que ha sufrido un menor número de referencias.
• Se asocia un contador a cada bloque.• Con cada referencia al bloque, el contador se
incrementa.• Cuando hace falta un reemplazo, se selecciona
el bloque con menor valor del contador.• Puede que se haga referencia a algunos
bloques a intervalos cortos de referencias repetidas y que, por lo tanto, no necesiten ser referenciados nuevamente .
E/S en UNIX SVR4
Subsistema de archivos
Cache de buffers
Carácter Bloque
Gestor de dispositivo
Figura 11.14. Estructura de la E/S en UNIX.
E/S en WINDOWS 2000
Gestor de E/S
Gestorde cache
Controladores desistema de archivos
Controladores dered
Controladores dedispositivos hardware
Figura 11.16. Gestión de E/S en Windows 2000.