Está en la página 1de 34

1

Sistemas de
Entrada/Salida
Introduccin
Son todos aquellos dispositivos conectados a un computador y
diferentes a: UCP, Memoria y Reloj.

Una de las funciones principales del Sistema Operativo
corresponde al control de todos los dispositivos de entrada/salida:
Sincronizacin
Captura de Interrupciones
Llamadas al Sistema
Control de Errores

Proporciona una interfaz que debe ser sencilla y facil de usar y en
la medida de los posible ser independiente del dispositivo.
2
Hardware de E/S
Bsicamente son 4 los elementos que estn relacionados con
la conexin de los dispositivos al Computador:

Puntos de Conexin (Puertos).
Buses
Controladores
Dispositivos
3
Hardware de E/S
4
Monitor Procesador
Controlador
De Grficos
Controlador
De Memoria
Cach
Memoria
Controlador
De Disco
Disco Disco
Interfaz
Bus Expansin
Teclado Puerto Serial
Puerto Paralelo
Controlador
SCSI
Disco
Disco
Bus PCI
Bus Expansin
Hardware de E/S
Existen varios mecanismos que permiten la comunicacin de
los dispositivos de E/S con la CPU:

Escrutinio Programada (Polling).
A travs de Interrupciones
Acceso Directo a Memoria (DMA)

5
Escrutinio (Polling) - Programada
Se comprueba cclicamente mediante instrucciones del
programa los registros de estado de los dispositivos. El
protocolo es establecido con una nocin bsica de saludo
(Handshaking).

1. La CPU espera hasta que el controlador pone su bit ocupado
en 0.

2. La CPU enciende el bit de escritura y escribe un byte en el
registro de salida de datos (Si la operacin es de salida).

3. La CPU enciende el bit de orden lista.
6
Escrutinio (Polling) - Programada
4. El controlador percibe la orden lista y pone su bit ocupado en
encendido (1).

5. El controlador lee el registro de orden y ve que la orden es
escribir, luego lee el registro de salida de datos para obtener
el byte y realiza la E/S con el dispositivo.

6. El controlador apaga el bit de orden lista, borra el bit de error
del registro de situacin para indicar que la E/S con el
dispositivo se realiz con xito y apaga el bit de ocupado para
indicar que ya termin.

Este ciclo se repite para cada byte a trasmitir.
7
Escrutinio (Polling) - Programada
Este mecanismo de comunicacin presenta un problema:

La CPU tiene que esperar un tiempo considerable a que el
controlador est listo para trasmitir o recibir datos.

Existe una forma ms eficiente de comunicacin y es a travs de
interrupciones.
8
Interrupciones de E/S
Este mecanismo permite al Controlador del dispositivo notificar
a la CPU cuando el dispositivo est listo para recibir el servicio
(trasmitir o recibir informacin).

Dicha notificacin la implementa por medio del IRQ (Solicitud
de Interrupcin) el cual la CPU inspecciona despus de cada
instruccin.

El siguiente grfico ilustra el proceso:
9
Interrupciones de E/S
10
El driver del dispositivo
inicia E/S
La CPU recibe la interrupcin, transfiere
el control al manejador de interrupcin
El manejador de interrupcin procesa
datos, regresa de la interrupcin
La CPU reanuda el procesamiento
de la tarea interrumpida
Inicia E/S
Entrada/Salida Lista, Finalizada o Error

Genera seal de la Interrupcin
La CPU en ejecucin verifica si hay
interrupciones entre una y otra
instruccin
CPU Controlador E/S
Interrupciones de E/S
Hay varios aspectos que se deben tener en cuenta con
el manejo de interrupciones:
Capacidad de Postergar
Despacho sin escrutamiento de Dispositivo
Interrupciones con diferentes Prioridades

Dos Tipos de Interrupciones:

No Enmascarables
Enmascarables
11
Acceso Directo a Memoria (DMA)
El DMA es un mecanismo que permite realizar intercambio de datos entre la
memoria y los dispositivos con la mnima intervencin del procesador. El
procesador es interrumpido slo luego que el bloque entero ha sido transferido


12
Cach
Memoria
Controlador
De Disco
Disco Disco
Controlador de
DMA/bus/interrupciones
Bus PCI
Bus Expansin
CPU
buffer
Tcnicas para la E/S
Emitir orden de
lectura al
mdulo de E/S
Leer estado del
mdulo de E/S
Leer palabra del
mdulo de E/S
Escribir palabra
en memoria
estado?
Hecho?
Siguiente instruccin
CPU E/S
E/S CPU
Condicin de Error
E/S CPU
CPU Memoria
Listo
No
listo
No
Si
Emitir orden de
lectura al
mdulo de E/S
Leer estado del
mdulo de E/S
Leer palabra del
mdulo de E/S
Escribir palabra
en memoria
estado?
Hecho?
Siguiente instruccin
CPU E/S
Hacer otra cosa

