Está en la página 1de 40

Unidad Cuatro: Administración de Entrada/Salida

Ing. Efraín Padilla Valera


Sistemas Operativos
Departamento de Sistemas y Computación
Instituto
Tecnológico

Contenido Tepic

1 Hardware de E/S

2 Interfaz de aplicación E/S (API)

3 Sub-sistema de E/S en el Kernel

4 Transformando solicit. E/S en operac. de HD

5 Streams

6 Rendimiento
Instituto
Tecnológico

Objetivos Tepic

❖ Explorar la estructura del sub-sistema de E/S


de un Sistema Operativo
❖ Discutir los principios del hardware de E/S y
su complejidad
❖ Proveer detalles de aspectos de rendimiento
del software y hardware de E/S
Instituto
Tecnológico

Hardware de E/S Tepic

❖ Variedad increíble de dispositivos de E/S


▪ Tipos generales: estan los de almacenamiento(disco,cintas), de
transmision (tarjetas de red, modem), interfaz
hombre-maquina(pantalla,teclado, raton)
▪ Tipos especializados : para manejar un avion de combate o un
transbordador espacial
❖ Conceptos comunes para entender como se conectan y como el
software puede controlar el hardware
▪ Puerto.- Punto de conexion en donde el dispositivo se comunica con la
maquina ejemplo: puerto serial
▪ Bus .- Conjunto de alambres y un protocolo bien definido que
especifica un conjunto de mensajes que se pueden enviar por los
alambres. Ver. Sig. figura.
▪ Controlador (adaptador de host).-Es una colección de circuitos
electrónicos que pueden operar un puerto, un bus o un dispositivo.
Ejemplo: controlador serial (controlador de dispositivo sencillo)
En contraste con un controlador de bus SCSI es complejo su
protocolo.
Instituto
Tecnológico
Una estructura típica de PC con Bus Tepic
Instituto
Tecnológico
Ejemplo de controladoras scsi y serial Tepic
Instituto
Tecnológico

Hardware de E/S Tepic

❖ ¿ Como puede el procesador enviar órdenes y datos a un


controlador para llevar a cabo una transferencia de E/S?
Controlador tiene uno o mas registros para señales de
datos y de control.
▪ Una forma de comunicarse es utilizar instrucciones de E/S que especifican
la transferencia de un byte o palabra a una dirección de puerto de E/S. La
instrucción de E/S activa las lineas del bus para que seleccionen el
dispositivo apropiado y transfieran bits hacia o desde un registro de
dispositivo. Como alternativa el controlador de dispositivo puede
manejar E/S con mapa en memoria si es así, hay una correspondencia
entre los registros de control del dispositivo y el espacio de direcciones del
procesador.
Ejemplo: computadoras compatibles con PC usan instruccíones de E/S
para controlar algunos dispositivos, y E/S con mapa en memoria para
controlar a otros.
vease la diapositiva de localización de puertos de E/S
Instituto
Tecnológico
Tepic
Localización de puertos de dispositivos E/S en PCs (parcial)
Instituto
Tecnológico

Interrogación (Polling) Tepic

El protocolo completo para la interacción entre el host y un


controlador puede ser complicado, pero la nocion básica de saludo
es sencilla
❖ Determina el estado del dispositivo
▪ listo para recibir comandos
▪ ocupado
▪ error
❖ Ciclo de espera-ocupada para esperar E/S del dispositivo
▪ El controlador de hardware notifique a la CPU cuando el dispositivo este listo
para recibir servicio, en vez de exigir a la CPU que interrogue repetidamente
para detectar una finalización de E/S. el mecanismo que permite a un dispostivo
notificar a la CPU se denomina interrupción.
Instituto
Tecnológico

Interrupciones Tepic

❖ El hardware de la CPU tiene un alambre llamado linea de solicitud de


interrupción (IRQ) que la CPU detecta despues de ejecutar cada
instrucción. Si la CPU detecta que un controlador ha asertado una
señal en la linea de IRQ, guarda una fracción pequeña el estado, como
el valor actual del puntero de instrucción y salta a la rutina de
manejador de interrupción en una dirección fija de memoria . El
manejador determina la causa de la interrupción, realiza el
procesamiento necesario y ejecuta una instrucción de retorno de
interrupción para que la CPU vuelva al estado de ejecución previo a
la interrupcion.
▪ Vease sig. diapositiva en donde se resume el ciclo de E/S controlado por
interrupcciones
Instituto
Tecnológico
Ciclo de E/S manejado por interrupciones Tepic

