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 #"()