Publicado el 10 de Febrero del 2017
677 visualizaciones desde el 10 de Febrero del 2017
1,4 MB
66 paginas
Tema 6
Gestin de Entrada/Salida
Sistemas Operativos
Tema 6 Gesti·on de Entrada/Salida p.1/66
˝ndice
1. Arquitectura del sistema de E/S (Tanenbaum [C5.1.1, C5.2 y C5.3])
2. Discos (Tanenbaum [C5.4.1, C5.4.3 y C5.4.4])
3. Relojes (Tanenbaum [C5.5])
4. Terminales (Tanenbaum [C5.6 y C5.7])
5. E/S en Linux (Tanenbaum [C10.5.1, C10.5.3 y C10.5.4])
6. E/S en Windows 2000 (Tanenbaum [C11.6.1, C11.6.3 y C11.6.4])
Tema 6 Gesti·on de Entrada/Salida p.2/66
1. Arquitectura del sistema de E/S
˝ndice
1.1 Objetivos del software de E/S
1.2 Dispositivos de bloques y de caracteres
1.3 Estructura y componentes del sistema de E/S
1.4 Manejadores de interrupciones
1.5 Manejadores de dispositivos
1.6 Software de E/S independiente del dispositivo
1.7 Software de E/S en el espacio de usuario
Tema 6 Gesti·on de Entrada/Salida p.3/66
1.1 Objetivos del software de E/S
1. Independencia de dispositivo
Se debe poder acceder a los dispositivos de E/S sin tener que
especicar previamente de quØ tipo de dispositivo se trata
Como en los disp. de bloques: disquetes, discos duros, cdrom’s
El SO debe resolver los problemas causados por usar diferentes
dispositivos, que requieren rdenes distintas para manejarlos
2. Nombres uniformes para los dispositivos
El nombre de un chero o dispositivo debe ser simplemente una
cadena o un entero, y no depender del dispositivo
3. Manejo de errores
Deben manejarse tan cerca del hardware como sea posible
Subsanar todos los errores posibles
Comunicando los no subsanables a los procesos de usuario
Tema 6 Gesti·on de Entrada/Salida p.4/66
1.1 Objetivos del software de E/S (ii)
4. Conversin de transferencias asncronas (controladas por inte-
rrupciones) en sncronas (por bloqueo)
Casi toda E/S fsica es asncrona: la CPU inicia la transferencia y
realiza otra tarea hasta que llega una interrupcin
Sin embargo, es mÆs sencillo escribir los programas si las
operaciones de E/S son bloqueantes
El SO ha de hacer que las operaciones que son controladas por
interrupciones parezcan bloqueantes para el programador
5. Comparticin de recursos
Debe permitir la comparticin de ciertos dispositivos (como los
discos)
Pero al mismo tiempo debe garantizar el uso exclusivo de otros
(como las impresoras)
6. Uso de buffers
Debe proporcionar almacenamiento temporal en memoria para
evitar pØrdida de datos (teclado) o acelerar dispositivos (discos)
Tema 6 Gesti·on de Entrada/Salida p.5/66
1.2 Dispositivos de bloques y de caracteres
Dispositivos de bloques
Almacenan informacin en bloques de tamaæo jo, cada uno con su
propia direccin
Es posible leer o escribir cada bloque con independencia de todos
los demÆs
Dispositivos de caracteres
Suministra o acepta un ujo de caracteres sin estructurarlos en
bloques
No es direccionable ni tiene una operacin de desplazamiento
Otros, sin embargo, no son direccionables por bloques y tampoco
aceptan un ujo de caracteres
Relojes
Pantallas mapeadas a memoria
La divisin es muy œtil:
Sist. Ficheros ) disp. bloques ) manejador ) disp. fsico
Tema 6 Gesti·on de Entrada/Salida p.6/66
1.3 Estructura y componentes del software de E/S
El SW de E/S suele estar organizado en 4 capas, cada una con una
funcin bien denida y una interfaz clara con las capas adyacentes
1. Manejadores de interrupciones
2. Manejadores de dispositivos
3. Software de E/S independiente del dispositivo (SID)
4. Software de E/S en el espacio de usuario
Solicitud
de E/S
Capa
Procesos de usuario
Software independiente
del dispositivo
Manejadores de
dispositivo
Manejadores de
interrupciones
Respuesta
de E/S
Hace llamadas de E/S; da formato a la E/S; spooling
Funciones de E/S
Dar nombres, protección, bloqueos, uso de buffers, asignaciones
Inicializa los registros del dispositivo; comprueba el estado
Derpierta al manejador al terminar la E/S
Hardware
Realiza la operación de E/S
Tema 6 Gesti·on de Entrada/Salida p.7/66
1.4 Manejadores de interrupciones
Se deben ocultar al mÆximo en el S.O.
El proceso que solicita la operacin se bloquea hasta
que termina la E/S
Cuando se presenta una interrupcin el manejador de
interrupciones hace lo propio para manejarla. DespuØs
avisa al manejador que le solicit esa operacin de E/S
El manejador despierta al proceso y prosigue su
ejecucin
As, el efecto real es que el proceso que antes estaba
bloqueado ahora ya puede ejecutarse
Tema 6 Gesti·on de Entrada/Salida p.8/66
1.5 Manejadores de dispositivos
Cdigo que depende de los dispositivos, que sirve para
controlarlos
Cada manejador habla con la controladora de un tipo determinado de
dispositivos, o de una clase de dispositivos
Forma parte del nœcleo del SO, necesita ejecutarse en modo nœcleo
para acceder a los registros de la controladora del dispositivo
Tareas del manejador del dispositivo:
Trata las solicitudes abstractas del SID y se encarga de que se satisfagan
indicando a la controladora quØ hay que hacer y leyendo la respuesta de la misma
Verica la ejecucin de la operacin, corrigiendo posibles errores
Inicializa el dispositivo, comprueba si estÆ encendido (p.e. el motor de una
disquetera), si estÆ conectado, o si estÆ ocupado
Al solicitar la orden a realizar, el manejador puede ser que tenga que
esperar (bloqueÆndose hasta que se produzca una interrupcin) o que la operacin
termine sin retraso (el manejador no se bloquea)
Ha de ser reentrante ) durante su ejecucin, debe considerar la
posibilidad de que se le invoque otra vez antes de terminar
Tema 6 Gesti·on de Entrada/Salida p.9/66
1.6 Software de E/S independiente de dispositivo
Hay software que no depende directamente del dispositivo
Dependiente versus independiente: ¿dnde estÆ la frontera?
Algunas funciones que podran efectuarse con independencia del dispositivo en
realidad se ejecutan en el manejador por eciencia o por otros motivos
Funciones:
1.
2. Asociacin de nombres simblicos de los dispositivos y el
Interfaz uniforme del software a nivel de usuario
manejador correcto: /dev/tty0 ) nodo-i especial (id. tipo y dispositivo)
Interfaz uniforme para manejadores de dispositivo
3.
4. Proteccin de dispositivos ) evitar que usuarios no autorizados
accedan al dispositivo
5. Tamaæo de bloque independiente del dispositivo
Agrupar o dividir sectores para conseguir un tamaæo œnico de bloque lgico
Las capas superiores pueden trabajar con dispositivos abstractos
Tema 6 Gesti·on de Entrada/Salida p.10/66
1.6 Software de E/S independiente de dispositivo (ii)
Funciones (continœa...)
6. Uso de buffers para almacenamiento temporal de los datos
Homogeneizan velocidades, se pueden recibir los datos de manera mÆs
rÆpida que la velocidad que pueden salir
7. Asignacin de espacio en los dispositivos de bloques
Realizar la gestin de la lista ligada o mapa de bits para administrar el espacio
libre es independiente del dispositivo
8. Arbitrio entre dispositivos de uso exclusivo
Examinar las solicitudes de uso de dispositivos y aceptarlas o rechazarlas,
segœn el dispositivo estØ disponible o no
9.
Informe de errores
Los errores no resueltos por los manejadores deberÆn ser tratados por el SID,
que intentarÆ solucionarlos, y si no puede, deberÆ informar de los mismos
Tema 6 Gesti·on de Entrada/Salida p.11/66
1.7 Software de E/S en espacio de usuario
Procedimientos de biblioteca
La mayora del software de E/S estÆ en el nœcleo
Sin embargo, tambiØn hay procedimientos de biblioteca que se
ejecutan en modo usuario y que se encargan de realizar las
llamadas al sistema (ej. read, printf, etc.)
Normalmente preparan el «entorno» adecuado y a continuacin
realizan la llamada al sistema
Sistema de spooling
Los dispositivos de uso exclusivo no se pueden dejar a cargo
de programas de usuario (problema: monopolizacin)
El sistema de spooling es una forma de manejar dispositivos
dedicados en un sistema con multipogramacin
Hay un demonio y un directorio de spooling
El demonio verica peridicamente el directorio para saber si hay
trabajos pendientes
Las impresoras se manejan de esta manera
Tema 6 Gesti·on de Entrada/Salida p.12/66
˝ndice
2. Discos
disco
2.1 Hardware para discos. Estructura fsica
2.2 Planicacin de los movimientos del brazo del
2.3 Manejo de errores
2.4 Discos en RAM
2.5 Fiabilidad y tolerancia a fallos. Sistemas RAID
Tema 6 Gesti·on de Entrada/Salida p.13/66
2.1 Hardware
Serie de platos que giran sobre un
eje (10.000rpm)
Conjunto de cabezas, una por cada
supercie del disco
Cabezas conectadas a un brazo
mvil. Determinan quØ pistas
conforman un cilindro
Cada cilindro tiene tantas pistas
como cabezas haya
Las pistas se dividen en sectores
Las unidades son los sectores (bloques fsicos) de 512, 1024, 2048
bytes, . . .
Cada sector se identica como: hcilindro, cabeza, sectori
Tema 6 Gesti·on de Entrada/Salida p.14/66
2.2 Planicacin de los movimientos del brazo del disco
El tiempo de leer o escribir un sector
del disco estÆ determinado por cuatro
factores:
1. Mover el brazo hasta el cilindro )
tiempo de bœsqueda
2. Activar la cabeza adecuada, que
supone un tiempo despreciable
3. Esperar a que el sector pase ante
la cabeza ) tiempo de latencia
4. Leer o escribir el sector ) tiempo
de transmisin
El mÆs costoso es el tiempo de bœsqueda ) el objetivo es, por
tanto, reducir el tiempo medio de bœsqueda
Esto tiene que ser logrado por el manejador del dispositivo
Tema 6 Gesti·on de Entrada/Salida (cid:15
Comentarios de: Tema 6 - Gestión de Entrada/Salida (0)
No hay comentarios