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.
Tecnicas 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.
En la mayoría de los sistemas
informáticos, el DMA es la forma dominante de transferencia ofrecida por el
sistema operativo.
Sin interrupciones
|
Con interrupciones
|
|
Transferencia de E/S a memoria a través del
procesador
|
E/S programada
|
E/S dirigida por interrupciones
|
Transferencia de E/S directa a memoria
|
Acceso directo a memoria (DMA)
|
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:
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