La mayor parte del Sistema de E/S es Software Independiente de Dispositivo, que permite ejecutar las funciones de E/S que son comunes a todos los dispositivos a través de una interfaz uniforme. En este nivel se incluyen el Sistema de Archivos, el Gestor de Redes, el Gestor de Bloques, la Cache de Bloques y una parte de los Manejadores de Dispositivos. Internamente en este nivel se le proporciona:
1. Acceso al Nivel de Bloques o Caracteres: En los bloques se hace usando tamaños de bloques de acceso comunes para todo un sistema de archivos, lo que permite ocultar que cada dispositivo puede tener distinto tamaño de sector y distinta geometría. De igual manera ocurre con los dispositivos de caracteres algunos de los cuales trabajan con carácter a la vez, como el teclado, mientras otros como el Modem trabajan con flujo de caracteres.
2. Almacenamiento Intermedio en Memoria del Sistema Operativo: Permite optimizar la E/S y armonizar las peticiones del usuario, que pueden ser de cualquier tamaño con los bloques que maneja el sistema de archivos se usa para tres cosas: la primera es optimizar la E/S evitando acceso a los dispositivos, la segunda es ocultar las diferencias de velocidad con que cada dispositivo y usuario maneja los datos y por último facilitar la implementación de la semántica de compartición, al existir una copia única de datos en memoria.
3. La Gestión de los Dispositivos: Agrupa tres servicios que son: Nombrado, el cual permite traducir los nombres del usuario a identificadores del Sistema; Protección, este nivel asegura que los requisitos de protección se cumplan; Control, proporciona control de acceso para que un dispositivo dedicado como una impresora, sea accedido por un único usuario a la vez.
4. Planificación de E/S de los distintos Componentes: Esta es una de las principales funciones del Sistema de E/S. Para llevarla a cabo se usan colas de peticiones para cada clase de dispositivo, de ellas se extraen las peticiones de cada dispositivo en particular. Cada cola se ordena siguiendo una política de planificación que puede ser distinta en cada nivel.
5. Gestión de Errores: Se utiliza para aquellos casos en que el manejador del dispositivo no puede dar solución a un error. En general todos los Sistemas Operativos incluyen alguna forma de control de errores internos y de notificación al exterior de que esos errores no se pueden corregir.
|