Publicado el 8 de Mayo del 2019
2.107 visualizaciones desde el 8 de Mayo del 2019
438,1 KB
36 paginas
Creado hace 16a (30/09/2008)
5
Gestión de E/S
Gestión de E/S
• Servicios de E/S que
suministra el SO
• Hardware de Entradas/salidas
• Implementación de los
servicios
• Mejora del redimiento de E/S
SOI
1
Hardware de E/S
Hardware de E/S
Elementos hardware del sis-
tema de E/S y arquitectura:
Bus
Puerto
Controlador
Dispositivo
Comunicación con el
hardware de E/S:
Sondeo
Interrupciones
DMA
SOI
2
Arquitectura hardware del
Arquitectura hardware del
sistema de E/S
sistema de E/S
El hardware asociado con un dispositivo de E/
S consta de cuatro elementos básicos:
Un bus para comunicarse con la CPU y es
compartido entre varios dispositivos.
Un puerto que consta de varios registros:
Estado-indica si esta ocupado, los datos
están listos, o ha ocurrido un error.
Control-operación que ha de realizar.
Datos_entrada-datos a enviar a CPU.
Datos_salida-datos recibidos de la CPU.
SOI
3
Arquitectura (ii)
Arquitectura (ii)
Existen una gran variedad de dispositivos:
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.
Tradicionales: discos, impresoras,
teclado, modem, ratón, pantalla, etc.
No tradicionales: joystick, actuador de
robot, superficie de vuelo de un avión,
sistema de inyección de un coche, etc.
SOI
4
Arquitectura (y iii)
Arquitectura (y iii)
CPU
Interrupción
Estado
Control
Bus del sistema
Salida
Entrada
Controlador
Dispositivo físico
SOI
5
Comunicación entre SO y
Comunicación entre SO y
dispositivo de E/S: Sondeo
dispositivo de E/S: Sondeo
Los pasos a seguir al usar sondeo son:
CPU espera hasta que el estado sea libre.
CPU ajusta el registro de ordenes y
datos-salida, si la operación es de salida.
CPU ajusta el estado a orden-preparada.
El controlador reacciona a orden-
preparada y pone estado a ocupado. Lee
registro de ordenes y ejecuta orden, pone
un valor en datos-salida, si es una orden
de salida.
SOI
6
Sondeo (cont.)
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 operación de salida.
Es buena elección si los datos van a ser
manejados al instante (un modem o
teclado), ua que los datos se perderían si
no se retiran del dispositivo lo suficiente-
mente rápido; pero ¿y si el dispositivo es
lento comparado con la CPU?
SOI
7
Comunicación entre SO y
Comunicación entre SO y
dispositivo: interrupción
dispositivo: interrupción
En lugar de tener la CPU ocupada espe-
rando la disponibilidad del dispositivo, el
dispositivo interrumpe a la CPU cuando ha
terminado una operación de E/S.
Cuando se produce la interrupción de E/S:
Determinar que dispositivo la provocó.
Si la última orden fue una operación de
entrada, recupera los datos del registro
del dispositivo.
Inicia la siguiente operación para el
dispositivo.
SOI
8
Acceso directo a
Acceso directo a
memoria (DMA)
memoria (DMA)
La CPU recupera la información byte a byte
no adecuado para grandes volúmenes..
DMA (Direct Memory Access) – Controlador de
dispositivo que puede escribir directa-mente
en memoria. En lugar de registros de e/s,
tiene un registro de dirección.
La CPU indica al DMA la ubicación de la
fuente/destino de la transferencia.
DMA opera el bus e interrumpe a la CPU
cuando se completa la transferencia.
DMA y CPU compiten por el bus de memoria.
SOI
9
Implementación
Implementación
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
Servicios de E/S
Denominación de archivos y dispositivos.
Control de acceso.
Operaciones adecuadas para archivos y
dispositivos.
Asignación de dispositivos.
Búfering. caché, y spooling, para suminis-
trar una comunicación eficiente con el
dispositivo.
Planificación de E/S.
Gestión de errores y recuperación de fallos
asociados con el dispositivo.
Aislar en un módulo las características y
conducta específica del dispositivo.
SOI
11
Arquitectura software
Arquitectura software
del sistema de E/S
del sistema de E/S
Podemos estructurar el
soft. de e/s en capas:
Manejadores de
dispositivos
Software de e/s
independiente del
dispositivo
Software a nivel de
usuario.
SOI
Programa
usuario
Biblioteca
Software
e/s
Manejador
dispositivo
Usuario
Sistema
operativo
Hardware
Controlador
dispositivo
12
Manejador de
Manejador de
dispositivos
dispositivos
Contienen todo el código 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 petición se realiza:
¶Traduce petición abstracta en ordenes
para el controlador del dispositivo.
• Se bloquea o no,según tipo de operación
‚ Si no hay errores, da respuesta si es
necesario, y retorna al llamador.
SOI
13
Software de e/s
Software de e/s
independiente del
independiente del
dispositivo
dispositivo
Realiza las tareas comunes a todos los
dispositivos y suministra una interfaz
común al usuario.
Las principales funciones son:
Suministra interfaz uniforme a los
manejadores
Realiza la designación de dispositivos
Implementa la protección de dispositivos
... (continua)
SOI
14
Software de e/s
Software de e/s
independiente del
independiente del
dispositivo ( y ii)
dispositivo ( y ii)
Establece el tamaño de bloque
independiente del dispositivo (para
dispositivos de bloques) .
Implementa el búfering
Realiza la asignación de
almacenamiento en dispositivos de
bloques (básicamente discos)
Asignar y liberar dispositivos dedicados
Informar de errores producidos en la
realización de la operación.
SOI
15
Designación de
Designación de
dispositivos
dispositivos
Espacio de nombre de dispositivos -define
cómo 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 número de dispositivo
lógico dentro del controlador.
Espacio de nombres kernel -utilizado por
el núcleo, suele basarse en el anterior.
Espacio de nombres de usuario -debe ser
un esquema sencillo y familiar.
SOI
16
Designación (cont.)
Designación (cont.)
El sistema de e/s independiente del disposi-
tivo define las semánticas 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:
número principal-identifica el controlador
número secundario-instancia del
dispositivo.
tipo de dispositivo -carácter o bloque.
SOI
17
Espacio de nombres
Espacio de nombres
de usuario
de usuario
La forma de designación más extendida es
la integración del espacio de nombres de
dispositivos en el de archivos.
El concepto central es el archivo de
dispositivo: permite manejar de la misma
forma archivos y dispositivos (mismas
llamadas al sistemas), y aplicarles los
mismos mecanismo de protección.
En UNIX un archivo dispositivo es un
archivo especial que no contiene datos, si
no el número principal y secundario.
SOI
18
Designación e indepen-
Designación e indepen-
dencia del dispositivo
dencia del dispositivo
open (d, ..)
Proceso
Interfaz del SO
Tabla de conmutación
de dispositivos
¿d?
i
dispositivo
archivo
Sistema
de archivos
SOI
servicios
Otros
kernel
open(..) { }
write() { }
. . .
close() { }
r
o
d
a
l
o
r
t
n
o
c
Manejador del
dispositivo i
j
r
o
d
a
e
n
a
m
-
l
e
n
r
e
k
z
a
f
r
e
t
n
I
19
Búfering de E/S
Búfering de E/S
Los dispositivos suelen tener una pequeña
memoria en la tarjeta para almacenar datos
temporalmente antes de transferirlos
a/desde la CPU.
¿Por qué tener búferes en el SO? Para:
Acoplar la diferencia de velocidades entre
la CPU y el dispositivo.
Hacer frente a la diferencia de tamaños
de transferencia de datos entre
dispositivos.
Minimizar el tiempo que el proceso de
usuario esta bloqueado en una escritura.
SOI
20
Caché
Caché
Mejorar el rendimiento del disco
reduciendo el número de acceso al disco.
Mantener bloques de datos recientemente
usados en memoria después 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.)
Caché (cont.)
Políticas de escritura:
Ej.: write(direcciónDisco)
If (bloque en memoria) then
actualiza su valor
else
asigna espacio en memoria; leelo de disco;
actualiza su valor en memoria.
Write-trouhg -escribir todos los niveles de
memoria que contienen el bloque, incluido
el disco. Muy fiable.
Write-back - escribir sólo en memoria más
rápida que contiene el bloque; escribir en
memorias más lentas y disco más tarde.
Más rápido.
SOI
22
Software de e/s
Software de e/s
en espacio de usuario
en espacio de usuario
Bibliotecas estándar de e/s - permiten
realizar las llamadas al sistema de e/s para:
Gestión el formatos (ej. printf)
Control de los dispositivos (p. ej. iocntl)
Spooling- técnica para manejar dispositivos
dedicados en sistemas multiprogramados.
P. ej. No asignamos impresora sino que
generamos la impresión en un archivo; un
proceso especial manda los archivos a
impresión. Igual que el correo electrónico.
SOI
23
Spooling
Spooling
Proceso
“Fin
imprimir”
Manejador
de disco
file.prn
SOI
Algo que
imprimir
Rutina
de e/s
Búfer
Fin
transferencia
Comunicación
Llamada a rutina
Spooler
Fin
impresión
Manejador
impresora
24
Visión del programador
Visión del programador
Visión del usuario de los
dispositivos de E/S
ofrecida por el SO.
Una operación completa
de E/S.
Cómo afecta la visión del
programador a la
estructura del manejador.
SOI
25
Visión del programador
Visión del programador
de los dispositivos de E/S
de los dispositivos de E/S
El SO suministra una interf
Comentarios de: Gestión de E/S - Sistemas Operativos I (0)
No hay comentarios