Unidad 4 SAdministración de Entrada
-
Upload
idark-skynet -
Category
Documents
-
view
215 -
download
0
Transcript of Unidad 4 SAdministración de Entrada
-
7/25/2019 Unidad 4 SAdministracin de Entrada
1/24
Unidad 4 Administracin de entrada/salida.
IntroduccinUna de las funciones principales de un S. O. es el control de todos los dispositivos de e / s de lacomputadora.Las principales funciones relacionadas son:
Enviar comandos a los dispositivos.
Detectar las interrupciones.
Controlar los errores.
Proporcionar una interfa entre los dispositivos ! el resto del sistema.
El cdi"o de e / s representa una fraccin si"ni#cativa del S. O.El uso inapropiado de los dispositivos de e/s frecuentemente "enera ine#ciencias del sistema$ lo%ue afecta al performance global.
Principios del Hardware de E/SEl enfo%ue %ue se considerar& tiene %ue ver con la interfa %ue desde el 'ard(are se presenta alsoft(are:
Comandos %ue acepta el 'ard(are.
)unciones %ue realia.
Errores %ue puede informar.
4.1 Dispositivos mane!adores de dispositivos "device drivers#.
Dispositivos de E/S
Se pueden clasi#car en dos "randes cate"or*as se"+n el tipo de transmisin de informacin:
Dispositivos de ,lo%ue.
Dispositivos de caracter.
Las principales caracter*sticas de los dispositivos de ,lo%ue son:
La informacin se almacena en ,lo%ues de tama-o #o.
Cada ,lo%ue tiene su propia direccin.
Los tama-os m&s comunes de los ,lo%ues van desde los 01 ,!tes 'asta los $204 ,!tes.
Se puede leer o escri,ir en un ,lo%ue de forma independiente de los dem&s$ en cual%uiermomento.
Un eemplo t*pico de dispositivos de ,lo%ue son los discos.
Las principales caracter*sticas de los dispositivos de caracter son:
La informacin se trans#ere como un 3uo de caracteres$ sin suetarse a una estructura de
,lo%ues.
o se pueden utiliar direcciones.
o tienen una operacin de ,+s%ueda.
Un eemplo t*pico de dispositivos de caracter son las impresoras de l*nea$ terminales$ interfacesde
una red$ ratones$ etc.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
2/24
Al"unos dispositivos no se austan a este es%uema de clasi#cacin$ por eemplo los reloes$ %ue ntienen
direcciones por medio de ,lo%ues ! no "eneran o aceptan 3uos de caracteres.
Los dispositivos de E/S tam,i5n se pueden a"rupar en tres "randes "rupos se"+n su funcin:
6 Dispositivos de interfa de usuario. Se llama as* a los dispositivos %ue permiten la comunicacinentre los
usuarios ! la computadora. Dentro de este "rupo se inclu!en todos los dispositivos %ue sirvenpara
proporcionar interfa con el usuario$ tanto para entrada 7ratn$ teclado$ etc.8 como para salida7impresoras$
pantalla$ etc.8. E9isten perif5ricos menos 'a,ituales$ pero m&s so#sticados$ tales como unesc&ner$ lectores de
'uella di"ital$ lectores de cinta ma"n5tica$ instrumentos musicales di"itales 7;D;8$ etc.
6 Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no vol&til dedatos !
memoria. Su funcin primordial es a,astecer de datos ! almacenamiento a los pro"ramas %ue seeecutan en el
CPU. Se"+n su capacidad ! la inmediate con %ue se puede acceder a los datos almacenados enestos
dispositivos$ se pueden dividir en almacenamiento secundario 7discos ! memorias 3as'8 !terciario 7cintas8
6 Dispositivos de comunicaciones. Permiten conectar a la computadora con otras computadoras atrav5s de
una red. Los dos tipos de dispositivos m&s comunes de esta clase son los mdems$ paracomunicacin v*a red
telefnica$ ! las taretas de interfa a la red$ para conectar la computadora a una red de &realocal.
Controladores o maneadores de Dispositivos
Las unidades de e/s "eneralmente constan de:
Un componente mec&nico. 0
Un componente electrnico: el controlador del dispositivo o tareta.
uc'os controladores pueden manear m&s de un dispositivo.
El S. O. "eneralmente tra,aa con el controlador ! no con el dispositivo.
Los modelos m&s frecuentes de comunicacin entre el CPU ! los controladores son:
-
7/25/2019 Unidad 4 SAdministracin de Entrada
3/24
Para la ma!or*a de las micro ! mini computadoras:
o odelo de ,us del sistema.
Para la ma!or*a de los mainframes:
o odelo de varios ,uses ! computadoras especialiadas en e/s llamadas canales de e/s.
La interfa entre el controlador ! el dispositivo es con frecuencia de mu! ,ao nivel:
La comunicacin es mediante un 3uo de ,its en serie en el %ue:
El controlador de,e:
Convertir el 3uo de ,its en serie en un ,lo%ue de ,!tes.
Efectuar cual%uier correccin de errores necesaria.
Copiar el ,lo%ue en la memoria principal.
Cada controlador posee re"istros %ue utilia para comunicarse con el CPU:
Pueden ser parte del espacio normal de direcciones de la memoria: e/s mapeada a memoria.
Pueden utiliar un espacio de direcciones especial para la e/s$ asi"nando a cada controlador unaparte
de 5l.
El S. O. realia la e/s al escri,ir comandos en los re"istros de los controladores< los par&metros delos
comandos tam,i5n se car"an en los re"istros de los controladores.
Al aceptar el comando$ el CPU puede dear al controlador ! dedicarse a otro tra,ao.
Al terminar el comando$ el controlador provoca una interrupcin para permitir %ue el S. O.:
O,ten"a el control del CPU.
=eri#%ue los resultados de la operacin.
El cpu o,tiene los resultados ! el estado del dispositivo al leer uno o m&s ,!tes de informacinde los
re"istros del controlador. >
El sistema de E/S es la parte del sistema operativo %ue se ocupa de facilitar el maneo de los
dispositivos de
E/S ofreciendo una visin l"ica simpli#cada de los mismos %ue pueda ser usada por otroscomponentes del
sistema operativo 7como el sistema de arc'ivos8 o incluso por el usuario. ediante esta visinl"ica se ofrece
-
7/25/2019 Unidad 4 SAdministracin de Entrada
4/24
a los usuarios un mecanismo de a,straccin %ue oculta todos los detalles relacionados con losdispositivos
f*sicos$ as* como del funcionamiento real de los mismos. El sistema operativo de,e controlar el
funcionamiento de todos los dispositivos de E/S para alcanar los si"uientes o,etivos:
6 )acilitar el maneo de los dispositivos de E/S. Para ello de,e ofrecer una interfa entre losdispositivos ! el
resto del sistema %ue sea sencilla ! f&cil de utiliar.6 Optimiar la E/S del sistema$ proporcionando mecanismos de incremento de prestaciones dondesea
necesario.
6 Permitir la cone9in de dispositivos nuevos de E/S$ solventando de forma autom&tica suinstalacin usando
mecanismos del tipo plu"?pla!.
4
@ AB
Para empear una operacin de E/S$ el CPU tiene %ue escri,ir so,re los re"istros anteriores losdatos de la
operacin a trav5s de una direccin de E/S o de memoria asi"nada +nicamente al controlador.Se"+n se 'a"a
de una u otra forma$ se distin"ue entre dispositivos conectados por puertos o pro!ectados en
memoria. Elmodelo de dispositivos por puertos es cl&sico en las ar%uitecturas de ;ntel. En ellas$ cuando seinstala un
dispositivo$ a su controlador se le asi"na un puerto de E/S$ una interrupcin 'ard(are ! un vectorde
interrupcin. Para efectuar una operacin de E/S el CPU eecuta operaciones port o portout con ladireccin
de puerto del dispositivo ! con par&metros para indicar %u5 re"istro se %uiere manipular. odas la
operaciones de entrada/salida 7pantalla "rca$ impresoras$ ratn$ discos$ etc.8 se realian usandesas dos
instrucciones de len"uae m&%uina con los par&metros adecuados. El pro,lema de este tipo de
direccionamiento es %ue e9i"e conocer las direcciones de E/S ! pro"ramar las instruccionesespeciales de E/S$
lo %ue es si"ni#cativamente distinto del modelo de memoria de la computadora.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
5/24
Eemplos de controladores$ sus direcciones de e/s ! sus vectores de interrupcin en la PC ;pueden verse
en la a,la 4. .
Controlador de e/s Direccin de e/s =ector de interrupciones
Belo 242 24> 1
eclado 2@2 2@>
Disco duro >02 F >0f >
;mpresora >G1 F >Gf H
Disco 3e9i,le >f2 F >fG 4
Bs0>0 primario >f1 F >I 0
Bs0>0 secundario 0f1 F 0I
a,la 4.: Controladores de e/s$ direcciones de e/s ! vector de interrupciones.
El otro modelo de direccionamiento de E/S es el modelo pro!ectado en memoria. Este modelo$t*pico de las
ar%uitecturas de otorola$ asi"na a cada dispositivo de E/S un ran"o de direcciones de memoria atrav5s de
las cuales se escri,e so,re los re"istros del controlador. En este modelo no 'a! instruccionesespec*#cas de
E/S$ sino %ue las operaciones se llevan a ca,o mediante instrucciones m&%uina de maneo dememoria$ lo %ue
permite "estionar un mapa +nico de direcciones de memoria. Sin em,ar"o$ para no tener
con3ictos con otros
accesos a memoria ! para optimiar las operaciones$ se reserva una ona de memoria f*sica paraasi"nar las
direcciones de E/S.
Los dispositivos de almacenamiento secundario ! terciario manean la informacin en unidades dtama-o
#o$ denominadas ,lo%ues$ por lo %ue a su ve se denominan dispositivos de ,lo%ues. Estos,lo%ues se pueden
direccionar de manera independiente$ lo %ue permite leer o escri,ir un ,lo%ue con independenciade los
dem&s. Los dispositivos de ,lo%ue lo son por%ue el 'ard(are fuera la e9istencia de accesos deun tama-o
determinado. Un disco$ por eemplo$ se divide en sectores de H0 ,!tes o de J$ siendo unsector la unidad
-
7/25/2019 Unidad 4 SAdministracin de Entrada
6/24
m*nima de transferencia %ue el controlador del disco puede manear. Los dispositivos decaracteres$ como los
terminales$ impresoras$ taretas de red$ mdems$ etc5tera$ no almacenan informacin en ,lo%uesde tama-o
#o. Kestionan 3uos de caracteres de forma lineal ! sin nin"+n tipo de estructura de ,lo%ue. Unteclado es un
,uen eemplo de estos dispositivos. Est& conectado a una UAB 7Universal As!nc'ronous
Beceiver/ransmiter8 %ue reci,e un car&cter del teclado cada ve %ue se pulsa una tecla. o esposi,le leer un
,lo%ue de teclas de un "olpe o ,uscar dentro del dispositivo por nin"una unidad. Un terminal porl*nea serie
tam,i5n es un dispositivo de caracteres. Su controlador se limita a enviar al perif5rico el 3uo decaracteres
%ue de,e representar en la pantalla ! a reci,ir del mismo los caracteres tecleados por el usuario.
Drivers de E/S
Un controlador de dispositivo 7llamado normalmente controlador$ o$ en in"l5s$ driver8 es unpro"rama
inform&tico %ue permite al sistema operativo interactuar con un perif5rico$ 'aciendo unaa,straccin del
'ard(are ! proporcionando una interfa Fposi,lemente estandariadaF para usarlo. Se puedees%uematiar H
como un manual de instrucciones %ue le indica cmo de,e controlar ! comunicarse con undispositivo en
particular. Por tanto$ es una piea esencial$ sin la cual no se podr*a usar el 'ard(are.
E9isten tantos tipos de controladores como tipos de perif5ricos$ ! es frecuente encontrar m&s deun
controlador posi,le para el mismo dispositivo$ cada uno ofreciendo un nivel distinto defuncionalidades. Por
eemplo$ aparte de los o#ciales 7normalmente disponi,les en la p&"ina (e, del fa,ricante8$ sepueden
encontrar tam,i5n los proporcionados por el sistema operativo$ o tam,i5n versiones no o#ciales'ec'as por
terceros. Estos controladores pueden ser "en5ricos 7v&lidos para m&s de un modelo del mismoperif5rico8 o
espec*#cos para cada modelo. am,i5n se distri,u!en actualiaciones a nuevas versiones$ %uepueden dar un
-
7/25/2019 Unidad 4 SAdministracin de Entrada
7/24
meor funcionamiento. ormalmente son los fa,ricantes del 'ard(are %uienes escri,en suscontroladores$ !a
%ue conocen meor el funcionamiento interno de cada aparato$ pero tam,i5n se encuentrancontroladores
li,res$ por eemplo en los sistemas operativos li,res. En este caso$ los creadores no son de laempresa
fa,ricante$ aun%ue a veces 'a! una cooperacin con ellos$ cosa %ue facilita el desarrollo. Si no la
'a!$ el
procedimiento necesita de in"enier*a inversa ! otros m5todos dif*ciles o con ries"os le"ales.
Los controladores son mu! variados$ casi tanto como los dispositivos de E/S. uc'os de ellos$como los de
disco$ pueden controlar m+ltiples dispositivos. Otros$ como los de canales de E/S$ inclu!en supropio CPU !
,us para controlar la E/S por pro"rama ! evitar interrupciones en el CPU de la computadora. Decual%uier
forma$ en los +ltimos a-os 'a e9istido un esfuero importante de estandariacin de losdispositivos$ lo %ue
permite usar un mismo controlador para dispositivos de distintos fa,ricantes. Un ,uen eemplo loconstitu!en
los dispositivos SCS; 7Small Computer S!stem ;nterface8$ cu!os controladores ofrecen unainterfa com+n
independientemente de %ue se trate de un disco$ una cinta$ un CDFBO$ etc. Otro ,uen eemploson los
controladores ;DE 7;n te"rated Drive Electronics8$ %ue suelen usarse para conectar los discos en
todas las
computadoras personales. En cual%uier caso$ ! sea como sea el controlador$ su misin esconvertir los datos
del formato interno del dispositivo a uno e9terno %ue se ofreca a trav5s de una interfa depro"ramacin ,ien
de#nida. Los controladores de dispositivo se suelen a"rupar en al"una de las si"uientescate"or*as o clases:
6 Adaptadores de audio 7taretas de sonido8.
6 Dispositivos de comunicacin 7infrarroos$ mdems$ etc8.6 Dispositivos de visualiacin< pantallas 7displa!s8.
6 eclados.
6 Batn 7mouseM ! otros se-aladores "rcos8.
6 Dispositivos multimedia.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
8/24
6 Dispositivos de Bed.
6 ;mpresoras.
6 Almacenamiento
4.0 ecanismos ! funciones de los maneadores de dispositivos 7device drivers8.
El controlador es el componente m&s importante desde el punto de vista del sistema operativo$ !
%ue
constitu!e la interfa del dispositivo con el ,us de la computadora ! es el componente %ue se vedesde el
CPU. El S. O. "eneralmente tra,aa con el controlador ! no con el dispositivo.
La interfa entre el controlador ! el dispositivo es con frecuencia de mu! ,ao nivel:
FLa comunicacin es mediante un 3uo de ,its en serie %ue:
Comiena con un pre&m,ulo.
Si"ue con una serie de ,its 7de un sector de disco$ por eemplo8.Conclu!e con una suma para veri#cacin o un cdi"o corrector de errores.
FEl pre&m,ulo:
Se escri,e al dar formato al disco.
Contiene el n+mero de cilindro ! sector$ el tama-o de sector ! otros datos similares.
El controlador de,e:
Convertir el 3uo de ,its en serie en un ,lo%ue de ,!tes.
Efectuar cual%uier correccin de errores necesaria.
Copiar el ,lo%ue en la memoria principal.
Cada controlador posee re"istros %ue utilia para comunicarse con el CPU:
Pueden ser parte del espacio normal de direcciones de la memoria: e/s mapeada a memoria.
Pueden utiliar un espacio de direcciones especial para la e/s$ asi"nando a cada controlador unaparte
de 5l. @
El S. O. realia la e/s al escri,ir comandos en los re"istros de los controladores< los par&metros delos
comandos tam,i5n se car"an en los re"istros de los controladores. Al aceptar el comando$ el CPUpuede dear
al controlador ! dedicarse a otro tra,ao.
Al terminar el comando$ el controlador provoca una interrupcin para permitir %ue el S. O.:
-
7/25/2019 Unidad 4 SAdministracin de Entrada
9/24
FO,ten"a el control del CPU.
F=eri#%ue los resultados de la operacin.
El CPU o,tiene los resultados ! el estado del dispositivo al leer uno o m&s ,!tes de informacinde los
re"istros del controlador.
Su pro"ramacin se lleva a ca,o mediante una interfa de mu! ,ao nivel %ue proporciona acceso
a una seriede re"istros del controlador$ incluidos en el mapa de E/S de la computadora$ %ue se puedenacceder mediante
instrucciones de m&%uina de E/S.
Na! tres re"istros importantes en casi todos los controladores:
re"istro de datos
estado
control
El re"istro de datos sirve para el intercam,io de datos. En 5l ir& el controlador car"ando losdatos le*dos
! de 5l ir& e9tra!endo los datos para su escritura en el perif5rico.
Un ,it del re"istro de estado sirve para indicar %ue el controlador puede transferir una pala,ra.En las
operaciones de lectura esto si"ni#ca %ue 'a car"ado en el re"istro de datos un nuevo valor$mientras %ue
en las de escritura si"ni#ca %ue necesita un nuevo dato. Otros ,its de este re"istro sirven para%ue el
controlador indi%ue los pro,lemas %ue 'a encontrado en la eecucin de la +ltima operacin deE/S.
El re"istro de control sirve para indicarle al controlador las operaciones %ue 'a de realiar. Losdistintos
,its de este re"istro indican distintas acciones %ue 'a de realiar el perif5rico.
G
G AB
Para empear una operacin de E/S$ el CPU tiene %ue escri,ir so,re los re"istros anteriores losdatos de la
-
7/25/2019 Unidad 4 SAdministracin de Entrada
10/24
operacin a trav5s de una direccin de E/S o de memoria asi"nada +nicamente al controlador.Este modelo
vale tanto para los terminales o la pantalla como para los discos. Las caracter*sticas delcontrolador son mu!
importantes$ !a %ue de#nen el aspecto del perif5rico para el sistema operativo. Atendiendo a las
caracter*sticas del 'ard(are de los dispositivos$ se pueden o,servar los si"uientes aspectosdistintivos:
6 Direccin de E/S. En "eneral 'a! dos modelos de direccionamiento de E/S$ los %ue usan puertos! los %ue
pro!ectan los re"istros en memoria.
6 Unidad de transferencia. Los dispositivos suelen usar unidades de transferencia de tama-o #o.Na! dos
modelos cl&sicos de dispositivos: de caracteres ! de ,lo%ues.
6 ;nteraccin CPUFcontrolador. El CPU tiene %ue interaccionar con el controlador para realiarlas
operaciones de E/S ! sa,er cu&ndo terminan.
Un controlador de dispositivo o unidad de E/S se encar"a de controlar uno o m&s dispositivos delmismo tipo
! de intercam,iar informacin entre ellos ! la memoria principal o unidad central de proceso de la
computadora. El controlador de,e encar"arse adem&s de sincroniar la velocidad del procesadorcon la del
perif5rico ! de detectar los posi,les errores %ue se producan en el acceso a los perif5ricos. En el
caso de un
controlador de disco$ 5ste de,e encar"arse de convertir un 3uo de ,its procedente del disco a un,lo%ue de
,!tes detectando ! corri"iendo$ si es posi,le$ los errores %ue se producan en esta transferenciaUna ve
o,tenido el ,lo%ue ! compro,ado %ue se encuentra li,re de errores$ de,er& encar"arse detransferirlo a
memoria principal. La informacin entre los controladores de dispositivo ! la unidad central deproceso o
memoria principal se puede transferir mediante un pro"rama %ue eecuta continuamente ! lee oescri,e los
datos del 7al8 controlador. Con esta t5cnica$ %ue se denomina E/S pro"ramada$ la transferencia deinformacin
entre un perif5rico ! el procesador se realia mediante la eecucin de una instruccin de E/S. Conesta
-
7/25/2019 Unidad 4 SAdministracin de Entrada
11/24
t5cnica$ es el procesador el responsa,le de e9traer o enviar datos entre el procesador ! elcontrolador de
dispositivo$ lo %ue provoca %ue el procesador ten"a %ue esperar mientras se realia latransferencia entre el
perif5rico ! el controlador. Dado %ue los perif5ricos son sensi,lemente m&s lentos %ue elprocesador$ 5ste
de,er& esperar una "ran cantidad de tiempo 'asta %ue se complete la operacin de E/S. En este
caso no e9iste
nin"+n tipo de concurrencia entre la E/S ! el procesador !a %ue 5ste de,e esperar a %ue #nalice loperacin.
Aun%ue esta t5cnica es mu! anti"ua$ !a %ue proviene del tiempo en %ue los controladores noten*an
interrupciones$ actualmente los canales de E/S ! al"unos multiprocesadores usan esta t5cnicapara evitar %ue
lle"uen al CPU de la computadora muc'as interrupciones de E/S. En am,os casos$ la t5cnica es lamisma:
dedicar un CPU especial para la E/S. La forma de 'acerlo es muestrear continuamente losre"istros de estado
de los controladores para ver si est&n disponi,les !$ en ese caso$ leer o escri,ir los re"istros.;ma"ine un canal
de E/S al %ue 'a! conectados m+ltiples ,uses de E/S %ue$ a su ve$ tienen m+ltiples dispositivosde E/S. Si el
CPU %uiere escri,ir en uno de ellos$ de,e mirar su re"istro de estado 'asta %ue los ,its indi%uen%ue no est&
ocupado. Cuando esto ocurra$ escri,ir& un ,lo%ue en los re"istros del controlador ! esperar&'asta %ue los ,its
de estado indi%uen %ue est& disponi,le. ;ma"ine %ue %uiere leer de otro controlador$ de,er&esperar a %ue los
,its de estado le indi%uen %ue est& disponi,le$ pro"ramar la operacin ! esperar a %ue se indi%ue%ue los datos
est&n disponi,les. Evidentemente$ incluso aun%ue el CPU est5 controlando varios dispositivos deE/S$ siempre
e9iste p5rdida de ciclos de,ido a la e9istencia de las esperas. Sin em,ar"o$ e9isten situaciones en
%ue esto no
es as*.
Na! %ue recalcar %ue el controlador al ser una parte cr*tica del sistema operativo$ si falla puedeser m&s "rave
%ue otros errores de soft(are$ pudiendo ,lo%uear el ordenador o incluso da-ar el 'ard(are.De,ido a %ue el
-
7/25/2019 Unidad 4 SAdministracin de Entrada
12/24
-
7/25/2019 Unidad 4 SAdministracin de Entrada
13/24
correspondiente maneador de interrupcin cu!o efecto es el de salvar los re"istros$ comunicar elevento al
maneador del dispositivo ! restaurar la eecucin de un proceso 7%ue no tiene por %u5 ser elinterrumpido8.
Los maneadores de interrupcin suelen 'acer al"o m&s %ue comunicar el evento al maneador dedispositivo.
Cuando una interrupcin ocurre mu! frecuentemente$ caso del relo$ o cuando la cantidad de
informacin a
transferir es mu! pe%ue-a$ caso del teclado$ ser*a mu! costoso comunicar siempre el evento almaneador de
dispositivo asociado. En estos casos$ el propio maneador de interrupcin re"istra la ocurrencia deevento$
,ien mediante el incremento de una varia,le "lo,al para el relo o la acumulacin de caracteresen un ,uIer
del teclado. La noti#cacin al maneador se 'ace +nicamente cada cierto n+mero de ocurrenciasdel evento$
en el caso del relo$ o activando una ,andera %ue indica %ue 'a! datos en el ,uIer del teclado.
Las interrupciones de,en ocultarse en el S. O.:
Cada proceso %ue inicie una operacin de e / s se ,lo%uea 'asta %ue termina la e / s ! ocurra la
interrupcin.
El procedimiento de interrupcin realia lo necesario para des,lo%uear el proceso %ue lo inici.
AB
aneadores de dispositivos
Cada dispositivo de E/S$ o cada clase de dispositivos$ tiene un maneador asociado en el sistemaoperativo.
Dic'o maneador inclu!e: cdi"o independiente del dispositivo para proporcionar al nivel superiordel sistema
operativo una interfa de alto nivel ! el cdi"o dependiente del dispositivo necesario parapro"ramar el
controlador del dispositivo a trav5s de sus re"istros ! datos. La tarea de un maneador dedispositivo es
aceptar peticiones en formato a,stracto$ de la parte del cdi"o de E/S independiente deldispositivo$ traducir
-
7/25/2019 Unidad 4 SAdministracin de Entrada
14/24
dic'as peticiones a t5rminos %ue entienda el controlador$ enviar al mismo las rdenes adecuadasen la
secuencia correcta ! esperar a %ue se cumplan.
odos los maneadores tienen una lista de peticiones pendientes por dispositivo donde se encolalas
peticiones %ue lle"an de niveles superiores. El maneador e9plora la lista de peticiones$ e9traeuna peticin
pendiente ! ordena su eecucin. La pol*tica de e9traccin de peticiones de la lista es dependientedel
maneador ! puede ser );)O. Una ve enviada la peticin al controlador$ el maneador se ,lo%ueao no$
dependiendo de la velocidad del dispositivo. Para los lentos 7discos8 se ,lo%uea esperando unainterrupcin.
Para los r&pidos 7pantalla$ discos BA$ etc5tera8 responde inmediatamente. Despu5s de reci,ir el#n de
operacin$ controla la e9istencia de errores ! devuelve al nivel superior el estado de terminacinde la
operacin. Si tiene operaciones pendientes en la cola de peticiones$ atiende a la si"uiente$ encaso de %ue le
to%ue eecutar despu5s de la operacin de E/S. En caso contrario se ,lo%uea.
odo el cdi"o %ue depende de los dispositivos aparece en los maneadores de dispositivos.
Cada controlador posee uno o m&s re"istros de dispositivos:
Se utilian para darle los comandos.
Los maneadores de dispositivos proveen estos comandos ! veri#can su eecucin adecuada.
La la,or de un maneador de dispositivos es la de:
Aceptar las solicitudes a,stractas %ue le 'ace el soft(are independiente del dispositivo.
=eri#car la eecucin de dic'as solicitudes.
Si al reci,ir una solicitud el maneador est& ocupado con otra solicitud$ a"re"ar& la nueva solicitua
una cola de solicitudes pendientes.
La solicitud de e / s$ por e. para un disco$ se de,e traducir de t5rminos a,stractos a
t5rminos concretos:
El maneador de disco de,e:
o Estimar el lu"ar donde se encuentra en realidad el ,lo%ue solicitado.
o =eri#car si el motor de la unidad funciona.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
15/24
o =eri#car si el ,rao est& colocado en el cilindro adecuado$ etc.
o Besumiendo: de,e decidir cu&les son las operaciones necesarias del controlador ! su
orden.
o Env*a los comandos al controlador al escri,ir en los re"istros de dispositivo del mismo.
o )recuentemente el maneador del dispositivo se ,lo%uea 'asta %ue el controlador realia
cierto tra,ao< una interrupcin lo li,era de este ,lo%ueo.
o Al #naliar la operacin de,e veri#car los errores.
o Si todo esta o transferir& los datos al soft(are independiente del dispositivo.
o Be"resa informacin de estado so,re los errores a %uien lo llam.
o ;nicia otra solicitud pendiente o %ueda en espera. 2
Soft(are de E/S independiente del dispositivo
La ma!or parte del sistema de E/S es soft(are independiente de dispositivo. Este nivel inclu!e elsistema de
arc'ivos ! el de "estin de red$ el "estor de ,lo%ues$ la cac'e de ,lo%ues ! una parte de losmaneadores de
dispositivo. La principal funcin de esta capa de soft(are es eecutar las funciones de E/S %ue soncomunes a
todos los dispositivos a trav5s de una interfa uniforme.
;nternamente$ en este nivel se proporciona acceso a nivel de ,lo%ues o caracteres$
almacenamiento
intermedio$ "estin de los dispositivos$ plani#cacin de la E/S ! control de errores.
El tama-o de acceso a nivel de ,lo%ues se 'ace usando tama-os de ,lo%ue de acceso comunespara todo un
sistema de arc'ivos$ lo %ue permite ocultar %ue cada dispositivo puede tener distinto tama-o desector !
distinta "eometr*a. Estos detalles %uedan ocultos por la capa de soft(are independiente deldispositivo %ue
ofrece una interfa so,re la ,ase de ,lo%ues l"icos del sistema de arc'ivos. Lo mismo ocurre conlos
dispositivos de caracteres$ al"unos de los cuales tra,aan con un car&cter cada ve$ como elteclado$ mientras
otros tra,aan con 3uos de caracteres$ como el modem o las redes.
Para optimiar la E/S ! para armoniar las peticiones de usuario$ %ue pueden ser de cual%uiertama-o$ con los
-
7/25/2019 Unidad 4 SAdministracin de Entrada
16/24
,lo%ues %ue manea el sistema de arc'ivos$ el soft(are de E/S proporciona almacenamientointermedio en
memoria del sistema operativo. Esta facilidad se usa para tres cosas:
6 Optimiar la E/S evitando accesos a los dispositivos.
6 Ocultar las diferencias de velocidad con %ue cada dispositivo ! usuario manean los datos.
6 )acilitar la implementacin de la sem&ntica de comparticin$ al e9istir una copia +nica de los
datos enmemoria.
El sistema de E/S mantiene ,uIers en distintos componentes. Por eemplo$ en la parte delmaneador del
teclado independiente del dispositivo e9iste un ,uIer para almacenar los caracteres %ue teclea eusuario 'asta
%ue se pueden entre"ar a los niveles superiores. Si se usa una l*nea serie para leer datos de unsistema remoto
! almacenarlos en el disco$ se puede usar un ,uIer para "uardar temporalmente los datos 'asta%ue ten"an
una cierta cantidad ! sea renta,le escri,irlos a disco. Si se est& le!endo o escri,iendo un arc'ivose "uardan
copias de los ,lo%ues en memoria para no tener %ue acceder al disco si se vuelven a leer.
La "estin de los dispositivos a"rupa a su ve tres servicios: nom,rado$ proteccin ! control deacceso.
El nom,rado permite traducir los nom,res de usuario a identi#cadores del sistema. Por eemplo$en U;$
cada dispositivo tiene un nom,re 7p. e.: /dev/cdrom8 %ue se traduce en un +nico identi#cadorinterno 7o nodoF
i8$ %ue a su ve se traduce en un +nico n+mero de dispositivo principal 7clase de dispositivo8 !secundario
7elemento de la clase8. Cada dispositivo tiene asociada una informacin de proteccin 7en U;mediante >
,its para due-o$ "rupo ! mundo8 ! este nivel de soft(are ase"ura %ue los re%uisitos de proteccise cumplen.
Adem&s proporciona control de acceso para %ue un dispositivo dedicado$ como una impresora$
sea accedido
por un +nico usuario cada ve.
Una de las funciones principales del sistema de E/S es la plani#cacin de la E/S de los distintoscomponentes.
Para ello se usan colas de peticiones para cada clase de dispositivo$ de las %ue se e9traen laspeticiones de
-
7/25/2019 Unidad 4 SAdministracin de Entrada
17/24
cada dispositivo en particular. Cada una de estas colas se ordena si"uiendo una pol*tica deplani#cacin$ %ue
puede ser distinta en cada nivel.
Por +ltimo$ este nivel proporciona "estin de errores para a%uellos casos %ue el maneador dedispositivo no
puede solucionar. Un error transitorio de lectura de un ,lo%ue se resuelve en el maneadorreintentando su
lectura. Un error permanente de lectura no puede ser resuelto ! de,e ser comunicado al usuariopara %ue tome
las medidas adecuadas. En "eneral$ todos los sistemas operativos inclu!en al"una forma decontrol de errores
internos ! de noti#cacin al e9terior en caso de %ue esos errores no se puedan resolver.
;ma"ine$ por eemplo$ %ue una aplicacin %uiere leer de un dispositivo %ue no e9iste. El sistemade E/S ver&
%ue el dispositivo no est& ! lo noti#car& a los niveles superiores 'asta %ue el error lle"ue a la
aplicacin. Sin
em,ar"o$ es importante resaltar %ue los sistemas operativos son cada ve m&s ro,ustos ! cadave inclu!en
m&s control ! reparacin de errores$ para lo cual usan m5todos de paridad$ c'ecsums$ cdi"oscorrectores de
error$ etc. Adem&s$ la informacin %ue proporcionan cuando 'a! un error es cada ve ma!or.
)unciones "eneralmente realiadas por el soft(are independiente del dispositivo:
;nterfa uniforme para los maneadores de dispositivos.
om,res de los dispositivos.
Proteccin del dispositivo.
Proporcionar un tama-o de ,lo%ue independiente del dispositivo.
Uso de ,uIers.
Asi"nacin de espacio en los dispositivos por ,lo%ues.
Asi"nacin ! li,eracin de los dispositivos de uso e9clusivo.
;nforme de errores.
Las funciones ,&sicas del soft(are independiente del dispositivo son:
Efectuar las funciones de e / s comunes a todos los dispositivos.
Proporcionar una interfa uniforme del soft(are a nivel usuario.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
18/24
El soft(are independiente del dispositivo asocia los nom,res sim,licos de los dispositivos con el
nom,re adecuado.
El soft(are independiente del dispositivo de,e:
Ocultar a los niveles superiores los diferentes tama-os de sector de los distintos discos.
Proporcionar un tama-o uniforme de los ,lo%ues$ por e.: considerar varios sectores f*sicos
como un solo ,lo%ue l"ico.
0
0 AB
Espacio de usuario para soft(are de E/S
La ma!or*a del soft(are de e / s est& dentro del S. O. Una pe%ue-a parte consta de ,i,liotecas
li"adas entre s* con los pro"ramas del usuario. La ,i,lioteca est&ndar de e / s contiene varios
procedimientos relacionados con e / s ! todos se eecutan como parte de los pro"ramas del
usuario.
Otra cate"or*a importante de soft(are de e / s a nivel usuario es el sistema de spoolin". Elspoolin"
es una forma de tra,aar con los dispositivos de e /s de uso e9clusivo en un sistema de
multipro"ramacin:
El eemplo t*pico lo constitu!e la impresora de l*neas.
Los procesos de usuario no a,ren el arc'ivo correspondiente a la impresora.
Se crea un proceso especial$ llamado demonio en al"unos sistemas.
Se crea un directorio de spoolin".
Para imprimir un arc'ivo:
Un proceso "enera todo el arc'ivo por imprimir ! lo coloca en el directorio de spoolin".
El proceso especial 7demonio8$ +nico con permiso para utiliar el arc'ivo especial de la
impresora$ de,e imprimir los arc'ivos en el directorio.
Se evita el posi,le pro,lema de tener un proceso de usuario %ue manten"a un recurso tomado
lar"o tiempo.
Un es%uema similar tam,i5n es aplica,le para la transferencia de arc'ivos entre e%uipos
conectados:
Un usuario coloca un arc'ivo en un directorio de spoolin" de la red.
Posteriormente$ el proceso especial lo toma ! transmite. Un e. son los sistemas de correo
electrnico.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
19/24
Demonio o Daemon 7Dis And E9ecution Oitor8 Suena E9tra-o 'a,lar de QdemoniosQ en los
Sistemas Operativos$ pero es la raduccin literal %ue se le puede dar a los Procesos %ue se
eecutan de manera no Q=istaQ u Oculta por el Usuario dentro del sistema$ pero %ue se est&n
eecutando ! %ue pueden ser controlados por el Administrador. En Sistemas como Rindo(s son
llamados QServiciosQ ! son los e%uivalentes de Rindo(s para los demonios de U;$ tienen el
mismo Propsito. Su contraparte en Sistemas del tipo DOS es al"o complicado e9plicar$ puesto%ue
son onousuario ! onoproceso$ es decir %ue solo admiten un Usuario ! %ue solo QeecutanQ un
solo pro"rama dentro de la emoria$ 7Olvidando el Jernel$ Con#".s!s$ Autoe9ec.,at ! sin olvidar
el Command.com8$ en estos casos se manea,an los SB 7erminate and Sta! Besident8 ermina
Si"ue BesidenteT %ue era la forma m&s primitiva de ultitarea en DOS. En Sistemas como el ac
OS$ son llamados e9tensiones del sistema. Na! %ue diferenciar entre una Aplicacin activa ! entre
un Demonio Entre un Servidor Soft(are ! un Demonio$ la Aplicacin activa pro"ramasimplemente es una Aplicacin %ue se car"a en la memoria ! %ue tiene #nes espec*#cos como u
Procesador de Pala,ras$ un Beproductor$ un ave"ador$ etc. El demonio se eecuta en la emoria
pero sin Q;nterfaceQ ! las +nicas opciones %ue posee son las de iniciar$ reiniciar o detenerse.7Esto
solamente dentro de la Sesin8. Un Servidor es una Aplicacin en Se"undo Plano 7como el
demonio8 pero %ue cuenta con un interface ! es con#"ura,le ! %ue tra,aa directamente con el
Jernel. Un Eemplo es un Servidor )P. Lo demonios son pro"rama,les$ !a sea ;niciarlos o
deternerlos de manera manual$ editando al"+n arc'ivo$ 'aciendo al"+n Script pro"ram&ndolos
para realiar determinadas tareas. Los demonios se distin"uen por%ue est&n presentes en&reas
sensi,les del sistema. En los SO U;Flie los demonios se arrancan cuando el Sistema Operativo>
inicia ! como a cual%uier aplicacin se les asi"na un P;D 7Process ;D8 ;denti#cacin de ProcesosT
es un n+mero %ue ;denti#ca al pro"rama 'asta %ue termina.
4.4 Operaciones de Entrada /salida.
anto en la E/S pro"ramada como la ,asada en interrupciones$ el CPU de,e encar"arse de latransferencia de
datos una ve %ue sa,e %ue 'a! datos disponi,les en el controlador. Una meora importante paraincrementar
-
7/25/2019 Unidad 4 SAdministracin de Entrada
20/24
la concurrencia entre el CPU ! la E/S consiste en %ue el controlador del dispositivo se puedaencar"ar de
efectuar la transferencia de datos$ li,erando de este tra,ao al CPU$ e interrumpirlo slo cuando'a!a
terminado la operacin completa de E/S. Esta t5cnica se denomina acceso directo a memoria7DA$ Direct
emor! Access8.
Si se lee el disco sin DA:
El controlador lee en serie el ,lo%ue 7uno o m&s sectores8 de la unidad:
o La lectura es ,it por ,it.
o Los ,its del ,lo%ue se "ra,an en el ,uIer interno del controlador.
Se calcula la suma de veri#cacin para corro,orar %ue no e9isten errores de lectura.
El controlador provoca una interrupcin.
El S. O. lee el ,lo%ue del disco por medio del ,uIer del controlador:
o La lectura es por ,!te o pala,ra a la ve.
o En cada iteracin de este ciclo se lee un ,!te o una pala,ra del re"istro del controlador
! se almacena en memoria.
Se desperdicia tiempo del CPU.
DA se ide para li,erar al CPU de este tra,ao de ,ao nivel.
El CPU le proporciona al controlador:
La direccin del ,lo%ue en el disco.
La direccin en memoria a donde de,e ir el ,lo%ue.
El n+mero de ,!tes por transferir.
Lue"o de %ue el controlador le! todo el ,lo%ue del dispositivo a su ,uIer ! de %ue corro,or la
suma de veri#cacin:
Copia el primer ,!te o pala,ra a la memoria principal.
Lo 'ace en la direccin especi#cada por medio de la direccin de memoria de DA.
;ncrementa la direccin DA ! decrementa el contador DA en el n+mero de ,!tes %ue aca,a
de transferir.
Se repite este proceso 'asta %ue el contador se anula ! por lo tanto el controlador provoca una
interrupcin.
Al iniciar su eecucin el S. O. lue"o de la interrupcin provocada$ no de,e copiar el ,lo%ue en
la memoria$ por%ue !a se encuentra a'* 7ver )i"ura H. 8. 4
-
7/25/2019 Unidad 4 SAdministracin de Entrada
21/24
El controlador necesita un ,uIer interno por%ue una ve iniciada una transferencia del disco:
Los ,its si"uen lle"ando del disco constantemente.
o interesa si el controlador est& listo o no para reci,irlos.
Si el controlador intentara escri,ir los datos en la memoria directamente:
o endr*a %ue recurrir al ,us del sistema para c / u de las pala,ras 7o ,!tes8 transferidas.
o El ,us podr*a estar ocupado por otro dispositivo ! el controlador de,er*a esperar.
o Si la si"uiente pala,ra lle"ara antes de %ue la anterior 'u,iera sido almacenada$ el
controlador la tendr*a %ue almacenar en al"una parte.
Si el ,lo%ue se "uarda en un ,uIer interno:
El ,us no se necesita sino 'asta %ue el DA comiena.
La transferencia DA a la memoria !a no es un aspecto cr*tico del tiempo.
Los controladores simples no pueden atender la e / s simult&nea:
ientras trans#eren a la memoria$ el sector %ue pasa de,ao de la ca,ea del disco se pierde< es
decir %ue el ,lo%ue si"uiente al reci5n le*do se pierde.
La lectura de una pista completa se 'ar& en dos rotaciones completas$ una para los ,lo%ues
pares ! otra para los impares.
Si el tiempo necesario para una transferencia de un ,lo%ue del controlador a la memoria por
medio del ,us es ma!or %ue el tiempo necesario para leer un ,lo%ue del disco:
o Ser*a necesario leer un ,lo%ue ! lue"o saltar dos o m&s ,lo%ues.
o El salto de ,lo%ues:
Se eecuta para darle tiempo al controlador para la transferencia de los datos a
la memoria.
Se llama separacin.
Al formatear el disco$ los ,lo%ues se numeran tomando en cuenta el factor de
separacin 7ver )i"ura H.0 8.
Esto permite al S. O.:
Leer los ,lo%ues con numeracin consecutiva.
Conservar la m&9ima velocidad posi,le del 'ard(are. H
-
7/25/2019 Unidad 4 SAdministracin de Entrada
22/24
@
> AB
;nstrucciones m&%uina %ue el CPU puede utiliar para E/S
o SAB ;/O ;nicia una operacin de E/S. El campo de direccin de la instruccin se emplea para
especi#car el canal ! el dispositivo de E/S %ue participa en la operacin.
o NAL ;/O )inalia la operacin del canal.
o ES CNAEL Prue,a el estado del canal.
o ES ;/O Prue,a el estado del canal$ el su,canal ! el dispositivo de E/S.
Eecucin de instrucciones e interrupciones ! estructura de E/S.
;nterrupciones de E/S:
Para iniciar una operacin de E/S por parte de un proceso del usuario:
6La CPU car"a los re"istros en el controlador del dispositivo.
6El controlador e9amina los re"istros para sa,er %u5 accin realiar.
6ras realiar la accin el controlador informa de ello a la CPU.
6Esa comunicacin se efect+a "enerando una interrupcin.
Al iniciar una E/S 'a! dos alternativas:
E/S s*ncrona: el SO espera a %ue termine la E/S.
E/S as*ncrona: el SO devuelve el control al pro"rama del usuario sin esperar a %ue se
complete la E/S.
)uncionamiento as*ncrono multipro"ramado:
El usuario solicita E/S mediante llamada al sistema.
El SO tramita la operacin.
El SO entre"a el control a otro proceso 7mientras se desarrolla la E/S8.
Cuando la E/S termina "enera una interrupcin %ue:
6;nterrumpe el proceso actual.
6Provoca la aparicin del SO$ %ue reactiva el proceso %ue 'io la llamada
G
-
7/25/2019 Unidad 4 SAdministracin de Entrada
23/24
1
4 AB
Estructuras de datos de un driver
Las rutinas de un driver para dar un correcto servicio a las peticiones de entrada / salidanecesitan
para cada dispositivo una serie de datos %ue se encuentran en estructuras de datos en forma deta,la
de manera %ue su composicin depende del sistema operativo$ aun%ue tienen forma ! nom,res
similares a los si"uientes:
lo%ue de control del driver 7CD8
Es la representacin del driver desde el punto de vista del sistema operativo. Contiene a%uellos
par&metros %ue son suscepti,les de ser variados din&micamente ! a%uellos %ue de#nen el tipo dedispositivo %ue puede ser atendido por el driver. Los datos %ue suele contener son:
Direccin del si"uiente CD.
om,re del driver.
Direccin de comieno de los ,lo%ues de control de unidades 7CU8 %ue controle el driver.
+mero de unidades a servir.
Direccin de comieno de la rutina de inicialiacin del driver.
Estado del driver 7On/oI line8.
Direccin de comieno de la cola de ,lo%ues de entrada / salida 7ES8.
Direccin del ES %ue est& siendo servido.
=aria,les particulares del driver.
lo%ue de control de la unidad 7CU8
Cada dispositivo f*sico se relaciona desde el punto de vista del sistema operativo como unaunidad
dentro del tipo al %ue le corresponda ! es de#nido e identi#cado por el sistema operativo pormedio
de su CU. En "eneral$ contiene los si"uientes datos:
Direccin del si"uiente CU del driver.
+mero de unidad.
-
7/25/2019 Unidad 4 SAdministracin de Entrada
24/24
Estado de la unidad
+mero del vector de interrupcin asociado.
Direccin de la rutina de "estin de la interrupcin.
Direccin del puerto 7port8 de entrada / salida.
Direccin del CD al %ue pertenece.
Direccin del PC del proceso %ue tiene reservada esta unidad.
Direccin del comieno de la cola de ,lo%ues de entrada / salida 7ES8.
Direccin del ES %ue est& siendo servido.
Caracter*sticas de la unidad.
=aria,les particulares del drive.
Pa%uete de peticin de entrada/salida 7PES8
Cuando un proceso de usuario intenta 'acer una operacin de entrada/salida$ el sistema
operativo
crea un pa%uete asociado a dic'o proceso ! a dic'a peticin para ser tratado por el driver. Este
pa%uete se coloca en una cola prioritaria para ser atendido por el driver al %ue va diri"ido. Losdatos
%ue normalmente contiene son:
Direccin del si"uiente PES en la cola.
Prioridad de la peticin de entrada/salida.
Proceso %ue 'a lanado la peticin.
Direccin dnde devolver el resultado de la peticin.
)uncin a realiar 7entrada o salida8.
identi#cador del dispositivo.
identi#cador de la unidad.
Direccin de la lista de par&metros de entrada de la llamada al sistema operativo.
02
0