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 modulo 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 modulo 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 modulo de DMA controla el intercambio de datos entre la memoria
principal y un modulo de E/S. El procesador envía una petición de transferencia
de un bloque de datos al modulo DMA y se interrumpe solo cuando se ha
transferido el bloque entero.
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 tendencia crecientes en la
complejidad y sofisticación de cada componente individual. En ninguno de los
puntos es mas 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
modulo 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 modulo 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 modulo de E/S
hasta llegar a ser un procesador separado con un conjunto de instrucciones
especializadas para E/S.
6.- El modulo 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 la 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.
No hay comentarios.:
Publicar un comentario