GESTIÓN DE LOS DISPOSITIVOS

Los dispositivos hardware de entrada/salida, también conocidos como “periféricos”, son elementos complejos. Para hacer más fácil el trabajo de los programadores, es preferible ocultar los detalles de estos dispositivos, de manera que los programas no tengan que diseñarse en función de los mismos, sino que sean independientes de ellos. Sera el software del sistema operativo el encargado de conseguir dicha independencia, a través de las operaciones de E/S que utilizaran los programas y que serán independientes del tipo y modelo del periférico.

El software del sistema operativo para manejar los dispositivos de entrada y salida representa aproximadamente un 50%, del total del código mismo. Proporciona a los
programadores y procesos las siguientes funciones:

Comandos que faciliten el uso de los periféricos.
    Gestión de interrupciones.
    Gestión de errores.
  Conjunto de llamadas al sistema operativo para que los programadores puedan realizar las operaciones    de entrada/salida.


DISPOSITIVO

Son estructuras sólidas, electrónicas y mecánicas las cuales son diseñadas para un uso específico, estos se conectan entre sí para crear una conexión en común y obtener los resultados esperados, siempre y cuando cumplan con las reglas de configuración.


Dispositivos de entrada

Son los medios por el cual el usuario proporciona órdenes, comandos, instrucciones y
datos de diversa índole a la computadora, para que ésta los procese.


Dispositivos de Salida

Son aquellos dispositivos que proporcionan al usuario el resultado final del procesamiento de la información. Entre ellos tenemos el monitor, la impresora, las bocina y la tarjeta de audio.


Se pueden clasificar según el tipo de transmisión de información en dos grande scategorías:

Dispositivos de bloque

Las principales características de los dispositivos de bloque son: La información se almacena en bloques de tamaño fijo. Cada bloque tiene su propia dirección. Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1,024 bytes.
Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento. Un ejemplo típico de dispositivos de bloque son los discos.

Dispositivos de carácter

Las principales características de los dispositivos de carácter son:
La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones. No tienen una operación de búsqueda. Un ejemplo típico de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, mouse, etc.
Algunos dispositivos no se ajustan a este esquema de clasificación, por ejemplo los relojes, que no tienen direcciones por medio de bloques y no generan o aceptan flujos de caracteres.


Los dispositivos de E/S se pueden agrupar en tres grandes grupos según su función:

Ø  Dispositivos de interfaz de usuario: Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). Existen periféricos menos habituales, pero más sofisticados, tales como un escáner, lectores de huella digital, lectores de cinta magnética, instrumentos musicales digitales (MIDI), etc.

Ø  Dispositivos de almacenamiento: Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en el CPU. Según su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario (discos y memorias flash) y terciario (cintas).

Ø  Dispositivos de comunicaciones: Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más comunes de esta clase son los módems, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local.

Características de los dispositivos

Los dispositivos se caracterizan por su heterogeneidad, lo que introduce complejidad en el sistema operativo. Algunas de las características en las que los dispositivos pueden diferir son las siguientes:

Ø  Unidad de transferencia. Unos dispositivos utilizan el byte como unidad de transferencia (dispositivos de caracteres, como el teclado o el ratón). Otros transfieren y/o almacenan la información en bloques (dispositivos de bloques, como discos y cintas magnéticas).

Ø  Velocidad. Los rangos en los que se mueven los dispositivos son muy amplios. Los discos y los dispositivos de comunicación transfieren millones de caracteres por segundo y pueden hacerlo a velocidad constante, mientras que con el teclado se transfieren a lo sumo unos cuantos caracteres por segundo, con un periodo concreto impredecible.

Ø  Representación de los datos. Incluso un mismo dispositivo puede utilizar diferentes codificaciones configurables en la instalación, como es el caso del teclado y el monitor.

Ø  Protocolos de comunicación. La comunicación entre el dispositivo y la CPU se realiza de acuerdo a un determinado protocolo que depende del dispositivo y del bus de comunicación.

Ø  Operaciones. Hay dispositivos de entrada, de salida y de entrada/salida. Además, algunos dispositivos requieren operaciones específicas (por ejemplo, posicionar el cabezal de lectura/escritura en los discos).

Ø  Errores. Las condiciones de error varían con la naturaleza del dispositivo. Por ejemplo, en la impresora hay que tratar la falta de papel como una situación de error específica, mientras que en un disco puede haber errores en el posicionamiento del cabezal.

Para proporcionar una forma homogénea de direccionar los dispositivos, a nivel hardware éstos se conectan al sistema mediante controladores. El sistema operativo ya no trata con el dispositivo en sí mismo, sino con una interfaz que lo representa mediante un conjunto de direcciones o registros del controlador, que se pueden direccionar en el espacio de direcciones de memoria o constituir un espacio de direcciones independientes. El sistema se comunica con el controlador mediante operaciones de lectura/escritura sobre los registros de datos, estado y control, permitiendo tanto la transferencia de información como el diagnóstico y configuración del dispositivo. Estas operaciones las realizan las funciones de más bajo nivel del núcleo del sistema operativo, y son dependientes del hardware.


Tipos de entrada/salida

 Por otra parte, y dependiendo en gran parte de las características del dispositivo, hay que distinguir tres tipos de entrada/salida, en función de cómo el sistema sesincroniza con el controlador:

Ø  E/S programada. La sincronización es por encuesta, realizándose un bucle de espera activa en la consulta del registro de estado del controlador. Los sistemas operativos multiprogramados evitan este tipo de operación.

Ø  E/S por interrupciones. El controlador activa una interrupción que permite lacomunicación asíncrona del sistema operativo, que puede estar realizandootras tareas, con el dispositivo. Es la base que permite implementar un sistemaoperativo multiprogramado.

Ø  E/S por DMA. Los dispositivos de bloques, que requieren una tasa de transferenciamuy elevada, utilizan el acceso directo a memoria para las operaciones de entrada/salida, bien utilizando ciclos de memoria libres (robo de ciclo), bienadueñándose de los buses de memoria para transferir un bloque completo.Este tipo de entrada/salida implica la utilización de interrupciones para la sincronización con el fin de la transferencia. 


La evolución del hardware ha llevado a incluir capacidad de proceso dentro deldispositivo (procesadores de E/S). El sistema operativo se comunica con elprocesador de E/S para indicarle los parámetros de la operación a realizar y ordenarsu inicio. El procesador de E/S ejecuta un código propio que controla los detalles dela operación. Por otra parte, lo habitual hoy en día es incluir una cierta cantidad dememoria RAM en el controlador o en el dispositivo, sobre la que el sistema realiza la transferencia. Esto ocurre por ejemplo con los discos, las impresoras y laspantallas gráficas, que pueden contar con varios Mbytes de memoria.Finalmente, un dispositivo puede estar accesible a través de una red, de  forma transparente a las aplicaciones, situación habitual hoy en día, por ejemplo en las impresoras. Una pila de protocolos proporciona la comunicación entre la máquina cliente, que lanza la operación, y el servidor remoto, que gestiona el dispositivo

No hay comentarios:

Publicar un comentario