Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gestin de E/S
Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementacin de los servicios Mejora del redimiento de E/S
SOI
Hardware de E/S
Elementos hardware del sistema de E/S y arquitectura: Bus Puerto Controlador Dispositivo Comunicacin con el hardware de E/S: Sondeo Interrupciones DMA
SOI
SOI
Arquitectura (ii)
Un controlador que recibe ordenes del bus del sistema, traduce ordenes en acciones del dispositivo, y lee/escribe datos desde/en el bus del sistema. El propio dispositivo. Existen una gran variedad de dispositivos: Tradicionales: discos, impresoras, teclado, modem, ratn, pantalla, etc. No tradicionales: joystick, actuador de robot, superficie de vuelo de un avin, sistema de inyeccin de un coche, etc.
SOI
Arquitectura (y iii)
CPU Interrupcin Estado Control Salida Entrada
SOI
Sondeo (cont.)
Suponiendo que la orden tiene xito, el controlador cambia el estado a ocioso. La CPU observa el cambio a ocioso y lee los datos si es una operacin de salida. Es buena eleccin si los datos van a ser manejados al instante (un modem o teclado), ua que los datos se perderan si no se retiran del dispositivo lo suficientemente rpido; pero y si el dispositivo es lento comparado con la CPU?
SOI
SOI
Implementacin
Servicios suministrados Estructura del software de E/S: Manejadores Soft. independiente del dispositivo Software e/s en espacio de usuario
SOI
10
Servicios de E/S
Denominacin de archivos y dispositivos. Control de acceso. Operaciones adecuadas para archivos y dispositivos. Asignacin de dispositivos. Bfering. cach, y spooling, para suministrar una comunicacin eficiente con el dispositivo. Planificacin de E/S. Gestin de errores y recuperacin de fallos asociados con el dispositivo. Aislar en un mdulo las caractersticas y conducta especfica del dispositivo.
11
SOI
Usuario
Sistema operativo
Hardware
12
Manejador de dispositivos
Contienen todo el cdigo dependiente del dispositivo. Cada manejador gestiona un tipo o clase de dispositivo. Acepta peticiones abstractas de la capa de software independiente del dispositivo, y controla que la peticin se realiza: Traduce peticin abstracta en ordenes para el controlador del dispositivo. Se bloquea o no,segn tipo de operacin Si no hay errores, da respuesta si es necesario, y retorna al llamador.
SOI
13
14
SOI
Designacin de dispositivos
Espacio de nombre de dispositivos -define cmo identificar y nombrar los dispositivos Existen diferentes espacios de nombre: Espacio de nombres hardware -especifica el dispositivo por el controlador al que esta ligado y el nmero de dispositivo lgico dentro del controlador. Espacio de nombres kernel -utilizado por el ncleo, suele basarse en el anterior. Espacio de nombres de usuario -debe ser un esquema sencillo y familiar.
16
SOI
Designacin (cont.)
El sistema de e/s independiente del dispositivo define las semnticas de los espacios de nombres kernel y usuario, y establece las correspondencias entre ellas. En Unix, el espacio de nombres kernel identifica un dispositivos por: nmero principal-identifica el controlador nmero secundario-instancia del dispositivo. tipo de dispositivo -carcter o bloque.
SOI
17
SOI
Proceso
write() { }
...
close() { } Manejador del dispositivo i
SOI
controlador
19
open(..) { }
Bfering de E/S
Los dispositivos suelen tener una pequea memoria en la tarjeta para almacenar datos temporalmente antes de transferirlos a/desde la CPU. Por qu tener bferes en el SO? Para: Acoplar la diferencia de velocidades entre la CPU y el dispositivo. Hacer frente a la diferencia de tamaos de transferencia de datos entre dispositivos. Minimizar el tiempo que el proceso de usuario esta bloqueado en una escritura.
20
SOI
Cach
Mejorar el rendimiento del disco reduciendo el nmero de acceso al disco. Mantener bloques de datos recientemente usados en memoria despus de que se complete la llamada de E/S que lo trajo. Ej.: read(DireccionDisco) if (bloque en memoria)then Retorna su valor else LeeSector(DireccionDisco).
SOI
21
Cach (cont.)
Ej.:
write(direccinDisco) If (bloque en memoria) then actualiza su valor else asigna espacio en memoria; leelo de disco; actualiza su valor en memoria.
SOI
Polticas de escritura: Write-trouhg -escribir todos los niveles de memoria que contienen el bloque, incluido el disco. Muy fiable. Write-back - escribir slo en memoria ms rpida que contiene el bloque; escribir en memorias ms lentas y disco ms tarde. Ms rpido.
22
23
Spooling
Proceso
Fin imprimir Algo que imprimir
Spooler
Fin impresin
Manejador de disco
Manejador impresora
SOI
24
25
SOI
SOI
28
Operacin de lectura
Proceso read(...); Manejador
read(...) { ... lee_solicitud(); wait_fin(); return; {
Controlador
while(1) { solicita_trabajo(); fin_trabajo(); }
SOI
29
SOI
SOI
SOI
33
Problemas de rendimiento
Las E/S son costosas por varias razones: Involucran movimientos fsicos lentos (cabezal disco) o lneas de comunicaciones (telfono-red) que tambin lo son. Los dispositivos de E/S son a menudo disputados por mltiples procesos. Las operaciones de E/S se suministran por medio de llamadas al sistema y gestin de interrupciones, que son lentas.
34
SOI
SOI
35
SOI
36