Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque. ...

40
Gestión de E/S y planificación de discos Tema 7

Transcript of Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque. ...

Page 1: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

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

Tema 7

Page 2: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 2

Dispositivos

• D. de bloque. Información en unidades de tamaño fijo. Cada unidad con su propia dirección. Posible lectura aleatoria de los bloques. Ej. Discos

• D. de carácter. La información en flujos o chorros continuos de datos. Ej. Impresoras, ratones, cintas, red, etc.

Tipos de dispositivos.

Page 3: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 3

Técnicas para realizar la E/S

Tipos de 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.

Evolución1. Procesador controla dispositivos y periféricos.

2. Controlador: Aísla al procesador de los detalles del HW.

3. IRQ+punto2: La CPU no ha de esperar por las I/O.

4. DMA: Control de la I/O a MEM sin interrumpir la CPU.

5. Procesador adicional para la I/O.

6. Módulo de MEM (local) y CPU: Mayor nº de dispositivos controlables.

• Tendencia: Liberar a la CPU de las tareas de I/O.

Page 4: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 4

Acceso directo a la memoria (DMA)

DMA 1• 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 5: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 5

Acceso directo a la memoria (DMA)

DMA 2• Imita a la CPU en la carga a MEM.• Funciona cuando:

Cuando la CPU no hace uso del BUS. Si es capaz de requisar el bus a la CPU.

• Operación (sin DMA): Controladora lee bloque buffer. Cálculo de suma de verificación. IRQ de la controladora. SO: bucle de lectura del registro de la controladora y paso a MEM.

• Operación (con DMA): La CPU pasa a controladora/DMA: dirección del bloque a leer, dirección de MEM,

Nº de bits a transferir.

Page 6: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 6

