M. C. Perla Ma. Saldivar Castillo
I.S.C. Karla Celina Velarde Alarcón
El control de las operaciones de entrada/salida es una de las misiones que debe realizar un sistema operativo para facilitar el uso de los distintos dispositivos que forman parte de un sistema informático.
Los procesos no necesitan conocer las características de los dispositivos, sino únicamente intercambiar datos con ellos.
Mediante una visión lógica, se ofrece a los usuarios un mecanismo de abstracción que oculta todos los detalles relacionados con los dispositivos físicos, así como del funcionamiento real de los mismos.
Para complentar veamos la siguiente presentación:
Mecanismos y funciones de los manejadores de dispositivos (device drivers)
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.
Mecanismos 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.
Funciones de los manejadores de dispositivos
Definir las características del periférico.
Inicializar los registros asociados al periférico.
Habilitar y deshabilitar el dispositivo.
Procesar todas las operaciones de E/S solicitadas por un proceso.
Cancelar toda operación de E/S solicitada.
Procesar todas las interrupciones hardware generadas por el propio periférico.
Tratar los errores.
Estructura de datos para manejo de dispositivos
Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación.
Un dato elemental es la mínima información que se tiene en un sistema.
Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa.
Las peticiones se procesan de forma estructurada en las siguientes capas:
• Manejadores de interrupción.
• Manejadores de dispositivos o drivers.
•Software de E/S independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores:
El gestor de cache
El gestor de bloques (servicios)
El gestor de archivos.
• Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario y aplicaciones DLL.
El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.