Unidad5

64
Gestión de E/S y planificación de discos Unidad 5

description

Presentación U5. de la materia de S.O

Transcript of Unidad5

Page 1: Unidad5

Gestión de E/S y planificación de discos

Unidad 5

Page 2: Unidad5

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.

Page 3: Unidad5

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.

Page 4: Unidad5

Categorías de dispositivos de entrada/salida

• Dispositivos de comunicaciones:– Apropiados para comunicarse con

dispositivos lejanos.– Adaptadores de líneas digitales.– Módem.

Page 5: Unidad5

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.

Page 6: Unidad5

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

Page 7: Unidad5

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.

Page 8: Unidad5

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.

Page 9: Unidad5

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.

Page 10: Unidad5

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.

Page 11: Unidad5

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.

Page 12: Unidad5

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.

Page 13: Unidad5

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.

Page 14: Unidad5

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.

Page 15: Unidad5

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.

Page 16: Unidad5

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.

Page 17: Unidad5

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.

Page 18: Unidad5

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

Page 19: Unidad5

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

Page 20: Unidad5

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

Page 21: Unidad5

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:

Page 22: Unidad5

Canal selector

CanalSelector

Controladorde E/S

Controladorde E/S

Señales de controlde la CPU

Canal de Datos y direccionescon la Memoria Principal

Page 23: Unidad5

Canal Multiplexor

CanalMultiplexor

A la CPU

A la Memoria Principal

Controladorde E/S

Controladorde E/S

Controladorde E/S

Controladorde E/S

Page 24: Unidad5

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.

Page 25: Unidad5

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.

Page 26: Unidad5

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.

Page 27: Unidad5

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.

Page 28: Unidad5

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)

Page 29: Unidad5

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.

Page 30: Unidad5

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.

Page 31: Unidad5

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.

Page 32: Unidad5

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).

Page 33: Unidad5

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.

Page 34: Unidad5

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.

Page 35: Unidad5

Memoria intermedia sencilla

Page 36: Unidad5

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.

Page 37: Unidad5

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.

Page 38: Unidad5

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).

Page 39: Unidad5

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.

Page 40: Unidad5

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

Page 41: Unidad5

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.

Page 42: Unidad5

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.

Page 43: Unidad5

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.

Page 44: Unidad5

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.

Page 45: Unidad5

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.

Page 46: Unidad5

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.

Page 47: Unidad5

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.

Page 48: Unidad5

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.

Page 49: Unidad5

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.

Page 50: Unidad5

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

Page 51: Unidad5

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)

Page 52: Unidad5

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

Page 53: Unidad5

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)

Page 54: Unidad5

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)

Page 55: Unidad5

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)

Page 56: Unidad5

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)

Page 57: Unidad5

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

Page 58: Unidad5

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)

Page 59: Unidad5

Cache de disco

• Es una memoria intermedia situada en la memoria principal para sectores de disco.

• Contiene una copia de algunos sectores del disco.

Page 60: Unidad5

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.

Page 61: Unidad5

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.

Page 62: Unidad5

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 .

Page 63: Unidad5

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.

Page 64: Unidad5

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.