El controlador de
Dispositivo inicia la E/S
Inicializa una E/S

La CPU comprueba las interrupciones


entre las instrucciones

La CPU recibe una interrupción Las Condiciones de entrada


y transfiere el control a al preparada, salida completa o
manejador de error generan una señal de
interrupciones interrupción

El manejador de
interrupciones procesa
datos y retorna

La CPU continúa el
procesamiento de la
tarea interrumpida
Instituto
Tecnológico

Interrupciones Tepic

❖ Casi todas las CPU tienen 2 lineas de IRQ


▪ 1.- Interrupción no enmascarable que esta reservada para sucesos como errores de
memoria no recuperables
▪ 2.- Interrupción enmascarable .- es utilizado por controladores de interrupción para
solicitar servicios. El mecanismo de interrupción acepta una dirección y esta se
localiza en un vector de interrupción

❖ Vector de interrupción para despachar la interrupción al manejador


correspondiente
▪ Basado en prioridades
Ver diapositiva siguiente tabla de evento-vector del procesador intel pentium
❖ Mecanismo de interrupciones también se utiliza para excepciones
ejemplo: división entre cero, acceder a una dirección de memoria
protegida o inexistente, o intentar ejecutar una instrucción
privilegiada desde el modo usuario.
Instituto
Tecnológico
Procesador Intel Pentium Tabla de Evento-Vector Tepic
Instituto
Tecnológico

Acceso Directo a Memoria (DMA) Tepic

❖ Hay dispositivo que realizan grandes transferencias ejemplo: unidad de disco,


sería un desperdicio usar un costoso procesador de proposito general para vigilar
los bits de estado y alimentar datos a un registro de controlador de byte por byte
proceso conocido como PIO (E/S programada).

❖ Por esto se utiliza un procesador de proposito especial llamado controlador DMA

❖ Funcionamiento

▪ Aquellas computadoras que tienen canales DMA pueden transferir datos


desde y hacia los dispositivos con menos utilización de CPU que aquellas
computadoras sin canales DMA. Básicamente una transferencia DMA consiste
en copiar un bloque de memoria de un dispositivo a otro. Esa transferencia se
lleva a cabo por el controlador DMA, en lugar del CPU. El controlador DMA es
generalmente un chipsetAquellas computadoras que tienen canales DMA
pueden transferir datos desde y hacia los dispositivos con menos utilización
de CPU que aquellas computadoras sin canales DMA. Básicamente una
transferencia DMA consiste en copiar un bloque de memoria de un dispositivo
a otro. Esa transferencia se lleva a cabo por el controlador DMA, en lugar del
CPU. El controlador DMA es generalmente un chipset de la placa madre.

En computadoras sin DMA, el CPU generalmente se ocupa completo durante


Instituto
Tecnológico
Proceso de seis pasos para realizar transferencia DMA Tepic

1.- Se indica al controlador de


dispositivo que transfiera datos
del disco al bufer situado en la
dirección X
5.- La controladora de
DMA transfiere los bytes 2.- El controlador de Dispositivo le
al búfer X, incrementado dice a la controladora de disco
la dirección de memoria y que transfiera c bytes desde el
decrementado C hasta disco al bufer situado en la
que C=0 dirección X

6.- cuando C=0, DMA


interrumpe la CPU para
señalizar la terminación de la
tranferencia

3.- La controladora de disco


inicia una transferencia de DMA

4.- La controladora de disco


envía cada bytes a la
controladora de DMA
Instituto
Tecnológico

Interfaz de Aplicación de E/S Tepic

❖ Es necesario estudiar las técnicas de estructuración e interfaces para el S.O que


