Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque. ...
-
Upload
lorenzo-castellanos-quiroga -
Category
Documents
-
view
215 -
download
0
Transcript of Gestión de E/S y planificación de discos Tema 7. 08/05/20152 Dispositivos D. de bloque. ...
Gestión de E/S y planificación de discos
Tema 7
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.
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.
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.
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.
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.
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.
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.
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
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
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
21/04/23 12
Discos
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
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
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.
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.
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
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
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.
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
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
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
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
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.
21/04/23 25
Algoritmos de planificación del disco
Tabla 11.3. Algoritmos de planificación de disco [WIED87].
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.
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.
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.
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
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.
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.
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).
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.
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.
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.
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).
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
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)
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.
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.