Sie sind auf Seite 1von 7

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

Figura 4.1.2
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.

Das könnte Ihnen auch gefallen