Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Software de E/S
Capas de software
Discos
Tema 5. Entrada/Salida
Francisco Fernndez Rivera
Sistemas Operativos I
Grado en Ingeniera Informtica
Escuela Tcnica Superior de Ingeniera
Universidad de Santiago de Compostela
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Entrada/Salida
El Sistema Operativo y la Entrada/Salida
El SO controla los dispositivos de E/S, para ello debe:
Emitir comandos
Captar interrupciones
Manejar errores
Administracin de la E/S
Software estructurado en niveles con tareas bien definidas
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de Entrada/Salida
Tipos de dispositivos
Dispositivos de bloque: Informacin en bloques de
tamao fijo (512B-32KB)
Cada bloque tiene su direccin
Transferencia de uno o ms bloques consecutivos
Los bloques se leen o escriben independientemente del
resto
Discos, CD, memorias USB
Hardware de E/S
Software de E/S
Capas de software
Hardware de Entrada/Salida
Amplio rango de velocidades
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de Entrada/Salida
Comunicacin controladora-CPU
La controladora tiene registros para comunicarse con la CPU
Al escribir en los registros el SO enva rdenes
Al leer los registros el SO puede conocer el estado del dispositivo
Bfer para transferencia de datos
El SO puede leer y escribir en el bfer
Cmo se comunica la CPU con los registros de control y los bferes
de datos?
Puerto de E/S (figura (a))
E/S con asignacin de memoria (figura (b))
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Comunicacin controladora-CPU
Puerto de E/S
Se asigna un nmero de puerto de E/S a cada registro de
control
Un entero de 8 o 16 bits
Espacio de puertos de E/S: conjunto de todos los puertos
de E/S
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Comunicacin controladora-CPU
Esquema hbrido:
Bferes de datos de E/S por asignacin de memoria y
puertos de E/S para registros de control
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Comunicacin controladora-CPU
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Comunicacin controladora-CPU
Ventajas de la E/S por asignacin de memoria
Instrucciones especiales de E/S (puertos de E/S) =>
cdigo ensamblador (no es posible en C o C++)
E/S por asignacin de memoria: los registros de control
son variables en memoria. La controladora de dispositivo
(driver ) puede escribirse en C
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Comunicacin controladora-CPU
Desventajas de la E/S por asignacin de memoria
Llevar a cache un registro de control puede ser desastroso
CICLO:
test puerto_4
// puerto_4 es cero?
beq LISTO
// si es 0, ir a LISTO
branch CICLO // en caso contrario sigue comprobando
LISTO: .........
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Comunicacin controladora-CPU
Desventajas de la E/S por asignacin de memoria
Todas las controladoras deben examinar las direcciones del bus para
ver a cuales responder
Fcil de implementar con un solo bus
Buses separados: Los dispositivos de E/S no ven las direcciones de
memoria
Solucin: Enviar todas las referencias a memoria, si esta no responde
se envan a otros buses
Requiere hardware adicional
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Comunicacin controladora-CPU
Desventajas de la E/S por
asignacin de memoria
Otra solucin: Filtrado
de direcciones (en el
chip puente de PCI o
con un husmeador de
bus)
Contiene registros de
rango
Las direcciones en uno
de los rangos que
pertenecen a memoria,
se envan al bus PCI
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Interrupciones
Interrupciones y E/S
El dispositivo de E/S (o DMA) utiliza la interrupcin para indicar que ha
terminado el trabajo
La controladora de interrupciones (en la CPU) procesa la interrupcin
Interrumpe la CPU
Vector de interrupcin para obtener la rutina de atencin al
dispositivo
Guardar informacin de retorno de la rutina de interrupcin (en la pila)
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Interrupciones
Interrupciones precisas e imprecisas
Procesadores superescalares: cuando ocurre una interrupcin despus
de una instruccin, es posible que las instrucciones anteriores no
hayan terminado
Interrupcin precisa (Figura (a)): El PC apunta a la instruccin que
gener la interrupcin, y puede reiniciarse ms tarde
Interrupcin imprecisa (Figura (b)): Distintas instrucciones con
diferentes estados de ejecucin. Mucha informacin de estado en la
pila. El reinicio es ms complicado y lento. Diseo para que algunas
interrupciones (p.e., E/S) sean precisas y otras no
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Conceptos clave
Tres formas distintas de llevar a cabo la E/S
1
2
3
E/S programada
E/S controlada por interrupciones
E/S mediante DMA
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Entrada/Salida Programada
Operacin
La CPU sondea el dispositivo
para ver si est listo
Desventaja: Ocupa la CPU hasta
completar la E/S
Ejemplo: imprimir ABCEDFGH
Copia carcter a carcter al
registro de datos de la
controladora de la
impresora
Despus de cada carcter
el SO comprueba si la
impresora est lista
Chequeo del registro de
estado de la controladora
Estado no listo cuando se
escribe en el bfer de datos
Estado listo cuando se ha
procesado el carcter
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Operacin
El DMA realiza la E/S sin molestar a la CPU
Una E/S programada pero el trabajo lo realiza el DMA en lugar de la
CPU (Figura (a))
Se reduce el nmero de interrupciones (Figura (b))
De una por carcter a una por cada bfer
Cuando puede no ser conveniente utilizar DMA?: cuando la CPU no
tiene nada que hacer mientras espera la interrupcin
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Gestor de Interrupciones
Qu hace el SO cuando se recibe una interrupcin?
Ocultar las interrupciones: El proceso que inicia la E/S se
bloquea hasta que se complete la E/S
Pasos a realizar una vez recibida la interrupcin (SO):
1
2
3
4
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Drivers de Dispositivos
Qu hace el SO cuando se recibe una interrupcin?
Cada dispositivo de E/S tiene asociada una controladora
La controladora tiene registros de datos y control para
comunicarse con la CPU
El nmero y tipo de registros varia de una controladora a
otra
Hardware de E/S
Software de E/S
Drivers de Dispositivos
Situacin de los drivers
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Drivers de Dispositivos
Estructura del driver
Interfaces estndares del SO con la controladora
Dispositivos de E/S de bloque o de carcter
Interfaz: varios procedimientos que realiza el driver a
instancia del SO (leer bloque, escribir bloque, leer carcter,
...)
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Drivers de Dispositivos
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Discos
Organizado en cilindros, pistas,
sectores
Entre 1 y 16 cabezas
Bsquedas traslapadas: la
controladora puede realizar
bsquedas en dos o ms unidades a
la vez
Ms sectores en la zonas exteriores
que en las interiores (16 o ms
zonas)
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Discos
Mejora del rendimiento
La brecha de rendimiento entre CPU y disco es cada vez
mayor
El tiempo de bsqueda en disco se ha reducido en un
factor 10 en 40 aos (de 100 ms a 10 ms)
Mucho menos que el tiempo de ciclo de la CPU
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Discos
Organizacin en RAID
Varios niveles (RAID 0 a RAID 6)
Objetivos del paralelismo en un sistema de discos:
Equilibrar la carga en mltiples accesos pequeos.
Incrementar la productividad
Paralelizar los accesos grandes para reducir el tiempo de
respuesta.
Hardware de E/S
Software de E/S
Capas de software
Formato de Disco
Desajuste de cilindros
El sector 0 de cada pista est
desfasado de la pista anterior
Permite mejorar el
rendimiento
Al cambiar de pista para leer
el bloque 0 de la pista
contigua el disco sigue
girando
Si no hay desfase, al situar
la cabeza en la pista
contigua, el bloque 0 ya
habra pasado
La desviacin depende de la
geometra
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Desajuste: 40 sectores
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Formato de Disco
Entrelazamiento de sectores
Una velocidad de acceso constante y continua requiere un bfer
extenso y entrelazado de sectores
Sin entrelazado (figura (a)):
Se lee el primer sector y los datos se transfieren a la memoria
Cuando termina la transferencia, el siguiente sector ya ha pasado
por debajo de la cabeza
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Relojes (temporizadores)
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Relojes (temporizadores)
Hardware del reloj
Oscilador de cristal de cuarzo y un contador que se decrementa en
cada pulso
Cuando el contador llega a cero se produce una interrupcin de la CPU
o pulso de reloj
El contador se vuelve a reiniciar automticamente (modo onda
cuadrada) o de forma explcita (modo de un solo disparo)
Varios relojes que se programan de forma independiente
Ejemplo: Reloj de 500 MHz (un
pulso cada 2 ns) y registro de
32 bits (sin signo). Se pueden
programar interrupciones a
intervalos de 2 ns a 8,6 s
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
ndice
Hardware de Entrada/Salida
Discos
Relojes (temporizadores)
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
Interfaces
El Sistema X Windows
Base del interfaz de usuario de los sistemas UNIX
Porttil, se ejecuta en el espacio del usuario
Los entornos de escritorio (GUI) se ejecutan sobre X
windows
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
El Sistema X Windows
Clientes y servidores
X windows define el protocolo entre cliente y servidor
Para obtener una GUI se necesitan otras capas de software
Xlib: procedimientos de biblioteca para funcionalidades de X
Intrinsics: para programacin con X, incluye botones, barras de
desplazamiento, . . .
Motif (Qt, GTK): apariencia visual uniforme
Interfaces
Hardware de E/S
Software de E/S
Capas de software
El Sistema X Windows
Programa de aplicacin X Window
Discos
Relojes
Interfaces
Hardware de E/S
Software de E/S
Capas de software
Discos
Relojes
El Sistema X Windows
Interfaz grfica de usuario (GUI)
Cuatro elementos esenciales: ventanas, iconos, mens y
dispositivo sealador
Cdigo a nivel de usuario (UNIX) o en el SO (Windows)
Adaptador de grficos (tarjeta de vdeo):
Controladora
Incluye una RAM de vdeo (contiene imgenes que
aparecen en la pantalla) y una CPU
1024 768, 1280 960, 1600 1200, 1920 1200
Interfaces