4.1 Dispositivos y Manejadores de Dispositivos

4.1 Dispositivos y manejadores de dispositivos Dispositivos de entrada/salida Se pueden clasificar en dos grandes categ

Views 216 Downloads 0 File size 682KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

4.1 Dispositivos y manejadores de dispositivos

Dispositivos de entrada/salida Se pueden clasificar en dos grandes categorías: 1. Dispositivos de bloque 2. Dispositivos de carácter Las principales características de los dispositivos de bloque son: - La información se almacena en bloques de tamaño fijo. - Cada bloque tiene su propia dirección. - Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. - Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento. - Un ejemplo típico de dispositivos de bloque son los discos. Las principales características de los dispositivos de carácter son: -La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. - No se pueden utilizar direcciones. - No tienen una operación de búsqueda. - Unos ejemplos típicos de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, ratones, etc. Manejadores de Dispositivos Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos. (Ver figura 4.1.1)

Figura 4.1.1 Cada controlador posee uno o más registros de dispositivos:  

Se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada.

La labor de un manejador de dispositivos es la de:  

Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. Verificar la ejecución de dichas solicitudes.

Si al recibir una solicitud el manejador esta ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes. La solicitud de e / s, por ej. para un disco, se debe traducir de términos abstractos a términos concretos: 

El manejador de disco debe: (ver figura 4.1.2) o Estimar el lugar donde se encuentra en realidad el bloque solicitado. o Verificar si el motor de la unidad funciona. o Verificar si el brazo esta colocado en el cilindro adecuado, etc. o Resumiendo: debe decidir cuales son las operaciones necesarias del controlador y su orden. o Envía los comandos al controlador al escribir en los registros de dispositivo del mismo.

o o o o o

Figura 4.1.2

Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupción lo libera de este bloqueo. Al finalizar la operación debe verificar los errores. Si todo esta o.k. transferirá los datos al software independiente del dispositivo. Regresa información de estado sobre los errores a quien lo llamo. Inicia otra solicitud pendiente o queda en espera.

4.2 Mecanismos y funciones de los manejadores de dispositivos Mecanismos y funciones de los manejadores de dispositivos (device drivers). Los manejadores de dispositivos tienen la función de comenzar las operaciones de E/S en un dispositivo y procesar la terminación de una solicitud de E/S.

Funciones de los manejadores de dispositivos Funciones generalmente realizadas por el software independiente del dispositivo:        

Interfaz uniforme para los manejadores de dispositivos. Nombres de los dispositivos. Protección del dispositivo. Proporcionar un tamaño de bloque independiente del dispositivo. Uso de buffer. Asignación de espacio en los dispositivos por bloques. Asignación y liberación de los dispositivos de uso exclusivo. Informe de errores.

Las funciones básicas del software independiente del dispositivo son:  

Efectuar las funciones de e / s comunes a todos los dispositivos. Proporcionar una interfaz uniforme del software a nivel usuario.

El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado. Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:  

Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado. El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.

El software independiente del dispositivo debe: 

Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.



Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.

4.3 ESTRUCTURA DE DATOS PARA MANEJO DE DISPOSITIVOS Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.

Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas: • Manejadores de interrupción. • Manejadores de dispositivos o drivers. •Software de EIS independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos. • Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario. El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado. MANEJADORES DE INTERRUPCION Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea. Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema. MANEJADORES DE DISPOSITIVOS - Contiene el código dependiente del dispositivo - Cada manejador contiene sus colas.

E/S INDEPENDIENTE DE DISPOSITIVO - La frontera de este nivel con el anterior es difusa. - Funciones: - Ofrecer una interfaz uniforme a los procesos de usuarios. - Asignar nombres a los dispositivos. - Proteger a los dispositivos. - Ofrecer un tamaño de bloque independiente de los dispositivos. - Almacenar los datos temporales en la transferencias de E/S. - Gestionar la asignación del espacio en dispositivos de bloques. - Reservar y liberar los dispositivos dedicados. - Informar de los posibles errores. - Un aspecto muy importante en un S.O. es la asignación de nombres a los archivos y dispositivos. E/S EN EL ESPACIO DE USUARIO

SPOOLING

El sistema de E/S verá que el dispositivo no está y lo notificará a los niveles superiores hasta que el error llegue a la aplicación. Sin embargo, es importante resaltar que los sistemas operativos son cada vez más robustos y cada vez incluyen más control y reparación de errores, para lo cual usan métodos de paridad, checksums, códigos correctores de error, etc. Además, la información que proporcionan cuando hay un error es cada vez mayor.