280 likes | 590 Views
Sistemas Operativos Tema 6. Gestión de la Entrada/Salida. Resumen. Tipos de dispositivos Planificación de discos Características de los dispositivos Esquema de un controlador de E/S Tipos de E/S. Tipos de Dispositivos. Atendiendo a su utilidad existen
E N D
Sistemas OperativosTema 6 Gestión de la Entrada/Salida
Resumen • Tipos de dispositivos • Planificación de discos • Características de los dispositivos • Esquema de un controlador de E/S • Tipos de E/S
Tipos de Dispositivos • Atendiendo a su utilidad existen • Dispositivos legibles por los humanos: comunicación con el usuario, terminal o impresora • Dispositivos legibles por la máquina: comunicación con equipos electrónicos, discos o sensores • Dispositivos de comunicaciones: comunicación con dispositivos lejanos, módems o tarjetas de red.
Planificación de Discos • Los discos es uno de los dispositivos más utilizados • Cada vez hay mayor diferencia de velocidad entre los procesadores y los discos • El S.O. Puede mejorar la forma de acceder a discos planificando las operaciones • La planificación afecta al movimiento de las cabezas de lectura/escritura (tiempo de posicionamiento) • No es posible mejorar el tiempo de latencia ni el tiempo de transferencia
Planificación de Discos: FCFS • Las peticiones se atienden en orden de llegada • Es un algoritmo sencillo y justo • No produce optimización en el tiempo de acceso • El movimiento es muy dependiente del orden de llegada de las solicitudes • Válido para sistemas con poca carga de peticiones • Ejemplo, atender las peticiones 90, 180, 35, 120, 10, 125, 60 y 65, si la posición actual es el cilindro 50 • Se atienden en el orden : 90, 180, 35, 120, 10, 125, 60 y 65; dando un desplazamiento total de 665 cilindros
Planificación de Disco: SSTF • Atender la petición más cercana • Genera mucho menos movimiento de cabezas • La continua llegada de peticiones sobre un extremo del disco puede dar lugar a inanición sobre el otro extremo • Ejemplo, atender las peticiones 90, 180, 35, 120, 10, 125, 60 y 65, si la posición actual es el cilindro 50 • Se atienden en el orden : 60, 65, 90, 120, 125, 180, 35 y 10; dando un desplazamiento total de 300 cilindros • El algoritmo no es el óptimo, en nuestro ejemplo sería mejor ir del cilindro 90 al 35, porque no hay un algoritmo óptimo
Planificación de Discos: SCAN • Las cabezas se desplazan de un extremo a otro del disco y atienden las peticiones que existen para el cilindro por donde pasan • El mecanismo es similar al de un ascensor de un edificio • El tiempo de respuesta depende en gran medida de la posición actual de las cabezas, pero NUNCA hay inanición • Ejemplo, atender las peticiones 90, 180, 35, 120, 10, 125, 60 y 65, si la posición actual es el cilindro 50 y la anterior en 51 • Se atienden en el orden : 35, 10, 0, 60, 65, 90, 120, 125 y 180, después continua hasta el final del disco • La cantidad de cilindros recorridos es cercana a SSTF y no genera inanición
Planificación de Discos : LOOK • Similar al SCAN, pero el recorrido se realiza desde la primera a la última petición • Cuando termina de atender una petición, comprueba si hay más en el mismo sentido para decidir si continua o da la vuelta • Siempre realiza menos recorrido que el SCAN, aunque es más complejo de aplicar • Ejemplo, atender las peticiones 90, 180, 35, 120, 10, 125, 60 y 65, si la posición actual es el cilindro 50 y la anterior en 51 • Se atienden en el orden : 35, 10, 60, 65, 90, 120, 125 y 180, después puede dar la vuelta o continuar
Planificación de Discos: SCAN y C-LOOK • Atiende peticiones al recorrer el disco en uno de los sentidos, y después salta hasta el otro extremo • Se aplica porque en el otro extremo habrá mayor densidad de peticiones; además llevarán más tiempo esperando • El retorno sin atender peticiones se realiza muy rápidamente • Se aplica el recorrido de SCAN o LOOK en función del algoritmo que se aplique • Ejemplo, atender las peticiones 90, 180, 35, 120, 10, 125, 60 y 65, si la posición actual es el cilindro 50 y la anterior en 51 • Se atienden en el orden : 35, 10, 180, 125, 120, 90, 65 y 60
Planificación de Discos: Colas de Sectores • Se aplica a dispositivos de cabeza fija. Estos tienen una cabeza por cada pista del disco • Siempre hay una cabeza encima de cada pista, por lo que pasa a ser representativo el tiempo de latencia • El algoritmo intenta atender antes a las peticiones sobre sectores más cercanos a las cabezas • Crea una cola para cada número de sector del disco • Cuando un sector pasa debajo de las cabezas, atiende la primera petición de la cola de ese sector • No puede producir inanición, porque las peticiones de cada cola se atienden en orden FIFO
Características de los Dispositivos • Operaciones asíncronas: no se sabe cuando comienza y cuando termina una operación de E/S, puede producirse en cualquier momento • Diferencia de velocidad: la CPU es varios órdenes de magnitud más rápida que los dispositivos de E/S; incluso hay grandes diferencias entre los distintos dispositivos • Conversión de formatos: se utilizan diferentes modelos de codificación de información para los dispositivos
Bus interno Interfaz con el bus Registros Interfaz con el dispositivo Bus del dispositivo Esquema de un Controlador de E/S (I) • Comunica los buses del sistema con los dispositivos de E/S
Esquema de un Controlador de E/S (y II) • Utiliza registros para esta comunicación • Registros intermedios de entrada • Almacena hasta que atiende el procesador • Registros intermedios de salida • Estabiliza la señal de salida • Registros de control • Designación de modo: Configuran el uso del dispositivo • Operacionales: Contienen las órdenes de cada operación • Registros de estado • Permiten al procesador conocer el estado del dispositivo
Tipos de E/S • Se clasifican según el grado de intervención del S.O. • Cuanto menor intervención del S.O. se necesita más complejidad en el controlador • E/S programada • El S.O. controla todos los aspectos de cada operación de E/S • E/S por interrupciones • El S.O. inicia y finaliza cada operación de E/S • Aprovecha mejor la diferencia de velocidad entre procesador y dispositivos de E/S, el procesador ejecuta otras instrucciones • E/S por DMA (Direct Memory Access) • El S.O. ordena realizar grupos de operaciones de E/S • Útil para mover grandes bloques de datos
Entrada/Salida Programada:Principios de Funcionamiento • El procesador da la orden al módulo de E/S • El módulo de E/S realiza la operación y deja el resultado en los registros adecuados • El procesador comprueba constantemente los registros de estado para informarse de la operación • El procesador completa la operación con la transferencia de datos • El procesador es el responsable de todo el control sobre la operación • Cuando se ejecuta una operación, el procesador no puede dedicarse a otra cosa
Entrada/Salida Programada: Características • La UC genera todas las señales de control de buses • Dos mecanismos de generación de direcciones: • Mediante MEMRQ o IORQ indica si las direcciones son de memoria o de E/S • Utiliza distinto conjunto de direcciones para memoria que para los dispositivos de E/S • El controlador no envía ninguna señal a la UC
Entrada/Salida Programada: Múltiples Dispositivos • Es posible controlar varios dispositivos de E/S mediante una rutina de escrutinio • Comprueba uno tras otro el estado de los dispositivos de E/S, y atiende al que esta preparado • Es posible aplicarlo porque el procesador es mucho más rápido que los dispositivos de E/S • Se puede aplicar con prioridad entre dispositivos o sin ella. • Es posible mejorarlo si se aplica el escrutinio sólo cada cierto tiempo
Entrada/Salida por Interrupciones: Principios de Funcionamiento • El procesador da la orden al módulo de E/S • El módulo de E/S realiza la operación y deja el resultado en los registros adecuados • El módulo de E/S genera una interrupción para requerir los servicios del procesador. • El procesador completa la operación con la transferencia de datos • El procesador sólo controla la operación al iniciarse y al terminar
Entrada/Salida por Interrupciones: Características • El controlador genera una señal de interrupción y espera a que el procesador la admita (INTACK) • Cuando el procesador la admite, pone en el bus de direcciones su código de interrupción • El código indica la posición del vector de interrupciones donde está la rutina de tratamiento • El procesador sólo controla la operación al iniciarse y al terminar
Entrada/Salida por Interrupciones: Múltiples Controladores • Se pueden tratar los múltiples controladores • Mediante varias líneas de interrupción el procesador genera varias señales INTACK • Mediante una línea los controladores se pasan unos a otros la señal INTACK • También es posible un esquema mixto • La vectorización permite identificar al controlador • Cuando se está atendiendo una interrupción: • Se deshabilitan todas las demás • Una mascara deshabilita para un nivel de prioridad
Acceso Directo a Memoria (DMA):Principios de Funcionamiento • El procesador indica el número de operaciones a realizar y una posición de memoria para el DMA • El controlador deja o toma los datos de memoria sin intervención del procesador • El controlador interrumpe al procesador cuando terminan todas las operaciones • El controlador debe utilizar los buses del sistema (direcciones y datos) para acceder a memoria
Acceso Directo a Memoria (DMA):Características • El controlador solicita los buses mediante BUSRQ • El procesador se los concede (no los va a usar) mediante BUSACK. Intenta cederlos lo antes posible • El controlador utiliza los buses para transferir datos • Varios modos de DMA • Modo bloque: Una vez obtenidos los buses, transfiere todos los datos sin liberarlos • Modo demanda: Una vez obtenidos los buses, transfiere datos mientras BUSACK está activa • Modo robo de ciclo: Cada vez que se obtienen los buses se transfieren los datos de sólo una operación de E/S
Bibliografía • Básica: • Sistemas operativos. Conceptos fundamentales. James L. Peterson y Abraham Silberschatz. Ed. Reverte. 1991. • Sistemas operativos, 5ª edición. Willian Stallings. Ed. Pearson. 2005. • Complementaria y de consulta: • Conceptos de Sistemas Operativos, 6ª edición. Silberschatz, Galvin y Gagne. Ed. Limusa-Wiley. 2002. • Sistemas operativos. Diseño e implementación, 2ª edición. Andrew Tanenbaum y Albert Woodhull. Ed. Pearson. 2002.