You are on page 1of 26

PLANIFICACIN DE E/S

Hctor Orellana Jaramillo Profesor UNAB

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.

Planificacin anticipada (anticipatory scheduling).

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

ocupado, pero esta es una operacin de E/S.

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.

Parmetros de ejecucin de disco

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 transferencia del HD

Espera del Dispositivo

Espera del Canal

Tiempo de Bsqueda

Tiempo de Latencia

Tiempo de Transferencia

ALGORITMOS DE PLANIFICACIN DE DISCO

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

Shortest Seek Time First (SSTF)


Primero las peticiones que minimizan el movimiento de cabezas desde la posicin actual. La poltica SSTF es una variante de planificacin de CPU con Shortest Job First (primero el ms corto). Puede causar inanicin de algunas peticiones. Idea: maximizar el ancho de banda del disco. La ilustracin siguiente muestra el movimiento total de las cabezas del disco: 236 cilindros.

Shortest Seek Time First (SSTF)


Es una mejora directa del algoritmo FIFO para planificin de E/S. La unidad mantiene un buffer de peticiones entrantes, y junto a stas se aade un nmero que indica el cilindro al que tienen que acceder. Cuanto ms pequeo es el nmero significa que el cilindro est ms cerca del eje.

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

Ascensor cclico (C-SCAN)


Variacin del ascensor. Las cabezas se mueven de un extremo a otro del disco y luego vuelven al principio. No se atienden peticiones mientras las cabezas vuelven a la posicin inicial. Tiempo de espera ms uniforme que el ascensor normal. Trata los cilindros como una lista circular que enlaza el ltimo cilindro con el primero El nmero es engaoso. Ir del ltimo al primero se hace en un nico movimiento y tarda muy poco. Se usa frecuentemente.

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.

You might also like