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