Acceso directo a la memoria (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 7: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 7

Acceso directo a la memoria (DMA)

Por robo de ciclos (el más extendido)• 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 8: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

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 9: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 9

Acceso directo a la memoria (DMA)

Figura 11.4. Configuraciones posibles de DMA.

Procesador DMA E/S E/S Memoria

(a) DMA separada de bus sencillo

Page 10: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 10

Acceso directo a la memoria (DMA)

(b) DMA integrada de bus sencillo

Figura 11.4. Configuraciones posibles de DMA.

Procesador DMA DMA

E/S

E/S E/S

Memoria

Page 11: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 11

Acceso directo a la memoria (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

Page 12: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 12

Discos

Page 13: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 13

Lectura de discos.

• Parte electrónica del dispositivo.• Interface homogénea.• Aíslan al SO de las particularidades del dispositivo. • Comunicación: Mediante registros en CPU o en controladora (bajo nivel).

1. Del dispositivo sale un flujo de datos: prologo (nº cilindro, nº sector, tamaño), datos, suma de verificación.

2. Controladora convierte el flujo en bloques, libres de error.3. Bloque buffer (suma de error) => copia a MEM

Controladora

Page 14: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 14

Lectura de discos.

• Software dependiente del dispositivo.• Cada driver un dispositivo.• Acceso a los registros del dispositivo.• Secuencia:

Petición, traducción de la petición (independiente del dispositivo) a términos de

bajo nivel (posición bloques, cantidad e información, etc.)

Driver de dispositivo

Page 15: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 15

Lectura de discos.

• Petición: En registros de la controladora.1. Prologo+Flujo de datos+suma errores

2. Conversión: flujo bloques.

3. Bloque buffer.

4. Cálculo de suma/error.

5. Buffer memoria.

• Tras la lectura IRQ

• Diseño: Eficacia: I/O lenta => multiprogramación Generalidad: Gestión común de dispositivos. Abstracción.

Lectura en HD: Petición.

Page 16: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 16

Lectura de discos.

• Discos duros: 1 cabeza por pista.• Posición sobre las pista: tiempo de búsqueda.

Es el tiempo que se tarda en ubicar la cabeza en la pista deseada. tarranque + t recorrido (aprox. Lineal nº pistas) t recorrido= m* nºpistas Ej.

• m = 0.3 - 0.1 ms• tarranque = 20 – 3 ms

• Esperar paso del sector: latencia rotacional. Es el tiempo que tarda el comienzo del sector en llegar hasta la cabeza. LR = T/2 (T periodo de giro). Ej.: 3600 rpm => T=16.7 ms => LR = 8.3ms Ej.: floppy | 300-600 rpm => LR = 100-200ms

• Lectura de datos: Tiempo de transferencia. TT= Nº bytes /[veloc (vueltas/seg)* Nº bytes/pista]

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

Lecturas en discos: tiempos.

Page 17: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 17

Lectura de discos.

• Sistemas viejos=>Velocidad de transf. baja.

• Varias vueltas para leer una pista.

• Interleave: Numeración no consecutiva de sectores.

8Vueltas 2 vueltas 3vueltas

12

345

6

78 1

23

4 5

67

8 1

2

3 4

5

6

78

Interleave

Page 18: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 18

Lectura de discos.

• Sistemas de gran capacidad.

• Lectura de los bloques para varios procesos.

• Varios procesos por vuelta.

• Las peticiones son procesadas por la controladora.

• La controladora calcula el sector que pasa bajo la cabeza. Planifica los accesos.

Detección posicional de giro

Page 19: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 19

Algoritmos de planificación

Discos Organizados en cilindros. Varias pistas (en vertical). Cada pista dividida en sectores (8-32). Todo sector tiene la misma capacidad.

• En sistemas compartidos suceden llamadas simultáneas.• Estas peticiones se han de planificar.• Búsqueda de tiempo de respuesta mínimo.

Page 20: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 20

Algoritmos de planificación

• Simple.• Ejecución en el orden de llegada.• La controladora mantiene la lista de trabajos.• Caminos muy largos.• Lista de peticiones (cilindros). (Cilindro inicial 53) 98, 183, 37, 122, 14, 124, 65, 67.

0 53

18337

65 67124

122

14

Recorrido: 640

FIFO

Page 21: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 21

Algoritmos de planificación

Siguiente petición el sector más cercano. Seek time / Mov. Cabeza Problemas en extremos con llegada continua de peticiones. Lista de peticiones (cilindros). (Cilindro inicial 53) 98, 183, 37, 122, 14, 124, 65,

67.

0 53

183

65 67

124

14

Recorrido: 236

37

98

122

SSTF

Page 22: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 22

Algoritmos de planificación

• Se sirve en un sentido y solo se atienden peticiones por delante de la cabeza.• De sector cero a final. / LOOK de principio a última petición.• Bit de dirección.• En algunas implementaciones se invierte el sentido cuando no hay peticiones por

delante.

• Lista de peticiones (cilindros). (Cilindro inicial 53) 98, 183, 37, 122, 14, 124, 65, 67.

0 53

183

37

65 67124

122

14

Recorrido: 208

Scan (ascensor)/ LOOK

Page 23: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 23

Algoritmos de planificación

• El alg. SCAN sirve dos veces (en poco tiempo) el final del disco y tarda en servir el otro extremo.

• Solución: Servir en un sentido y al final vuelta al principio.• Respuesta más uniforme.C-LOOK de primera a última petición.• Lista de peticiones (cilindros). (Cilindro inicial 53) 98, 183, 37, 122, 14, 124, 65,

67.

0 53

183

37

65 67 12412214

Recorrido: 153

C-Scan (circular-scan) / C-LOOK

Page 24: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 24

Algoritmos de planificación

• 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 25: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 25

Algoritmos de planificación del disco

Tabla 11.3. Algoritmos de planificación de disco [WIED87].

Page 26: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 26

Algoritmos de planificación

• SSTF Buenas respuestas. Problemas de inanición.

• SCAN y C-SCAN. Buenas prestaciones / uniformes. No inanición.

• Mejores peticiones en el centro del disco =>

• Ubicación de FAT, i-nodos, directorios, etc.

Elección.

Page 27: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 27

Formateo

• División de la superficie magnética en sectores para ser leídos por la controladora.

1. Bajo nivel (fdformat) Creación de estructura de datos por cada sector. Cabecera (nº sector), área de datos (256, 512, 1024), trailer (códigos de error).

2. Partición (fdisk). División del disco en grupos de cilindros. Cada partición se trata por el S.O. Como un volumen.

3. Formateo lógico (mkfs). Se genera el sistema de archivos.

Page 28: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 28

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.

• 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 29: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

Dispositivos y cache

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

21/04/23 29

Page 30: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 30

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

2. 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. Se aplica 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 31: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 32

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: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 33

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: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 34

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: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 35

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: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 36

Almacenamiento intermedio: tipos.

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

Page 36: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 37

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 37: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 38

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

Cache de disco

Page 38: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 39

Lectura de discos.

• Almacén de bloques usados en MEM.• Petición de bloques presentes en MEM:

Copia al espacio de direcciones del usuario Referencia a la posición en cache.

• Algoritmo de reemplazo: LRU: pila: bloques ordenados por tiempo. LFU: Uso de contador. => problema: localidad.

• Solución: dos zonas: Recientes por pila. Antiguas por LFU

• Otra opción: 3 zonas1. Nueva, 2. LFU, 3. LFU y victima.

Nuevas Viejas

n=n+1n=n

Cache (en HD)

Page 39: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 40

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 40: Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque.  Información en unidades de tamaño fijo.  Cada unidad con su.

21/04/23 41

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.