GESTION DE ENTRADA Y SALIDA

Dispositivos de salida (impresora, monitor, ...) Unidad principal (UCP, registros, memoria RAM, entrada/salida ( discos internos, red, ...)) Disposi...
21 downloads 0 Views 326KB Size
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