Una de las principales
funciones de un sistema operativo es la gestión de los recursos de la
computadora y, en concreto, de los dispositivos periféricos. El gestor de E/S
debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar
los siguientes objetivos:
- Facilitar el manejo de los dispositivos periféricos. Para ello
ofrecer una interfaz sencilla, uniforme y fácil de utilizar entre los
dispositivos, y gestionar los errores que se pueden producir en el acceso
a los mismos.
- Ofrecer mecanismos de protección que impidan a los usuarios acceder
sin control a los dispositivos periféricos.
El código destinado a manejar
la entrada y salida de los diferentes periféricos en un sistema operativo es de
una extensión considerable y sumamente complejo. Resuelve las necesidades de
sincronizar, atrapar interrupciones y ofrecer llamadas al sistema para los
programadores. En esta sección se repasarán los principios más importantes a
tomar en cuenta en este módulo del sistema operativo.
Los dispositivos de entrada
salida se dividen, en general, en dos tipos: dispositivos orientados a bloques
y dispositivos orientados a caracteres. Los dispositivos orientados a bloques
tienen la propiedad de que se pueden direccionar, esto es, el programador puede
escribir o leer cualquier bloque del dispositivo realizando primero una
operación de posicionamiento sobre el dispositivo. Los dispositivos más comunes
orientados a bloques son los discos duros, la memoria, discos compactos y,
posiblemente, unidades de cinta. Por otro lado, los dispositivos orientados a
caracteres son aquellos que trabajan con secuencias de bytes sin importar su
longitud ni ninguna agrupación en especial. No son dispositivos direccionables.
Ejemplos de estos dispositivos son el teclado, la pantalla o display y las
impresoras.
La clasificación anterior no
es perfecta, porque existen varios dispositivos que generan entrada o salida
que no pueden englobarse en esas categorías. Por ejemplo, un reloj que genera
pulsos. Sin embargo, aunque existan algunos periféricos que no se puedan
categorizar, todos están administrados por el sistema operativo por medio de
una parte electrónica - mecánica y una parte de software.
Controladores de Dispositivos
(Terminales y Discos Duros)
Los controladores de
dispositivos (también llamados adaptadores de dispositivos) son la parte
electrónica de los periféricos, el cual puede tener la forma de una tarjeta o
un circuito impreso integrado a la tarjeta maestra de la computadora. Por
ejemplo, existen controladores de discos que se venden por separado y que se
insertan en una ranura de la computadora, o existen fabricantes de computadoras
que integran esa funcionalidad en la misma tarjeta en que viene la unidad
central de procesamiento (tarjeta maestra).
Los controladores de dispositivos
generalmente trabajan con voltajes de 5 y 12 volts con el dispositivo
propiamente, y con la computadora a través de interrupciones. Estas
interrupciones viajan por el 'bus' de la computadora y son recibidos por el CPU
el cual a su vez pondrá en ejecución algún programa que sabrá qué hacer con esa
señal. A ese programa se le llama 'manejador de disposito' (device driver).
Algunas veces el mismo controlador contiene un pequeño programa en una memoria
de solo lectura o en memoria de acceso aleatoria no volátil y re-escribible que
interactúa con el correspondiente manejador en la computadora. En la figura 6.1
se muestra un esquema simple de dispositivos orientados a bloques y otros a
caracteres.
Por ejemplo, la terminal (CRT)
tiene un 'chip' que se encarga de enviar cadenas de bits por medio de un cable
serial que a su vez son recibidos por un controlador de puerto serial en la
computadora. Este 'chip' también se encarga de leer secuencias de bits que
agrupa para su despiegue en la pantalla o para ejecutar algunas funciones de
control. Lo importante en todos estos dispositivos es que se debe ejercer un
mecanismo para sincronizar el envío y llegada de datos de manera concurrente.
No hay comentarios:
Publicar un comentario