permitan los dispositivos de E/S de una forma uniforme y estandarizada ejemplo:
una aplicación abre un archivo de disco sin saber de que clase de disco se trata y como
podemos añadir discos nuevos y otros dispostivos a una computadora sin perturbar el
S.O.
❖ Llamadas al sistema de E/S encapsulan el comportamiento de dispositivos en clases
genéricas
❖ La capa de manejadores de dispositivos esconde diferencias entre controladores de E/S
del kernel
Ver la siguiente diapositiva de la Estructura de E/S de un núcleo
❖ Los dispositivos varían en diversas dimensiones: Ver fig de caracteristicas de los
dispositivos de E/S
▪ Flujo de carácter o de bloque.- dispositivos basado en flujo de caracteres transfiere bytes
uno por uno, y el por bloques transfiere un bloque de bytes como una unidad,
▪ Acceso secuencial o aleatorio.-Un dispositivo secuencial transfiere en un orden fijo
determinado por el dispositivo, el acceso aleatoriopuede pedir al dispositivo que se coloque
en cualquiera de las posiciones de almacenamiento
▪ Compartido o dedicado.- El compartible puede ser utilizado de forma concurrente por
varios procesos o hilos; no así un dispositivo dedicado
▪ Velocidad de operación.- Las velocidades de los dispositivos van desde unos cuantos bytes
hasta unos cuantos gigabytes por segundos
▪ lectura-escritura, sólo lectura o sólo escritura.-Algunos dispositivos realizan tanto
entrada como salida, pero otros manejan una dirección de datos.
Instituto
Tecnológico

Estructura de E/S de un kernel Tepic


Instituto
Tecnológico
Características de dispositivos de E/S Tepic
Instituto
Tecnológico

Dispositivos de bloque y carácter Tepic

La interfaz de dispositivo por bloques captura todos los aspectos necesarios


para acceder a unidades de disco y otros dispostivos orientados a bloques

❖ Se espera que el dispositivo entienda las ordenes como:


▪ Comandos: read, write, seek (buscar) si es uno de acceso aleatorio
▪ Las aplicaciones normalmente accesan a traves de un sistema de archivos.
El S.O. o DBMS podrían preferir acceder a un D.D como un sencillo
arreglo lineal de bloques este modo es conocido como Acceso de E/S
crudo (raw).
▪ Posible acceso a archivos mapeados a memoria (la llamada al sistema que
establece la correspondencia entre un archivo y la memoria devuelve la
dirección de memoria virtual de un arreglo de caracteres que contiene una
copia del archivo).
❖ Los dispositivos de carácter incluyen teclados, ratones y puertos seriales
▪ Comandos: get (obtener) , put (colocar) un caracter
▪ Es posible construir bibliotecas que ofrezcan acceso de una línea a la vez,
con servicios de buffers y edición. Ejemplo cuando un usuario teclea un
retroceso, el caracter anterior se elimina de la corriente de entrada
Instituto
Tecnológico

Dispositivos de red Tepic

❖ Varían entre los de bloque y carácter, hasta tener su propia


interfaz
❖ Unix y Windows NT/9x/2000 incluyen la interfaz socket de
red
▪ La interfaz de socket permiten a una aplicación crear un socket,
conectar un socket local a una dirección remota y tambien detectar
si una aplicación remote se conecta en el socket local y enviar y
recibir paquetes por la conexión.
▪ La interfaz de socket ofrece una funcion llamada select que
administra un conjunto de sockets. Esta función devuelve
información acerca de cuales sockets tienen un paquete que espera
ser recibido y cuales tienen espaci para aceptar un paquete que se
enviara.
❖ Se han implementado muchas otras estrategias de
comunicación entre procesos y comunicación por redes :
entubamientos, FIFOs, flujos (streams), colas, buzones, ...
Instituto
Tecnológico

Relojes y temporizadores Tepic

❖ La mayor parte de las computadoras cuentan con relojes y


temporizadores de hardware que realizan 3 funciones principales:
▪ Proveen tiempo actual,
▪ Dar el tiempo transcurrido
▪ Establecer un temporizador para iniciar la operación X en el instante T

❖ El hardware para medir el tiempo tanscurrido e iniciar


operaciones se denomina Intervalo de tiempo programable y
puede configurarse de modo que espere cierto tiempo y luego
genere una interrupción.
▪ El planificador utiliza este mecanismo, El subsistema de E/S de disco, el
subsistema de red
Instituto
Tecnológico

