Está en la página 1de 36

1

SOI
5
Gestin de E/S
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


2
SOI
Hardware de E/S
Hardware de E/S
Elementos hardware del sis-
tema de E/S y arquitectura
!us
"uerto
#ontrolador
$ispositivo
#omunicacin con el
hardware de E/S
Sondeo
Interrupciones
$M%
3
SOI
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 &'sicos
(n &us para comunicarse con la #"( y es
compartido entre varios dispositivos)
(n puerto que consta de varios re*istros
Estado-indica si esta ocupado+ los datos
est'n listos+ o ha ocurrido un error)
#ontrol-operacin que ha de reali,ar)
$atos-entrada-datos a enviar a #"()
$atos-salida-datos reci&idos de la #"()
4
SOI
Arquitectura (ii)
Arquitectura (ii)
(n controlador que reci&e ordenes del
&us del sistema+ traduce ordenes en
acciones del dispositivo+ y lee/escri&e
datos desde/en el &us del sistema)
El propio dispositivo)
E.isten una *ran variedad de dispositivos
/radicionales discos+ impresoras+
teclado+ modem+ ratn+ pantalla+ etc)
0o tradicionales joystic1+ actuador de
ro&ot+ super2icie de vuelo de un avin+
sistema de inyeccin de un coche+ etc)
5
SOI
Controlador
Arquitectura (y iii)
Arquitectura (y iii)
CPU
Estado Entrada Salida Control
Bus del sistema
Dispositivo fsico
Interrupcin
6
SOI
Comunicacin entre SO y
Comunicacin entre SO y
dispositivo de E/S Sondeo
dispositivo de E/S Sondeo
3os pasos a se*uir al usar sondeo son
#"( espera hasta que el estado sea li&re)
#"( ajusta el re*istro de ordenes y
datos-salida+ si la operacin es de salida)
#"( ajusta el estado a orden-preparada)
El controlador reacciona a orden-
preparada y pone estado a ocupado) 3ee
re*istro de ordenes y ejecuta orden+ pone
un valor en datos-salida+ si es una orden
de salida)
7
SOI
Sondeo (cont!)
Sondeo (cont!)
Suponiendo que la orden tiene 4.ito+ el
controlador cam&ia el estado a ocioso)
3a #"( o&serva el cam&io a ocioso y lee
los datos si es una operacin de salida)
Es &uena eleccin si los datos van a ser
manejados al instante 5un modem o
teclado6+ ua que los datos se perder7an si
no se retiran del dispositivo lo su2iciente-
mente r'pido8 pero 9y si el dispositivo es
lento comparado con la #"(:
8
SOI
Comunicacin entre SO y
Comunicacin entre SO y
dispositivo interrupcin
dispositivo interrupcin
En lu*ar de tener la #"( ocupada espe-
rando la disponi&ilidad del dispositivo+ el
dispositivo interrumpe a la #"( cuando ha
terminado una operacin de E/S)
#uando se produce la interrupcin de E/S
$eterminar que dispositivo la provoc)
Si la ;ltima orden 2ue una operacin de
entrada+ recupera los datos del re*istro
del dispositivo)
Inicia la si*uiente operacin para el
dispositivo)
9
SOI
Acceso directo a
Acceso directo a
memoria ("#A)
memoria ("#A)
3a #"( recupera la in2ormacin &yte a &yte
no adecuado para *randes vol;menes))
$M% 5$irect Memory %ccess6 < #ontrolador de
dispositivo que puede escri&ir directa-mente
en memoria) En lu*ar de re*istros de e/s+
tiene un re*istro de direccin)
3a #"( indica al $M% la u&icacin de la
2uente/destino de la trans2erencia)
$M% opera el &us e interrumpe a la #"(
cuando se completa la trans2erencia)
$M% y #"( compiten por el &us de memoria)
10
SOI
$mplementacin
$mplementacin
Servicios suministrados
Estructura del so2tware
de E/S
Manejadores
So2t) independiente
del dispositivo
So2tware e/s en
espacio de usuario
11
SOI
Servicios de E/S
Servicios de E/S
$enominacin de archivos y dispositivos)
#ontrol de acceso)
Operaciones adecuadas para archivos y
dispositivos)
%si*nacin de dispositivos)
!;2erin*) cach4+ y spoolin*+ para suminis-
trar una comunicacin e2iciente con el
dispositivo)
"lani2icacin de E/S)
=estin de errores y recuperacin de 2allos
asociados con el dispositivo)
%islar en un mdulo las caracter7sticas y
conducta espec72ica del dispositivo)
12
SOI
Arquitectura so%tware
Arquitectura so%tware
del sistema de E/S
del sistema de E/S
"odemos estructurar el
so2t) de e/s en capas
Manejadores de
dispositivos
So2tware de e/s
independiente del
dispositivo
So2tware a nivel de
usuario)
Controlador
dispositivo
#ane&ador
dispositivo
So%tware
e/s
'i(lioteca
)ro*rama
usuario
Usuario
Sistema
operativo
Hardware
13
SOI
#ane&ador de
#ane&ador de
dispositivos
dispositivos
#ontienen todo el cdi*o dependiente del
dispositivo) #ada manejador *estiona un
tipo o clase de dispositivo)
%cepta peticiones >a&stractas? de la capa
de so2tware independiente del dispositivo+
y controla que la peticin se reali,a

