Professional Documents
Culture Documents
Planificacin de E/S
Planificacin de E/S (entrada/salida) es el trmino utilizado para describir el mtodo mediante el cual los sistemas operativos deciden el orden por el cual se van a enviar las peticiones de lectura y escritura al subsistema de disco. A veces se le llama tambin planificacin de disco.
Propsito
Existen varias razones por las que puede ser deseable aplicar mtodos de planificacin de E/S: Minimizar el tiempo de bsqueda (seek time) en el disco. Dar prioridad a las peticiones de E/S de ciertos procesos. Dar una porcin del ancho de banda de lectura del disco a cada proceso. Garantizar que ciertas peticiones se atendern antes de un tiempo determinado: deadline (lnea de la muerte en ingls).
Implementacin
Los planificadores de E/S normalmente tienen que trabajar con discos que comparten la propiedad de tardar bastante tiempo en acceder a una posicin que est muy alejada de la posicin actual del cabezal (lo que se conoce como un tiempo de bsqueda o seek time elevado).
Implementacin
Para minimizar el efecto que esto tiene sobre el rendimiento del sistema de E/S, muchos planificadores implementan variantes del algoritmo del ascensor, que lo que hace es reordenar las peticiones aleatorias siguiendo el orden en que el cabezal se ir encontrando las posiciones demandadas.
Polticas de planificacin
Planificacin aleatoria (random scheduling, RSS)
FIFO (First In, First Out, el primero que entra es el primero en salir), tambin conocido como FCFS (First Come First Served, el primero en venir es el primero en ser servido). LIFO (Last In, First Out, el primero que entra es el ltimo en salir). Shortest seek time first (SSTF, la bsqueda ms corta primero).
Polticas de planificacin
Algoritmo del ascensor, tambin conocido como SCAN (existen algunas variantes como C-SCAN, LOOK y C-LOOK). CFQ, Completely Fair Queuing (cola completamente justa), parecido al Round Robin de la planificacin de procesos.
Eficiencia
E/S puede convertirse en un cuello de botella.
La mayor parte de los Dispositivos E/S son lentos comparados con Memoria RAM o el Procesador. La multiprogramacin considera que ciertos procesos estn esperando la E/S mientras otros se estn ejecutando.
La E/S no puede mantener la velocidad del Procesador. Se puede usar el rea de swap para introducir ms procesos listos para ejecucin y por lo tanto tener al Procesador
Estructura
El sistema de almacenamiento secundario se usa para guardar los programas y datos en dispositivos rpidos, de forma que sean fcilmente accesibles a las aplicaciones a travs del sistema de archivos. En la jerarqua de E/S se colocan justo debajo de la memoria RAM.
Estructura
Hay dos elementos involucrados en este sistema: Discos. El almacenamiento secundario se lleva a cabo casi exclusivamente sobre discos, por lo que es interesante conocer su estructura y cmo se gestionan. Manejadores de disco. Controlan todas las operaciones que se hacen sobre los discos, entre las que son especialmente importantes las cuestiones de planificacin de peticiones a disco.
Manejadores de disco
Funciones principales: 1. Proceso de la peticin de E/S de bloques. 2. Traduccin del formato lgico a mandatos del controlador. 3. Insertar la peticin en la cola del dispositivo, llevando a cabo la poltica de planificacin de disco pertinente (FIFO, SSTF, SCAN, CSCAN, etc.). 4. Enviar los mandatos al controlador, programando la DMA.
Manejadores de disco
Funciones principales: 5. Bloqueo en espera de la interrupcin de E/S. 6. Comprobacin del estado de la operacin cuando llega la interrupcin. 7. Gestionar los errores, si existen, y resolverlos si es posible. 8. Indicacin del estado de terminacin al nivel superior del sistema de E/S.
Para leer o escribir, la cabeza lectora se debe situar en la pista deseada y al comienzo del sector deseado. Tiempo de bsqueda. Tiempo que toma para colocar la cabeza en la pista deseada. Tiempo de latencia (retardo de giro). Tiempo para llegar el inicio del sector a la cabeza lectora Tiempo de acceso = T_bsqueda + T_latencia El tiempo para entrar posicin para leer o escribir. Tiempo de transferencia. Ocurre cuando el sector deseado se mueve debajo de la cabeza. TT_acceso = n * T_bsqueda + T_latencia + T_transferencia
Tiempo de Bsqueda
Tiempo de Latencia
Tiempo de Transferencia
Planificacin de disco
El SO es responsable de usar el hardware de forma eficiente. El tiempo de acceso tiene dos componentes principales: bsqueda: tiempo que tarda el brazo del disco para mover las cabezas hasta el cilindro que contiene el sector deseado latencia: tiempo de espera adicional para que el disco gire hasta ponerse sobre el sector deseado.
Objetivo: minimizar el tiempo de bsqueda, que es directamente proporcional a la distancia de bsqueda Ancho de banda: bytes transferidos / tiempo de transferencia
Algoritmos de Planificacin
Variados: FIFO, SCAN, C-SCAN, SSTF, etc. Fundamentales para optimizar el acceso al disco. Criterios de planificacin: Optimizar el tiempo de bsqueda Dar servicio determinista A continuacin se estudian varios ejemplos usando la siguiente cola de peticiones: 98, 183, 37, 122, 14, 124, 65, 67 Se asume que las cabezas lecto-grabadoras estn en 53.
FCFS (FIFO)
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53
01 4
37
53 6567
98
122124
183 199
SSTF determina qu peticin est ms cerca de la posicin actual del cabezal y hace que esa sea la siguiente.
SSTF
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 536567 98 122 124 183 199
Ascensor (SCAN)
El movimiento del brazo empieza siempre en un extremo del disco y contina hasta el otro. All se cambia el sentido y se vuelve el otro extremo. Idea: evitar desplazamientos atrs y adelante. Problema: puede retrasar mucho el servicio de algunas peticiones si no se insertan adecuadamente dentro de las rodajas. Movimiento total de cabezas en el ejemplo: 208 cilindros
SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 536567 98 122 124 183 199
C-SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53
0 1 4
37
53 6567
98
122 124
183 199
Algoritmo de Planificacin
SSTF es frecuente y parece el ms natural. SCAN y C-SCAN tienen mejor rendimiento para sistemas que usan mucho el disco. El rendimiento depende del nmero y el tipo de peticiones. Las peticiones al disco pueden depender de la poltica de asignacin de espacio a los ficheros. El algoritmo de planificacin de disco debe ser escrito como un mdulo separado, para que sea fcil de reemplazar. Algoritmo estndar en casi todos los sistemas: C-SCAN.