You are on page 1of 33

Sistemas de

Entrada/Salida

Juan Manuel Reyes García


Carlos Andrés Mera Banguero

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
1
Contenido

• Introducción
• Hardware de E/S
• Interfaz de E/S de las Aplicaciones
• Subsistema de E/S del Núcleo
• Transformación E/S en solicitudes de
Hardware
• Desempeño

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
2
Introducción
Una de las funciones principales del Sistema Operativo
corresponde al control de todos los dispositivos de
entrada/salida:
• Sincronización
• 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.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
3
Hardware de E/S
Básicamente son 4 los elementos que están
relacionados con la conexión de los
dispositivos al Computador:

• Puntos de Conexión (Puertos).


• Buses
• Controladores
• Dispositivos

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
4
Hardware de E/S
Disco
Monitor Procesador

Caché Disco

Controlador Controlador Controlador


De Gráficos De Memoria Memoria
SCSI

Bus PCI

Interfaz Teclado Puerto Serial


Controlador Bus Expansión
De Disco

Bus Expansión
Disco Disco Puerto Paralelo

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
5
Hardware de E/S
Existen varios mecanismos que permiten la
comunicación de los dispositivos de E/S con la
CPU:

• Escrutinio (Polling).
• A través de Interrupciones
• Acceso Directo a Memoria (DMA)

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
6
Escrutinio (Polling)
Se comprueba cíclicamente mediante instrucciones del
programa los registros de estado de los dispositivos. El
protocolo es establecido con una noción básica 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 operación es de salida).

3. La CPU enciende el bit de orden lista.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
7
Escrutinio (Polling)
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 situación 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.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
8
Escrutinio (Polling)
Este mecanismo de comunicación 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 más eficiente de


comunicación y es a través de interrupciones.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
9
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 información).

Dicha notificación la implementa por medio del


IRQ (Solicitud de Interrupción) el cual la CPU
inspecciona después de cada instrucción.

El siguiente gráfico ilustra el proceso:

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
10
Interrupciones de E/S
CPU Controlador E/S

El driver del dispositivo


Inicia E/S
inicia E/S

La CPU en ejecución verifica si hay


interrupciones entre una y otra
instrucción
Entrada/Salida Lista, Finalizada o Error

La CPU recibe la interrupción, transfiere


el control al manejador de interrupción Genera señal de la Interrupción

El manejador de interrupción procesa


datos, regresa de la interrupción

La CPU reanuda el procesamiento


de la tarea interrumpida

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
11
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

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
12
Acceso Directo a Memoria (DMA)
El DMA es un mecanismo que permite realizar intercambio de
datos entre la memoria y los dispositivos con la mínima
intervención del procesador.
CPU

Caché

Controlador de
DMA/bus/interrupciones Bus Expansión Memoria buffer

Controlador
De Disco Bus PCI

Disco Disco

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
13
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
Ingeniería de Software:
Núcleo
Subsistema de E/S del Núcleo
• Abstracción Driver del Driver del
Teclado Bus PCI

• Encapsulamiento Controlador Controlador


del Teclado del BUS PCI

• Estructuración
Teclado BUS PCI

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
14
Interfaz de E/S de las Aplicaciones
Aspecto Variación
Por Caracteres
Modo de transferencia
Por Bloques
Secuencial
Método de acceso
Aleatorio
Sincrónica
Planificación de Transferencia
Asincrónica
Dedicado
Compartir
Compartible
Latencia, Tiempo de Busqueda
Velocidad del Dispositivo
Tasa de Transferencia, Retardo
Sólo Lectura
Dirección de E/S Sólo Escritura
Lectura - Escritura

En lo que respecta a las aplicaciones, el sistema operativo oculta muchas de las


diferencias mencionadas en esta tabla.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
15
Interfaz de E/S de las Aplicaciones

• Dispositivos por Bloques y Caracteres:


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 operación de
posicionamiento sobre el dispositivo. Por otro lado, los dispositivos
orientados a caracteres son aquellos que trabajan con secuencias de
byes sin importar su longitud ni ninguna agrupación en especial. No son
dispositivos direccionables.

• Dispositivos de Red:
Estos dispositivos son accedidos vía sockets

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
16
Interfaz de E/S de las Aplicaciones

• E/S Bloqueadora y no Bloqueadora:


Cuando se usa una llamada al sistema
bloqueadora, la ejecución de la aplicación
se suspende. La aplicación pasa de la cola
de ejecución a la cola de espera, cuando
termina la llamada al sistema la aplicación
pasa nuevamente a cola de ejecución.
Cuando la E/S es no bloqueadora
(Asincrónica)

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
17
Servicios del SO para E/S
El núcleo del sistema operativo cuenta con un
conjunto de servicios que mejoran la eficiencia
del computador respecto a E/S, entre estos
servicios están:
• Planificación
• Almacenamiento Temporal
• Manejo de Errores
• Estructuras de Datos

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
18
Planificación
• Planificar un conjunto de solicitudes es
determinar un buen orden de ejecución.
• La planificación puede mejorar el
desempeño global del sistema a través de:
– Repartir equitativamente el acceso a los
procesos
– Reducir el tiempo de espera promedio de las
operaciones de E/S.
• La reorganización en el orden de servicio es
la esencia de la planificación.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
19
Almacenamiento Temporal
El uso de almacenamiento temporal para
mejorar el desempeño del sistema es una
estrategia utilizada ampliamente, y en
diversas partes del sistema. Para E/S se
distinguen tres clases:
• Buffers
• Cachés
• Spool

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
20
Buffers
• Es un área de memoria en la que se
almacenan datos mientras se transfieren
entre dos dispositivos, o entre un dispositivo
y una aplicación.
• Hay tres razones para el uso de buffers:
– Diferencia de velocidades entre productor y
consumidor
– Diferencia de tamaño de transferencia de datos
– Consistencia en el copiado de datos

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
21
Cachés
• Es una región de memoria rápida 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 podría contener la única copia existente de
un elemento de información, mientras que un
caché, por definición, sólo contiene una copia de
almacenamiento más rápido de un elemento que
existe en otra parte.
• Hay ocasiones en que una región de memoria se
utiliza para ambos fines.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
22
Spool
• Es un buffer que contiene salidas para un
dispositivo que no puede aceptar corrientes
de datos intercaladas.
• A través de un spool se manejan solicitudes
concurrentes de aplicaciones hacia
dispositivos que sólo pueden manejar una
solicitud al tiempo.
• No es la única manera de manejar acceso
concurrente a un dispositivo de este tipo.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
23
Manejo de Errores
• Por regla general, una llamada E/S
devuelve un bit de información sobre el
estado de la llamada (éxito o fracaso).
• El nivel de detalle, los códigos y los
formatos de error utilizados varía de un
sistema operativo a otro, y también en la
medida en que se lo permita cada
dispositivo.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
24
Estructuras de Datos para E/S
• El núcleo del sistema operativo necesita
mantener información de estado sobre el
uso que se le da a los dispositivos.
• La información 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 técnicas OO

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
25
Solicitudes de E/S a Hardware
• Cuando una aplicación 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 aplicación a
direcciones reales de hardware.
• Los sistemas operativos modernos obtienen un
grado de flexibilidad de las múltiples etapas de
búsqueda en tablas del trayecto entre una solicitud
y un controlador de dispositivo físico.
• Los mecanismos que transfieren solicitudes entre
aplicaciones y drivers son generales.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
26
Desempeño
La entrada/salida es un factor importante para
el desempeño 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.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
27
Desempeño
Diversos principios pueden ser aplicados para
mejorar la eficiencia de la E/S:
– Reducir el número de conmutaciones de
contexto.
– Reducir el número de copias a memoria durante
la transferencia de dispositivo a aplicación.
– Reducir el número de interrupciones.
– Aumentar concurrencia empleando DMA o
canales.
– Incorporar primitivas de procesamiento en
hardware.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
28
Conclusiones
La entrada/salida es una parte significativa en la
arquitectura de un computador, sin embargo, este aspecto es
muchas veces relegado durante el diseño de los sistemas com
putacionales, tanto en la parte de hardware como en la de
software.

Entre las técnicas utilizadas para la mejora en la transferencia de


datos entre dispositivos, es notable la mejora en el desempeño
que presenta la estrategia de disminuir la participación del
procesador en el monótono proceso de trasferir byte por byte
entre dispositivos y relegar esa tarea a otro dispositivo de
hardware especializado, como es el caso de los controladores
DMA.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
29
Conclusiones
•Es de destacar la estandarización que se ha dado en las
interfaces que presentan los dispositivos de E/S con los demás
componentes hardware del computador, así como con los
sistemas operativos. Esta interfaz es genérica a tal punto que
permite el manejo de estos elementos de forma uniforme e
independiente de las características particulares de cada
dispositivo.

•La planificación es fundamental para la mejora del desempeño


general del sistema cuando se dan diferencias en velocidad tan
grandes como la que se presenta entre el procesador un
dispositivo de entrada/salida.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
30
Conclusiones
• El manejo de memorias de almacenamiento temporal es útil,
no sólo para mejorar la velocidad de acceso a datos desde
dispositivos mas rápidos sino también para solucionar
problemas de semántica de copiado.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
31
Conclusiones
• El manejo de memorias de almacenamiento temporal es útil,
no sólo para mejorar la velocidad de acceso a datos desde
dispositivos mas rápidos sino también para solucionar
problemas de semántica de copiado.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
32
Bibliografía
• Silberstchatz, Abraham. Galvin, Peter Baer. Sistemas
Operativos, Prentice Hall, Quinta Edición.

• http://www.ldc.usb.ve/~spd/Docencia/ci-3821/Tema2/Default.
htm. Modulo de Entrada/Salida. Angela Di Serio, Septiembre
de 1998.

Juan Manuel Reyes García


Carlos Andrés Mera Banguero
Sistemas de E/S
33

You might also like