/raduce peticin a&stracta en ordenes


para el controlador del dispositivo)

Se &loquea o no+se*;n tipo de operacin

Si no hay errores+ da respuesta si es


necesario+ y retorna al llamador)
14
SOI
So%tware de e/s
So%tware de e/s
independiente del
independiente del
dispositivo
dispositivo
@eali,a las tareas comunes a todos los
dispositivos y suministra una inter2a,
com;n al usuario)
3as principales 2unciones son
Suministra inter2a, uni2orme a los
manejadores
@eali,a la desi*nacin de dispositivos
Implementa la proteccin de dispositivos
))) 5continua6
15
SOI
So%tware de e/s
So%tware de e/s
independiente del
independiente del
dispositivo ( y ii)
dispositivo ( y ii)
Esta&lece el tamaAo de &loque
independiente del dispositivo 5para
dispositivos de &loques6 )
Implementa el &;2erin*
@eali,a la asi*nacin de
almacenamiento en dispositivos de
&loques 5&'sicamente discos6
%si*nar y li&erar dispositivos dedicados
In2ormar de errores producidos en la
reali,acin de la operacin)
16
SOI
"esi*nacin de
"esi*nacin de
dispositivos
dispositivos
Espacio de nom&re de dispositivos -de2ine
cmo identi2icar y nom&rar los dispositivos
E.isten di2erentes espacios de nom&re
Espacio de nom&res hardware -especi2ica
el dispositivo por el controlador al que
esta li*ado y el n;mero de dispositivo
l*ico dentro del controlador)
Espacio de nom&res 1ernel -utili,ado por
el n;cleo+ suele &asarse en el anterior)
Espacio de nom&res de usuario -de&e ser
un esquema sencillo y 2amiliar)
17
SOI
"esi*nacin (cont!)
"esi*nacin (cont!)
El sistema de e/s independiente del disposi-
tivo de2ine las sem'nticas de los espacios de
nom&res 1ernel y usuario+ y esta&lece las
correspondencias entre ellas)
En (ni.+ el espacio de nom&res 1ernel
identi2ica un dispositivos por
n;mero principal-identi2ica el controlador
n;mero secundario-instancia del
dispositivo)
tipo de dispositivo -car'cter o &loque)
18
SOI
Espacio de nom(res
Espacio de nom(res
de usuario
de usuario
3a 2orma de desi*nacin m's e.tendida es
la inte*racin del espacio de nom&res de
dispositivos en el de archivos)
El concepto central es el archivo de
dispositivo permite manejar de la misma
2orma archivos y dispositivos 5mismas
llamadas al sistemas6+ y aplicarles los
mismos mecanismo de proteccin)
En (0IB un archivo dispositivo es un
archivo especial que no contiene datos+ si
no el n;mero principal y secundario)
19
SOI
"esi*nacin e indepen+
"esi*nacin e indepen+
dencia del dispositivo
dencia del dispositivo
Proceso
Tabla de conmutacin
de dispositivos
open d! ""#
$d%
arc&ivo
dispositivo
i
'ane(ador del
dispositivo i
open""# ) *
write# ) *
close# ) *
" " "
+tros
servicios
,ernel
Interfa- del S+
I
n
t
e
r
f
a
-