E/S con y sin bloqueo Tepic

❖ Con bloqueo - proceso suspendido hasta que se completa E/S. (La


aplicación se pasa de la cola de ejecución a una cola de espera)
▪ Fácil de utilizar y entender por eso la mayoria de los S.O. lo utilizan
❖ Sin bloqueo (asincróna)- Llamada de E/S regresa tanto como esté
disponible
▪ Interfaz de usuario, copia de datos (E/S con buffer)
▪ Se implementa a través de multi-hilos de ejecución
▪ Regresa rápidamente con la cuenta de bytes escritos o leídos
Un ejemplo es una interfaz con el usuario que recibe entradas
del teclado y del raton mientras procesa y exhibe datos en la
pantalla.
Instituto
Tecnológico

Dos métodos de E/S Tepic

Síncrona Asíncrona
Instituto
Tecnológico

Sub-sistema de E/S de Kernel Tepic

Los núcleos ofrecen muchos servicios relacionados con la E/S, La planificación de E/S, el
uso de buffers, cachés y spool, reservación de dispositivos y el manejo de errores.

❖ Planificación.- Significa determinar un buen orden de ejecución para las solicitudes E/S
y mejorar el desempeño global del sistema, repartir equitativamente el acceso entre los
procesos y reducir el tiempo de espera promedio de las operaciones E/S.
▪ Algún ordenamiento de solicitudes E/S vía colas para cada dispositivo y reacomodar
el orden de la cola para mejorar la eficiencia global del sistema y el tiempo de
respuesta.
▪ Algunos SO intentan ser justos de modo que ninguna aplicación reciba un servicio
malo.

❖ Buffering - Almacenar datos en memoria mientras se transfieren entre 2 dispositivos o


entre un dispositivo y una aplicación.
▪ Para lidiar con las diferencias de velocidad de los dispositivos ejemplo: modem y
disco duro.
▪ Para lidiar con la diferencia en los tamaños de transferencia.- ejemplo en redes de
computadoras, que se utilizan para fragmentar y reemsablar mensajes.
▪ Para mantener “semántica de copia” se garantiza que la versión de los datos que se
escribio en el disco es la versión que existia en el momento en que la aplicación hizo
la llamada al sistema, sin importar que despues haya habido cambios en el buffer.
Instituto
Tecnológico

Tabla de estado de dispositivos Tepic

El núcleo administra esta tabla, el cual contiene una entrada por cada
dispositivo de E/S cada entrada indica el tipo de dispositivo, dirección
estado(no funcionando, libre o ocupado) si el dispositivo esta ocupado con
una solicitud, son almacenados el tipo de solicitud y otros parámetros)
Instituto
Tecnológico
Sun Enterprise 6000 tasa de transferencia p/dispositivo Tepic

Lista enorme diferencias en las velocidades de los diferentes componentes de


hardware de un sistema computacional.
Instituto
Tecnológico

Sub-sistema E/S de Kernel Tepic

❖ Caching - memoria rápida mantiene copia de los datos, el acceso a la


copia en cache es mas eficiente que el acceso al original.
▪ Siempre es una simple copia en almacenamiento mas rápido de un
elemento que existe en otro lado.
▪ Clave en el rendimiento
Ejemplo: cuando el núcleo atiende a una solicitud de E/S con un archivo el
nucleo accede primero al caché para ver si esa parte del archivo ya esta
disponible en la memoria principal. Si es así, se puede evitar o diferir una
E/S de disco física
❖ Spooling – Es un buffer que mantiene salidas para un dispositivo
como una impresora, que no puede aceptar corrientes de datos
intercaladas.
❖ Reserva de dispositivo - provee acceso exclusivo a un dispositivo
▪ Llamadas al sistema para asignación y liberación
▪ Posibilidad de abrazos mortales
Instituto
Tecnológico

Manejo de errores Tepic

Un S.O. que emplea memoria protegida puede evitar


muchos tipos de errores de hardware y de las
aplicaciones, de modo que un problema menor cause
un fallo total del sistema.

❖ SO puede recuperarse de lecturas de disco, dispositivos


