La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Gestión de E/S y planificación de discos"— Transcripción de la presentación:

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

2 Dispositivos Tipos de dispositivos. D. de bloque. D. de carácter.
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. 15/04/2017

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ón Procesador controla dispositivos y periféricos. Controlador: Aísla al procesador de los detalles del HW. IRQ+punto2: La CPU no ha de esperar por las I/O. DMA: Control de la I/O a MEM sin interrumpir la CPU. Procesador adicional para la I/O. Módulo de MEM (local) y CPU: Mayor nº de dispositivos controlables. Tendencia: Liberar a la CPU de las tareas de I/O. 15/04/2017

4 Acceso directo a la memoria (DMA)
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. 15/04/2017

5 Acceso directo a la memoria (DMA)
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. 15/04/2017

6 Acceso directo a la memoria (DMA)
Cuenta de datos Líneas de datos Registros de datos Registros de dirección Líneas de direcciones Solicitud de DMA Reconocimiento de DMA Lógica de control Interrupción Lectura Escritura 15/04/2017 Figura Diagrama de bloques de un DMA típico.

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. 15/04/2017

8 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 Descodificar instrucción Leer operando Ejecutar instrucción Almacenar resultado Interrupción del proceso Puntos de ruptura por DMA Puntos de ruptura por interrupción Figura Puntos de ruptura por DMA y por interrupción en un ciclo de instrucción.

9 Acceso directo a la memoria (DMA)
Procesador DMA E/S E/S Memoria (a) DMA separada de bus sencillo Figura Configuraciones posibles de DMA. 15/04/2017

10 Acceso directo a la memoria (DMA)
Procesador DMA DMA Memoria E/S E/S E/S (b) DMA integrada de bus sencillo Figura Configuraciones posibles de DMA. 15/04/2017

11 Acceso directo a la memoria (DMA)
Bus del sistema Procesador DMA Memoria Bus de E/S E/S E/S E/S (c) Bus de E/S Figura Configuraciones posibles de DMA. 15/04/2017

12 Discos 15/04/2017

13 Lectura de discos. Controladora 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). Del dispositivo sale un flujo de datos: prologo (nº cilindro, nº sector, tamaño), datos, suma de verificación. Controladora convierte el flujo en bloques, libres de error. Bloque  buffer (suma de error) => copia a MEM 15/04/2017

14 Lectura de discos. Driver de dispositivo
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.) 15/04/2017

15 Lectura de discos. Lectura en HD: Petición.
Petición: En registros de la controladora. Prologo+Flujo de datos+suma errores Conversión: flujo  bloques. Bloque  buffer. Cálculo de suma/error. Buffer  memoria. Tras la lectura  IRQ Diseño: Eficacia: I/O lenta => multiprogramación Generalidad: Gestión común de dispositivos. Abstracción. 15/04/2017

16 Lectura de discos. Lecturas en discos: tiempos. Tiempo de acceso:
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 = 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 | rpm => LR = ms 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. 15/04/2017

17 Lectura de discos. 8Vueltas 2 vueltas 3vueltas 8 1 8 1 6 1 5 7 2 4 3 4
Interleave Sistemas viejos=>Velocidad de transf. baja. Varias vueltas para leer una pista. Interleave: Numeración no consecutiva de sectores. 8Vueltas vueltas vueltas 8 1 8 1 6 1 5 7 2 4 3 4 6 3 2 7 7 8 2 5 4 6 5 3 15/04/2017

18 Lectura de discos. Detección posicional de giro
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. 15/04/2017

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. 15/04/2017

20 Algoritmos de planificación
FIFO 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. 183 37 65 67 124 122 14 Recorrido: 640 15/04/2017

21 Algoritmos de planificación
SSTF 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. 183 65 67 124 14 Recorrido: 236 37 98 122 15/04/2017

22 Algoritmos de planificación
Scan (ascensor)/ LOOK 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. 183 37 65 67 124 122 14 Recorrido: 208 15/04/2017

23 Algoritmos de planificación
C-Scan (circular-scan) / C-LOOK 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. Recorrido: 153 67 124 65 183 122 14 37 15/04/2017

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. 15/04/2017

25 Algoritmos de planificación del disco
Tabla Algoritmos de planificación de disco [WIED87]. 15/04/2017

26 Algoritmos de planificación
Elecció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. 15/04/2017

27 Formateo División de la superficie magnética en sectores para ser leídos por la controladora. 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). Partición (fdisk). División del disco en grupos de cilindros. Cada partición se trata por el S.O. Como un volumen. Formateo lógico (mkfs). Se genera el sistema de archivos. 15/04/2017

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. 15/04/2017

29 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 15/04/2017

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 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. 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. 15/04/2017

31 Figura 11.5. Un modelo de organización de E/S.
Procesos de usuario Procesos de usuario Procesos de usuario Gestión de directorios E/S lógica Arquitectura de comunicaciones Sistema de archivo Organización física E/S con dispositivos E/S con dispositivos E/S con dispositivos Planificación y control Planificación y control Planificación y control Hardware Hardware Hardware (a) Dispositivo periférico local (b) Puerto de comunicaciones (c) Sistema de archivos Figura Un modelo de organización de E/S.

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. 15/04/2017

33 Almacenamiento intermedio de E/S
Sistema operativo Proceso de usuario Entrar Dispositivo de E/S (a) Sin almacenamiento intermedio Sistema operativo Proceso de usuario Entrar Mover Dispositivo de E/S (b) Almacemiento intermedio sencillo Figura Esquemas de almacenamiento intermedio de E/S (entrada). 15/04/2017

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. 15/04/2017

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. 15/04/2017

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. 15/04/2017

37 Almacenamiento intermedio de E/S
Sistema operativo Proceso de usuario Entrar Mover Dispositivo de E/S (c) Almacenamiento intermedio doble Proceso de usuario Sistema operativo Entrar Mover Dispositivo de E/S (d) Almacenamiento intermedio circular Figura Esquemas de almacenamiento intermedio de E/S (entrada). 15/04/2017

38 Cache de disco 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 . 15/04/2017

39 Lectura de discos. Nuevas Viejas n=n n=n+1 Cache (en HD)
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 zonas Nueva, LFU, LFU y victima. Nuevas Viejas n=n+1 n=n 15/04/2017

40 Figura 11.14. Estructura de la E/S en UNIX.
E/S en UNIX SVR4 Subsistema de archivos Cache de buffers Carácter Bloque Gestor de dispositivo Figura Estructura de la E/S en UNIX. 15/04/2017

41 E/S en WINDOWS 2000 Gestor de E/S Gestor de cache Controladores de
sistema de archivos Controladores de red Controladores de dispositivos hardware Figura Gestión de E/S en Windows 2000. 15/04/2017


Descargar ppt "Gestión de E/S y planificación de discos"

Presentaciones similares


Anuncios Google