,
e
r
n
e
l
.
m
a
n
e
(
a
d
o
r
c
o
n
t
r
o
l
a
d
o
r
Sistema
de arc&ivos
20
SOI
',%erin* de E/S
',%erin* de E/S
3os dispositivos suelen tener una pequeAa
memoria en la tarjeta para almacenar datos
temporalmente antes de trans2erirlos
a/desde la #"()
9"or qu4 tener &;2eres en el SO: "ara
%coplar la di2erencia de velocidades entre
la #"( y el dispositivo)
Hacer 2rente a la di2erencia de tamaAos
de trans2erencia de datos entre
dispositivos)
Minimi,ar el tiempo que el proceso de
usuario esta &loqueado en una escritura)
21
SOI
Cach-
Cach-
Mejorar el rendimiento del disco
reduciendo el n;mero de acceso al disco)
Mantener &loques de datos recientemente
usados en memoria despu4s 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).
22
SOI
Cach- (cont!)
Cach- (cont!)
Ej) write(direccinDisco)
If (bloque en memoria) then
actualiza su valor
else
asigna esacio en memoria! leelo de disco!
actualiza su valor en memoria.
"ol7ticas de escritura
Crite-trouh* -escri&ir todos los niveles de
memoria que contienen el &loque+ incluido
el disco) Muy 2ia&le)
Crite-&ac1 - escri&ir slo en memoria m's
r'pida que contiene el &loque8 escri&ir en
memorias m's lentas y disco m's tarde)
M's r'pido)
23
SOI
So%tware de e/s
So%tware de e/s
en espacio de usuario
en espacio de usuario
!i&liotecas est'ndar de e/s - permiten
reali,ar las llamadas al sistema de e/s para
=estin el 2ormatos 5ej) print26
#ontrol de los dispositivos 5p) ej) iocntl6
Spoolin*- t4cnica para manejar dispositivos
dedicados en sistemas multipro*ramados)
") ej) 0o asi*namos impresora sino que
*eneramos la impresin en un archivo8 un
proceso especial manda los archivos a
impresin) I*ual que el correo electrnico)
24
SOI
Spoolin*
Spoolin*
Proceso
Spooler
'ane(ador
impresora
/utina
de e0s
'ane(ador
de disco
B1fer
2in
impresin
32in
imprimir4
2in
transferencia
Comunicacin
.lamada a rutina
5l6o 7ue
imprimir
file"prn
25
SOI
/isin del pro*ramador
/isin del pro*ramador
Disin del usuario de los
dispositivos de E/S
o2recida por el SO)
(na operacin completa
de E/S)
#mo a2ecta la visin del
pro*ramador a la
estructura del manejador)
26
SOI
/isin del pro*ramador
/isin del pro*ramador
de los dispositivos de E/S
de los dispositivos de E/S
El SO suministra una inter2a, de los dispo-
sitivos que simpli2ica el tra&ajo del
pro*ramador)
Inter2a, est'ndar para dispositivos
relacionados)
El manejador encapsula las dependen-
cias del dispositivo)
El SO puede soportar nuevos dispositivos
simplemente con suministrar el
manejador del dispositivo)
27
SOI
/isin del pro*ramador
/isin del pro*ramador
(cont!)
(cont!)
#aracter7sticas del dispositivo
(nidad de trans2erencia car'cter/&loque
M4todo de acceso secuencial/aleatorio
/empori,acin s7ncrona/as7ncrona)
O&servar que la mayor7a de los
dispositivos son as7ncronos+ mientras
que la llamadas al sistema de E/S son
s7ncronas) El SO implementa E/S
&loqueantes)
#ompartido o dedicado)
Delocidad)
Operacin entrada+ salida+ o am&as)
28
SOI
0odo &unto una lectura
0odo &unto una lectura

