4.2 Mecanismos y Funciones de los Manejadores de Dispositivos

 El controlador es el componente más importante desde el punto de vista del sistema

operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora

y es el componente que se ve desde la CPU. El Sistema Operativo generalmente

trabaja con el controlador y no con el dispositivo.

Técnicas de E/S

  • E/S programada: El procesador emite una orden de E/S de parte de un proceso a un módulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.
  • E/S dirigida por interrupciones: El procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el módulo de E/S lo interrumpe cuan do completa su trabajo. 


Las instrucciones siguientes pueden ser del mismo proceso, si no es necesario

para este esperar la terminación de E/S. en otro caso, el proceso se

suspende a la espera de la interrupción, mientras se realiza otro trabajo.

Acceso Directo a la Memoria (DMA): un módulo de DMA controla el intercambio de

datos entre la memoria principal y un módulo de E/S. El procesador envía una

petición de transferencia de un bloque de datos al módulo DMA y se interrumpe solo

cuando se ha transferido el bloque entero.

En la mayoría de los sistemas informáticos, el DMA es la forma dominante de

transferencia ofrecida por el sistema operativo.


Hay que recalcar que el controlador al ser una parte crítica del sistema operativo, el
fallo de un controlador puede ser más grave que otros errores de software, pudiendo
bloquear el ordenador o incluso dañar el hardware. Debido a que el hardware es
(necesariamente) indeterminista, encontrar y solucionar un fallo en un controlador
es una tarea complicada ya que no sólo hay que monitorizar el programa, sino
también el propio dispositivo.
A medida que han evolucionado los sistemas informáticos, se ha producido
tendencias crecientes en la complejidad y sofisticación de cada componente
individual. En ninguno de los puntos es más evidente que en la función de E/S. la
etapa de su evolución puede resumirse como lo siguiente:

1.- El procesador controla directamente los dispositivos periféricos.
2.- Se añade un controlador o módulo de E/S. El procesador utiliza E/S
programada sin interrupciones.
3.- Se añade un controlador o modulo. Pero empleándose interrupciones.
4.- El módulo de E/S recibe el control directo de la memoria, a través de DMA,
Ahora puede mover un bloque de datos a la memoria o desde la misma sin que
intervenga el procesador.
5.- se mejora el módulo de E/S hasta llegar a ser un procesador separado
con un conjunto de instrucciones especializadas para E/S.
6.- El módulo de E/S posee su propia memoria local y es, de hecho, un
computador independiente.
A medida que sigue la evolución, una mayor parte de las funciones de E/S se realiza
sin la participación del procesador. El procesador central se libera cada vez más de
las tareas relacionadas con la E/S, mejorando así el rendimiento.

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.

Comentarios