Dispositivos de salida (impresora, monitor, ...)
Unidad principal (UCP, registros, memoria RAM, entrada/salida ( discos internos, red, ...))
Dispositivos de entrada (teclado, ratón, lápiz óptico, ...)
Dispositivos de entrada/salida (discos, cintas, modem, ...)
GESTION DE ENTRADA Y SALIDA
DISPOSITIVOS DE ENTRADA Y SALIDA
Cual entra? Cual sale? Que entra? Que Sale
CPU
Memoria Controlador gráfic o
Bus del sistema Controlador de disco estado c ontrol datos
Bus de expansión
…
1
MISIONES DEL SO RESPECTO A LA E/S Ofrecer una visión lógica simplificada de dispositivos de E/S:
Para otros componentes del SO: Ej. el sistema de archivos.
Para el usuario.
Objetivos:
Optimizar la E/S, implementando mecanismos para mejorar prestaciones.
Facilitar el manejo de los dispositivos periféricos.
Permitir conectar cualquier tipo de dispositivo físico sin remodelar el sistema operativo.
Permitir conectar dispositivos solventando automáticamente su instalación (plug&play).
PARA QUE EL S.O MANEJA DISPOSITIVOS DE ENTRADA/SALIDA (E/S) ?
Para comunicarse con los dispositivos Para manejar interrupciones Para manejar errores Para proporcionar interfaz sencilla y fácil de usar tratar de
generalizar interfaz independiente del dispositivo (ej. diskettes, disco duro, CD-ROM).
2
CLASIFICACIÓN DE LOS DISPOSITIVOS E/S [STALLINGS]
1. Dispositivos legibles por los humanos: apropiados para la comunicación con el usuario (mouse, teclado, monitor, impresora) 2.
Dispositivos
legibles
por
máquina:
adecuados
para
comunicarse con equipos electrónicos (discos, cintas) 3.
Dispositivos
de
comunicaciones:
apropiados
para
comunicarse con dispositivos lejanos (modem, tarjeta Ethernet).
DIFERENCIAS ENTRE LOS DISPOSITIVOS E/S:
Aplicaciones (ej: disco que almacena archivos, disco que
almacena páginas de memoria virtual). Complejidad del control (ej: impresora vs. disco). Unidad de transferencia (bytes o bloques). Representación de los errores (check sum, codificación). Condiciones de error (cómo y qué se informa). Velocidad de los datos (diferencia en varios órdenes de
magnitud).
3
VELOCIDAD DE TRANSMISIÓN ENTRE LOS DIFERENTES DISPOSITIVOS DE E/S
CLASIFICACIÓN DE LOS DISPOSITIVOS E/S [TANENBAUM]:
Dispositivos de bloques
Dispositivos que almacenan la información en bloques de tamaño fijo .
Acceso secuencial o aleatorio a nivel de bloque.
Operaciones: leer, escribir, posicionarse, …
Posible acceso a través de ficheros proyectados en memoria
D.Mery
Ejemplo: discos y cintas 8
Sistemas Operativos Präsentat ion
4
CLASIFICACIÓN DE LOS DISPOSITIVOS E/S [TANENBAUM]:
Dispositivos de caracteres
maneja la información mediante un flujo de caracteres sin estructurarlos en bloques
Acceso secuencial a nivel de carácter.
Oeraciones: get, put, ….
Ejemplo: terminales, impresoras, interfaces de red, mouse, teclado
TECNICAS DE ENTRADA Y SALIDA
E/S programada
E/S dirigida por interrupciones
E/S por acceso directo a la memoria
5
E/S PROGRAMADA: El dispositivo E/S realiza
la acción (no la CPU) colocando los bits necesarios en sus registros de status. No hay interrupciones. La CPU chequea los bits
de status continuamente.
PASOS PARA LA IMPRESIÓN DE UNA CADENA
6
E/S DIRIGIDA POR INTERRUPCIONES:
La CPU es interrumpida cuando
el dispositivo E/S está listo para intercambiar datos. La CPU esta libre entre la
solicitud de datos e interrupción. No hay necesidad de esperar. Consume mucha CPU ya que
cada byte leído/escrito pasa por la CPU desde/hacia la memoria
PASOS QUE OCURREN CUANDO UN E/S TERMINÓ SU TAREA
7
INTERRUPCIÓN PRECISA (DEFINICIÓN):
El contador de programa (PC) se guarda en un lugar conocido. Todas las instrucciones previas a aquella a la que apunta PC ya
se ejecutaron por completo. No se ha ejecutado ninguna instrucción posterior a aquella a la
que apunta PC. Se conoce (y se guarda en un lugar conocido) el estado de
ejecución de la instrucción a la que apunta PC.
INTERRUPCIONES QUE USAN ALGUNOS CONTROLADORES
8
Una interrupción que no cumple con estos requisitos es una “interrupción imprecisa” y hace muy difícil el diseño de un sistema operativo, pues se debe determinar que ha sucedido y que aún no ha sucedido cuando se interrumpe.
ACCESO DIRECTO A MEMORIA (DMA)
Para evitar la E/S programada de grandes bloques de datos o
un gran número de interrupciones en E/S por interrupciones. Necesita un controlador con DMA Evita el uso de la CPU transfiriendo los datos directamente
entre los dispositivos de E/S y la memoria
del usuario
del núcleo
Básico para aprovechar la CPU en un sistema
multiprogramado, ya que libera tiempo de la CPU que se puede usar para ejecutar otros programas.
9
E/S CON ACCESO DIRECTO A MEMORIA
Transfiere un bloque de
datos directamente hacia/desde la memoria. Se envía una interrupción
cuando los datos fueron transferidos. La CPU sólo participa al
inicio y al final de la acción.
E/S CON ACCESO DIRECTO A MEMORIA:
Funcionamiento de una transferencia por DMA
10
E/S CON ACCESO DIRECTO A MEMORIA:
DMA con un solo bus
E/S CON ACCESO DIRECTO A MEMORIA:
DMA con buses independientes
11
E/S CON ACCESO DIRECTO A MEMORIA:
DMA con bus E/S
PASOS DE E/S POR DMA
5. El controlador por DMA transfiere los bytes al buffer X, incrementando dirección memoria y decrementando C hasta que C=0 6. Cuando C=0, el DMA interrumpe a la CPU para indicar fin de transferencia
1. Orden al controlador de dispositivo para mover datos del disco al buffer con dirección X
CPU
2. El manejador dice al controlador de disco que transfiera C bytes del disco al buffer X
DMA/bus/interrupc. controlador
cache x Bus CPU-memoria
memoria
buffer
Bus E/S
controlador de disco disco
disco
disco
disco
3. El controlador de disco inicia transferencia er de DMA 4. El controlador de disco envía cada dato al controlador de DMA
12
CONTROLADORAS DE DISPOSITIVOS DE HARDWARE Los dispositivos de E/S tienen componentes - mecánicos - electrónicos El componente electrónico se denomina: - controladora de dispositivo o - adaptador de dispositivo ( device controller) Muchas veces la controladora es capaz de manejar múltiples dispositivos idénticos. Muchas veces la controladora adopta un estándar (discos IDE o SCSI)
FUNCIONES TÍPICAS DE LAS CONTROLADORAS DE DISPOSITIVOS
•
Convertir un flujo de bits en serie en un bloque de bytes
•
Corregir errores si es posible
•
Copiar datos a la memoria principal
13
CONTROLADORA DE DISPOSITIVOS
La controladora tiene registros que le sirven para comunicarse con la CPU. Al escribir: - para suministrar datos - para leer datos - encender o apagar dispositivo - etc. Al leer: - para averiguar el estado del dispositivo Además la controladora por lo general tiene un búfer.
Direcciones de E/S de controladores
14
No entiendes que estoy procensado una interrupcion mia¡¡¡¡ ni se te ocurra usar tu famoso ctrl+alt+del porque si no…
Alguna Pregunta?
15