Interrumpir

E/S CPU
Condicin de Error
E/S CPU
CPU Memoria
Listo
No
Si
Emitir orden de
lectura al
mdulo de E/S
Leer estado del
mdulo de DMA
CPU DMA
Hacer otra cosa

Interpretar

DMA CPU
Siguiente instruccin
E/S Programada E/S Dirigida por
interrupciones
DMA
Tipos de DES (categoras)
Legibles para el humano. Usados en la comunicacin con el
usuario
Impresores, video, mouse, teclado.

Legibles para la mquina. Adecuado para equipos electrnicos
HDD, cinta, sensores, controladores e impulsores.

Dispositivos de Comunicacin. Apropiados para la
comunicacin con equipos lejanos.
Modems, tarjetas de red, hub, switchs
Diferencias en dispositivos de I/O
Velocidad de datos. Existen diferencias de varios ordenes de la
magnitud en la velocidad de transferencia de datos.

Aplicacin.
El disco usado para grabar archivos requiere un software de
administracin de archivos
El disco usado por el rea de swap (VM) necesita hard y soft
especiales para soportarlo.
La terminal usada por el administrador puede tener alta prioridad.

Complejidad del control. El driver para la impresora puede ser ms
simple que el driver del DD
Diferencias en dispositivos de I/O
Unidad de Transferencia. La informacin se puede transmitir en
unidades de bytes, caracteres o bloques.

Representacin de datos
Diferentes dispositivos emplean diferentes esquemas de codificacin de
datos, en los cdigos de caracteres y en los convenios de paridad.

Condiciones de error.
Sea en la manera de informar al SO, en sus consecuencias y en el
rango disponibles de posibles respuesta.

Ejemplos de DES segn atributos
Dispositivo Objeto Interaccin
Velocidad de
Transmisin (Kb/sg)
Teclado Entrada Humano 0.01
Ratn Entrada Humano 0.01
Micrfono Entrada Humano 0.02
Escner Entrada Humano 200
Altavoces Salida Humano 0.6
Impresora de lnea Salida Humano 1
Impresora lser Salida Humano 100
Pantalla grafica Salida Humano 30000
CPU a buffer Salida Humano 200
Terminal de red Entrada/Salida Mquina 0.05
Adaptador de LAN Entrada/Salida Mquina 200
Disco ptico Almacenamiento Mquina 500
Cinta magntica Almacenamiento Mquina 2000
Disco magntico Almacenamiento Mquina 2000
Interfaz de E/S de las Aplicaciones
Las interfaces de E/S son aquellas que permiten tratar los
dispositivos de E/S de una forma uniforme y estandarizada.
Este concepto se basa en tres elementos de la Ingeniera de
Software:

Abstraccin
Encapsulamiento
Estructuracin
18
Ncleo
Subsistema de E/S del Ncleo
Driver del
Teclado
Controlador
del Teclado
Teclado
Driver del
Bus PCI
Controlador
del BUS PCI
BUS PCI
Interfaz de E/S de las Aplicaciones
Aspecto Variacin
Modo de transferencia
Por Caracteres
Por Bloques
Mtodo de acceso
Secuencial
Aleatorio
Planificacin de Transferencia
Sincrnica
Asincrnica
Compartir
Dedicado
Compartible
Velocidad del Dispositivo
Latencia, Tiempo de Busqueda
Tasa de Transferencia, Retardo
Direccin de E/S
Slo Lectura
Slo Escritura
Lectura - Escritura
19
En lo que respecta a las aplicaciones, el sistema operativo oculta muchas de las
diferencias mencionadas en esta tabla.
Interfaz de E/S de las Aplicaciones
Dispositivos por Bloques:
Los dispositivos orientados a bloques tienen la propiedad de que se
pueden direccionar, esto es, el programador puede escribir o leer
cualquier bloque del dispositivo realizando primero una operacin de
posicionamiento sobre el dispositivo (Los discos duros, la memoria,
discos compactos y unidades de cinta).
La informacin es guardada en bloques de tamao fijo.
Las transferencias son hechas un bloque a la vez
Se referencia a los bloques.
HDD y cintas

20
Interfaz de E/S de las Aplicaciones
Dispositivos por Caracteres:
Los dispositivos orientados a caracteres son aquellos que trabajan
con secuencias de bytes sin importar su longitud ni ninguna
agrupacin en especial. No son dispositivos direccionables (Teclado,
la pantalla o display y las impresoras).
La informacin de transferencia como un flujo de bytes.
No existen bloques.
Terminales, impresores, puertos de comunicacin, mouse y la
mayora de los DES que no son almacenamiento secundario.

