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