indispuestos y fallas de escritura temporales
❖ La mayoría regresan un número de error o código
cuando la solicitud de E/S falla
❖ La bitácora del sistema almacena los reportes de
problemas
Instituto
Tecnológico

Protección de E/S Tepic

❖ Procesos de usuario pueden accidentalmente o a


propósito atentar contra la operación normal con
instrucciones ilegales de E/S
▪ Todas las instrucciones de E/S son privilegiadas,
usuarios no pueden usar intrucciones de E/S
directamente lo deben hacer a traves del S.O
▪ La E/S se realiza vía llamadas al sistema
• Mapeo-a-memoria y las localidades en memoria de puertos
de E/S también deben protegerse
Instituto
Tecnológico

Uso de llamada al sistema para E/S Tepic

Un programa de usuario ejecuta una llamada al sistema para solicitarle al S.O. que realice
la E/S en su lugar. El S.O. la ejecuta en modo monitor checa que la solicitud es valida y si
es así, realiza la E/S. y luego de terminar retorna al programa del usuario.
Instituto
Tecnológico

Estructuras de datos del Kernel Tepic

❖ El kernel mantiene información de estado de componentes de E/S.


E.g. tablas de archivos abiertos, conexiones a red, estado de
dispositivos de carácter
❖ Muchas, pero muchas estructuras de datos complejas para seguir la
pista de buffers, asignación de memoria, blocks, etc.
❖ Algunos S.O. utilizan métodos de orientación a objetos y paso de
mensajes para implementar E/S. ejemplo: windows NT emplea una
implementación de transferencia de mensajes para E/S. Una
solicitud de E/S se convierte en un mensaje que se envia a través del
núcleo al administrador de E/S y de ahí al controlador de dispositivo
en software.
Ejemplo:
❖ La siguiente figura contiene una tabla de despacho con punteros a las
rutinas apropiadas, dependiendo del tipo de archivo.
Instituto
Tecnológico

Estructura E/S del kernel de UNIX Tepic


Instituto
Tecnológico
Solicitudes de E/S a Operaciones de Hardware Tepic

❖ Considera la lectura de un archivo de


disco para un proceso:
▪ Determinar el dispositivo que contiene el archivo
▪ Traducir nombre a la representación del dispositivo
▪ Físicamente leer los datos del disco en un buffer
▪ Hacer disponibles los datos al proceso que solicitó la
lectura
▪ Regresar el control al proceso
Instituto
Tecnológico
Tepic
Ciclo de vida de una Solicitud de E/S con bloqueo
La figura sugiere que una operación de E/S requiere un gran
numero de pasos, que juntos consumen una cantidad
enorme de ciclos de CPU
Instituto
Tecnológico

Flujos (streams) Tepic

❖ Flujo – canal de comunicación full-duplex (de ida y


vuelta) entre un proceso de nivel-usuario y un dispositivo
en UNIX (System V y más recientes)
❖ Un flujo consiste de:
▪ Interfaces del Flujo con el proceso de usuario
▪ Interfaces del manejador con el dispositivo
▪ Cero o más módulos del flujo entre ellos
❖ Cada módulo contiene una cola de lectura y una cola de
escritura
❖ Paso de mensajes se utiliza para comunicación entre colas
Instituto
Tecnológico
La estructura de los Flujos Tepic
Instituto
Tecnológico

Rendimiento Tepic

❖ E/S es un factor importante en el


rendimiento del sistema:
▪ Requiere que el CPU ejecute el manejador
del dispositivo (código E/S del kernel)
▪ Cambio de contexto debido a interrupcciones
▪ Copiar datos
▪ Tráfico de red particularmente agotador
Instituto
Tecnológico

Comunicación entre-computadoras Tepic


Instituto
Tecnológico
Como mejorar el rendimiento Tepic

❖ Reducir el número de cambios de contexto


❖ Reducir el copiado de datos
❖ Reducir interrupciones utilizando grandes
transferencias, controladores inteligentes y
polling (SO espera y monitorea dispositivo
hasta que está listo para leer)
❖ Utilizar DMA
❖ Balancear CPU, memoria, bus, y E/S para
alcanzar el máximo rendimiento de
procesamiento
www.themegallery.com

También podría gustarte