Dispositivos de Red:
Estos dispositivos son accedidos va sockets
21
Interfaz de E/S de las Aplicaciones
E/S Bloqueadora y no Bloqueadora:
Cuando se usa una llamada al sistema bloqueadora, la
ejecucin de la aplicacin se suspende. La aplicacin pasa
de la cola de ejecucin a la cola de espera, cuando
termina la llamada al sistema la aplicacin pasa
nuevamente a cola de ejecucin.
Cuando la E/S es no bloqueadora (Asincrnica)
22
Servicios del SO para E/S
El ncleo del sistema operativo cuenta con un conjunto de
servicios que mejoran la eficiencia del computador respecto a
E/S, entre estos servicios estn:
Planificacin
Almacenamiento Temporal
Manejo de Errores
Estructuras de Datos
23
Planificacin
Planificar un conjunto de solicitudes es determinar un buen
orden de ejecucin.
La planificacin puede mejorar el desempeo global del
sistema a travs de:
Repartir equitativamente el acceso a los procesos
Reducir el tiempo de espera promedio de las operaciones de
E/S.
La reorganizacin en el orden de servicio es la esencia de
la planificacin.
24
Almacenamiento Temporal
El uso de almacenamiento temporal para mejorar el
desempeo del sistema es una estrategia utilizada
ampliamente, y en diversas partes del sistema. Para E/S se
distinguen tres clases:
Buffers
Cachs
Spool
25
Razones para almacenamiento temporal
Los procesos deben esperar hasta que se complete la E/S.
Las pginas deben permanecer en RAM durante E/S, sino se perderan.
Slo algunas partes del proceso pueden ser enviadas al disco.
Riesgo de interbloqueo:

Proceso emite la orden de E/S
Se suspende temporalmente el
proceso.
Se le expulsa antes de terminar la
operacin.
Se le bloquea esperando que la
operacin termine.
Mientras tanto la operacin de E/S
se bloquea esperando a que el
proceso vuelva a memoria

Buffers
Es un rea de memoria en la que se almacenan datos
mientras se transfieren entre dos dispositivos, o entre un
dispositivo y una aplicacin.
Hay tres razones para el uso de buffers:
Diferencia de velocidades entre productor y consumidor
Diferencia de tamao de transferencia de datos
Consistencia en el copiado de datos
27
Cachs
Es una regin de memoria rpida que contiene copias
de datos.
El acceso a cach es mas eficiente que el acceso al
almacenamiento original.
La diferencia entre un buffer y un cach es que un
buffer podra contener la nica copia existente de un
elemento de informacin, mientras que un cach, por
definicin, slo contiene una copia de almacenamiento
ms rpido de un elemento que existe en otra parte.
Hay ocasiones en que una regin de memoria se utiliza
para ambos fines.
28
Spool
Es un buffer que contiene salidas para un dispositivo que
no puede aceptar corrientes de datos intercaladas.
A travs de un spool se manejan solicitudes concurrentes
de aplicaciones hacia dispositivos que slo pueden
manejar una solicitud al tiempo.
No es la nica manera de manejar acceso concurrente a
un dispositivo de este tipo.
29
Manejo de Errores
Por regla general, una llamada E/S devuelve un bit de
informacin sobre el estado de la llamada (xito o fracaso).
El nivel de detalle, los cdigos y los formatos de error
utilizados vara de un sistema operativo a otro, y tambin en
la medida en que se lo permita cada dispositivo.
30
Estructuras de Datos para E/S
El ncleo del sistema operativo necesita mantener
informacin de estado sobre el uso que se le da a los
dispositivos.
La informacin sobre el uso de los dispositivos es
almacenada en diversas estructuras de datos internas
como tablas para archivos abiertos, para conexiones de
red, etc.
Para el mantener la generalidad y facilitar el
encapsulamiento son utilizadas tcnicas OO
31
Solicitudes de E/S a Hardware
Cuando una aplicacin hace una solicitud de entrada o
salida respecto a un dispositivo, se presentan varias
etapas en las cuales se traducen las referencias que
maneja la aplicacin a direcciones reales de hardware.
Los sistemas operativos modernos obtienen un grado
de flexibilidad de las mltiples etapas de bsqueda en
tablas del trayecto entre una solicitud y un controlador
de dispositivo fsico.
Los mecanismos que transfieren solicitudes entre
aplicaciones y drivers son generales.
32
Desempeo
La entrada/salida es un factor importante para el desempeo
del sistema ya que:
Las solicitudes e/s son comunes.
Los dispositivos son regularmente los mas lentos del sistema.
Las peticiones de e/s obligan al procesador a ejecutar
instrucciones de manejadores de dispositivos y
planificadores.
Las conmutaciones de contexto exigen a la CPU.
33
Desempeo
Diversos principios pueden ser aplicados para mejorar la
eficiencia de la E/S:
Reducir el nmero de conmutaciones de contexto.
Reducir el nmero de copias a memoria durante la
transferencia de dispositivo a aplicacin.
Reducir el nmero de interrupciones.
Aumentar concurrencia empleando DMA o canales.
Incorporar primitivas de procesamiento en hardware.
34

También podría gustarte