Hardware de Entrada y Salida

Hardware de Entrada y Salida
Información sobre la plantilla
Disp E-S.jpg

Hardware de Entrada y Salida. Una de las funciones principales de un sistema operativo es el control de todos los dispositivos de entrada/salida de la computadora. Debe enviar comandos a los dispositivos, detectar las interrupciones y controlar los errores. Debe proporcionar además una interfaz entre los dispositivos y el resto del sistema, sencilla y fácil de usar. En la medida de lo posible, la interfaz debe ser la misma para todos los dispositivos (independencia del dispositivo). El código de E/S representa una fracción significativa del sistema operativo.

Principios del Hardware de E/S

Distintas personas analizan de varias maneras el hardware de E/S. Los ingenieros eléctricos lo hacen en términos de los chips, cables, fuentes de poder, motores y demás componentes físicos que conforman el hardware. Los programadores se fijan en la interfaz que se presenta el software (los comandos que acepta el hardware, las funciones que realiza y los errores que puede informar). Nos interesaremos por la programación de los dispositivos de E/S, no por su diseño, construcción o mantenimiento; así nuestro interés estará restringido a la forma de programar el hardware y no a su funcionamiento interno. Sin embargo, es frecuente que la programación de muchos dispositivos de E/S esté íntimamente ligada a su operación interna.

Dispositivos de E/S

Los dispositivos de E/S se pueden dividir de manera general en dos categorías: dispositivos de bloque y dispositivos de caracter. Un dispositivo de bloque es aquel que almacena la información en bloques de tamaño fijo, cada uno con su propia dirección. Los tamaños comunes de los bloques van desde 128 bytes hasta 1024 bytes. La propiedad esencial de un dispositivo de bloque es la posibilidad de leer o escribir en un bloque de forma independiente de los demás. En otras palabras, en todo momento, el programa puede leer o escribir en cualquiera de los bloques. Los discos son dispositivos de bloque.

Vista de cerca, no está bien definida la frontera entre los dispositivos que se manejan mediante direcciones de bloques y los que no. Todos coinciden en que un disco es un dispositivo que trabaja mediante direcciones de bloques, puesto que no importa dónde se encuentre el brazo, siempre es posible buscar otro cilindro y después esperar hasta que el bloque necesario rote debajo de la cabeza. Consideremos ahora una cinta magnética con bloques de 1 k byte. Si la unidad de cinta recibe un comando para la lectura del bloque N, siempre puede rebobinar la cinta e ir hacia adelante hasta llegar a dicho bloque. Esta operación es análoga al proceso de búsqueda en un disco, excepto que tarda más tiempo. Además, podría ser posible reescribir un bloque a mitad de la cinta. Incluso en caso de que las cintas se pudieran utilizar como dispositivos de bloque, eso dificulta la distinción, pues por lo general no se emplea de esa forma. El otro tipo de dispositivo de E/S es el dispositivo de caracter. Un dispositivo de caracter envía o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operación de búsqueda. Las terminales, impresoras de la línea, cintas de papel, tarjetas perforadas, interfaces de una red, ratones (para apuntar hacia la pantalla), ratas (para experimentos psicológicos de laboratorios) y muchos otros dispositivos no parecidos a los discos son dispositivos de caracter. Este esquema de clasificación no es perfecto. Algunos dispositivos no se ajustan a él. Por ejemplo, los relojes no tienen direcciones por medio de bloques. Tampoco generan o aceptan flujos de caracteres. Lo único que hacen es provocar interrupciones a intervalos bien definidos. Las pantallas mapeadas a memoria tampoco se ajustan al modelo. Aun así, el modelo de dispositivo de bloque y de carácter es lo bastante general para ser utilizado como base para trabajar el software de sistemas operativos en forma independiente del dispositivo de E/S. El sistema de archivos, por ejemplo, solo trabaja con dispositivos de bloque abstractos y encarga la parte que depende del dispositivo a un software de menor nivel, llamado manejador de dispositivo.

Fuentes

  • Sistemas Operativos Modernos (Primera Parte)

Véase también

Enlaces externos

http://www.monografias.com/trabajos33/dispositivos/dispositivos.shtml