El usuario solicita una lectura de dispositivo

Si los datos est'n en un &;2er+ salta a paso


E) Si no est'n
a) El SO instruye al dispositivo y >espera?)
&) #uando el dispositivo tiene los datos
interrumpe a la #"(+ que los trans2iere a
un &;2er del SO) #on $M% )))

El SO trans2iere los datos al proceso de


usuario y lo des&loquea)

#uando el proceso alcan,a la #"(+ si*ue la


ejecucin despu4s de la llamada)
29
SOI
Operacin de lectura
Operacin de lectura
Proceso
'ane(ador
Controlador
read"""#8
read"""# )
"""
lee9solicitud#8
wait9fin#8
return8
)
w&ile:# )
solicita9traba(o#8
fin9traba(o#8
*
30
SOI
1n esclavo con dos amos
1n esclavo con dos amos
El di&ujo muestra como el manejador
o&edece ordenes del resto de mdulos del
SO y del controlador del dispositivo) Siendo
esto as7 9cmo espera+ wait_fin()+ el
manejador : si este+ que se ejecuta en el
conte.to del proceso+ de&e &loquearse para
implementar E/S s7ncronas desde el punto
de vista del pro*ramador+ y la invocacin
de las rutinas de servicio de interrupcin es
as7ncrona y no de&e utili,ar el conte.to del
proceso)
31
SOI
Estructura de dos niveles
Estructura de dos niveles
para el mane&ador
para el mane&ador
El manejador se divide en dos mitades
3a mitad superior contiene las rutinas
s7ncronas+ se ejecuta en el conte.to del
proceso y puede acceder a su espacio de
direcciones) "uede &loquear al proceso)
3a mitad in2erior contiene las rutinas
as7ncronas+ no accede al conte.to del
proceso y normalmente no tiene relacin
con el proceso) 0o puede &loquearse+
pues &loquear7a a un proceso no
relacionado con la interrupcin)
32
SOI
#ane&ador de dos
#ane&ador de dos
mitades
mitades
'itad inferior
de mane(ador
'itad superior
de mane(ador
/esto del
n1cleo
Controlador del dispositivo
Proceso
Cola traba(os
+peraciones leer! escribir!
cerrar! abrir! controlar! etc#
Interrupcin Control
Insertar
Tomar
33
SOI
2endimiento y sus
2endimiento y sus
soluciones
soluciones
% modo de conclusin
"ro&lemas de rendimiento)
"osi&les soluciones a los
pro&lemas de rendimiento)
34
SOI
)ro(lemas de
)ro(lemas de
rendimiento
rendimiento
3as E/S son costosas por varias ra,ones
Involucran movimientos 27sicos lentos
5ca&e,al disco6 o l7neas de comunica-
ciones 5tel42ono-red6 que tam&i4n lo son)
3os dispositivos de E/S son a menudo
disputados por m;ltiples procesos)
3as operaciones de E/S se suministran
por medio de llamadas al sistema y
*estin de interrupciones+ que son
lentas)
35
SOI
2endimiento
2endimiento
soluciones (i)
soluciones (i)
@educir el n;mero de veces que los datos
son copiados manteniendolos en cach4)
@educir la 2recuencia de interrupciones
utili,ando+ si es posi&le+ *randes
trans2erencias de datos)
$escar*ar computacin de la #"( principal
utili,ando controladores $M%)
36
SOI
2endimiento
2endimiento
soluciones (y ii)
soluciones (y ii)
%umentar el n;mero de dispositivos para
reducir la contencin de uno ;nico+ y as7+
mejorar el uso de #"()
Incrementar memoria 27sica para reducir la
cantidad de tiempo en pa*inacin y por
ello mejorar el uso de #"()

También podría gustarte