Beruflich Dokumente
Kultur Dokumente
Gestión de Entrada/Salida
Prof. Homer Garcia
AGENDA
1. Gestión de E/S - Introducción
2. Dispositivos de E/S
Tipos
Partes
Controlador de Dispositivo de E/S - Comunicación
con el CPU
3. Software de E/S
Metas
Técnicas para llevar a cabo la E/S
Capas
Flujo a través de las capas del software de E/S
Introducción
“Un computador es útil solo si puede accesar
dispositivos y comunicarse con Personas y
Objetos”
SO ➔ Gestión de Entrada/Salida (E/S – I/O)
Cualquier transferencia de información entre
los Dispositivos de E/S y la Memoria Principal
del sistema ➔ Ordenadas y controladas por
la CPU ➔ Permiten la comunicación del
sistema con el mundo exterior
Funciones de la Gestión de E/S
• Proporcionar interfaz uniforme para el acceso a los
dispositivos
• Proporcionar manejadores para los dispositivos
• Tratar automáticamente los errores lo más cerca
posible del dispositivo
• Utilizar memorias caché y buffers locales del
dispositivo
• Planificar las peticiones de acceso a los
dispositivos para permitir su compartición
ordenada
Objetivos de la Gestión de E/S
• Independencia del dispositivo ➔ proporcionar una
abstracción del hardware que permita a los procesos
de usuario utilizar los diferentes dispositivos como un
conjunto uniforme de recursos ➔ ocultando los
detalles de bajo nivel
• Eficiencia ➔ Rendimiento global del sistema depende
de la gestión de E/S ➔ Dispositivos de E/S son lentos
en comparación con la memoria principal y la CPU
• Tratamiento de distintos tipos de dispositivos ➔
manejar dispositivos con diferentes características e
integrarlos adecuadamente dentro del sistema
Resumen
•SO ➔ Controlar los dispositivos de E/S
• Emite comandos
• Maneja interrupciones
• Maneja errores
•SO ➔ Proporcionar una interfaz a los
dispositivos ➔ Fácil de usar
• Generalmente independiente de los
dispositivos
Video
Dispositivos de E/S
• Dos tipos➔ de bloque y de carácter
• Bloque ➔ de tamaño fijo, c/u con su propia dirección, se
lee/escriben independientemente, tienen operación de
búsqueda
•Ej. Disco duro, CD-ROM, memoria USB
•El File System trabaja con bloques
•Tamaños: 512 – 65.536 (64 K) bytes
• Carácter ➔ envía o acepta flujo de caracteres sin importar la
estructura del bloque. No es direccionable y no tiene
operación de busqueda
•Ej. Impresora, teclado, monitor, ratón
• No todos los dispositivos se adaptan a estas categorías ➔ Ej.
Relojes
Dispositivos de E/S
• Dispositivo de E/S consiste de dos partes:
• Un controlador o adaptador – Parte
Electrónica ➔ acepta y ejecuta comandos
desde el SO
• El dispositivo en sí ➔ Parte mecánica
Driver SO
HARDWARE
Driver del Controlador de E/S
• Software del SO que se comunica con un controlador de E/S
➔ proporcionando comandos y aceptando respuestas
• Fabricante suministra un driver para cada SO
• Driver corre en modo kernel, generalmente
• Interfaz con el resto del SO ➔ Procedimientos con los que el
SO puede invocar al Driver (Ej. Leer (read) a bloque)
• Chequea validez de los parámetros de entrada ➔ Errores
• Traduce de lo abstracto a lo concreto (Ej. Número de bloque
a cilindro, cabeza, pista, sector)
• Chequea estatus del dispositivo ➔ puede tener que
arrancarlo
Driver del Controlador de E/S
• El controlador tiene registros que sirven para
comunicarse con el Driver ➔ éste coloca los comandos en
ellos
• Se bloquea a si mismo hasta que ocurra la interrupción
• Podría retornar data al llamador y retorna información de
estatus
• Drivers deben ser reentrantes
• SO adiciona o elimina dispositivos, con sus Drivers,
cuando está corriendo (hotpluggable) ➔ Carga dinámica
• Tres modos de comunicación ➔ Programada, Controlado
por Interrucciones y con DMA
Driver del Controlador de E/S
Driver del Controlador de E/S ➔ Linux
Software de SO independiente del dispositivo
La función básica del software independiente del dispositivo
es realizar las funciones de E/S que son comunes para
todos los dispositivos y proveer una interfaz uniforme para
el software a nivel de usuario:
• Interfaz uniforme para Drivers de dispositivos
• Uso de buffer
• Reporte de errores
• Asignar y liberar dispositivos dedicados
• Proporcionar un tamaño de bloque independiente del
dispositivo (tamaño lógico) ➔ El usuario no tiene que
conocer los detalles del dispositivo (tamaño físico ➔
sectores)
Interfaz uniforme para Drivers de dispositivos
Driver “Setea”
Driver
Ejemplo de Flujo a través de las capas del
software de E/S
• Usuario quiere leer un bloque ➔ se lo solicita al SO
(llamada)
• Software del SO independiente del dispositivo busca el
bloque en caché
• Si no está allí (falla de caché) ➔ invoca al Driver del
dispositivo para solicitar el bloque en disco (hardware)
• Una vez que la transferencia finaliza ➔ se genera la
interrupción gestionada por el manejador de
interrupciones
• Proceso del usuario se despierta (desbloquea) y regresa a
trabajar