El sistema de E/S es la parte del sistema operativo que se ocupa de
facilitar el manejo de los dispositivos de E/S ofreciendo una visin lgica simplificada de los mismos que pueda ser usada por otros componentes del sistema operativo (como el sistema de archivos) o incluso por el usuario. Mediante esta visin lgica se ofrece a los usuarios un mecanismo de abstraccin que oculta todos los detalles relacionados con los dispositivos fsicos, as como del funcionamiento real de los mismos. El sistema operativo debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos: Facilitar el manejo de los dispositivos de E/S. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fcil de utilizar. Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones donde sea necesario. Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivo fsico sin que sea necesario remodelar el sistema de E/S del sistema operativo. Permitir la conexin de dispositivos nuevos de E/S, solventando de forma automtica su instalacin usando mecanismos del tipo plug&play. Una de las funciones principales de un S. O. es el control de todos los dispositivos de e / s de la computadora.
Las principales funciones relacionadas son: Enviar comandos a los dispositivos. Detectar las interrupciones. Controlar los errores. Proporcionar una interfaz entre los dispositivos y el resto del sistema: El cdigo de e / s representa una fraccin significativa del S. O. El uso inapropiado de los dispositivos de e/s frecuentemente genera ineficiencias del sistema, lo que afecta al performance global.
MANEJADORES DE DISPOSITIVOS (DEVICE DRIVERS) Las unidades de E/S tienen una parte mecnica que es el propio dispositivo y otra electrnica que se llama controlador del dispositivo y acta como intermediario entre la computadora y los dispositivos. Un controlador de dispositivo (llamado normalmente controlador, o, en ingls, driver) es un programa informtico que permite al sistema operativo interactuar con un perifrico. El controlador convierte el flujo de bits en serie transmitidos desde un dispositivo en un bloque de bytes para la CPU y realizar las correcciones de los errores que se puedan cometer en la transmisin. El controlador dispone de tres capas funcionales: La interfaz del bus, el controlador y la interfaz del dispositivo.
PUERTOS DE E/S El controlador contiene una serie de registros llamados puertos de entrada/salida. Estos registros son accesibles (pueden ser ledos y modificados) mediante la ejecucin de instrucciones mquina. Las operaciones de E/S se realizan a travs de la carga y lectura de estos registros. Casi todo controlador dispone de los siguientes registros: Registros De Estado Registro De Ordenes Buffer
REGISTROS DE ESTADO: Indica la situacin actual del dispositivo (ocupado o desocupado). REGISTROS DE RDENES: En este registro se escribe la operacin de E/S que se desea que realice el dispositivo. BUFFER: Un buffer es un almacn de informacin. El buffer del controlador se utiliza para guardar temporalmente los datos implicados en una operacin de E/S.
Los controladores de dispositivo se suelen agrupar en alguna de las siguientes categoras o clases: Adaptadores de audio (tarjetas de sonido). Dispositivos de comunicacin (infrarrojos, mdems, etc). Dispositivos de visualizacin; pantallas (displays). Teclados. Ratn (mouse y otros sealadores grficos). Dispositivos multimedia. Dispositivos de Red. Impresoras. Almacenamiento
Dispositivos de E/S se pueden agrupar en tres grandes grupos: Dispositivos de interfaz de usuario. Se llama as a los dispositivos que permiten la comunicacin 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 (ratn, teclado, etc.) como para salida (impresoras, pantalla, etc.).
Dispositivos de almacenamiento. Su funcin primordial es abastecer datos y almacenamiento a los programas que se ejecutan en la CPu. Segn 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 disquetes) y terciario (cintas).
Dispositivos de comunicaciones. Permiten conectar a la computadora con otras computadoras a travs de una red. Los dos tipos de dispositivos ms importantes de esta clase son los mdem, para comunicacin va red telefnica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de rea local.
Algunos dispositivos de entrada y salida:
Entrada: o Teclado o Ratn o Joystick o Lpiz ptico o Micrfono o Webcam o Escner o Escner de cdigo de barras Salida: o Monitor o Altavoz o Auriculares o Impresora o Plotter o Proyector Entrada/salida (mixtos): o Unidades de almacenamiento: CD,DVD, Blu-ray, Memory cards, Disco Duro Externo, Disco duro, Pendrive USB. o Mdem o Router o Pantalla tctil o Tarjeta de red
Manejadores de Dispositivos Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado en el sistema operativo. Dicho manejador incluye: cdigo independiente del dispositivo para proporcionar al nivel superior del sistema operativo una interfaz de alto nivel y el cdigo dependiente del dpositivo necesario para programar el controlador del dispositivo a travs de sus registros y datos. La tarea de un manejador de dispositivo es aceptar peticiones en formato abstracto, de la parte del cdigo de E/S independiente del dispositivo, traducir dichas peticiones a trminos que entienda el controlador, enviar al mismo las rdenes adecuadas en la secuencia correcta y esperar a que se cumplan. La siguiente figura muestra un diagrama de flujo con las operaciones de un manejador. Todos los manejadores tienen una lista de peticiones pendientes por dispositivo donde se encolan las peticiones que llegan de niveles superiores. El manejador explora la lista de peticiones, extrae una peticin pendiente y ordena su ejecucin. La poltica de extraccin de peticiones de la lista es dependiente de manejador y puede ser FIFO. Una vez enviada la peticin al controlador, el manejador se bloquea o no, dependiendo de la velocidad del dispositivo. Para los lentos (discos) se bloquea esperando una interrupcin. Para los rpidos (pantalla, discos RAM, etctera) responde inmediatamente. Despus de recibir el fin de operacin, controla la existencia de errores y devuelve al nivel superior el estado de terminacin de la operacin. Si tiene operaciones pendientes en la cola de peticiones, atiende a la siguiente, en caso de que le toque ejecutar despus de la operacin de E/S. En caso contrario se bloquea.
Todo el cdigo que depende de los dispositivos aparece en los manejadores de dispositivos. (Ver figura 4.1.1)
Figura 4.1.1
La labor de un manejador de dispositivos es la de: Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. Verificar la ejecucin de dichas solicitudes. Si al recibir una solicitud el manejador esta ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes. La solicitud de e / s, por ej. para un disco, se debe traducir de trminos abstractos a trminos concretos: El manejador de disco debe: o Estimar el lugar donde se encuentra en realidad el bloque solicitado. o Verificar si el motor de la unidad funciona. o Verificar si el brazo est colocado en el cilindro adecuado, etc. o Resumiendo: debe decidir cuales son las operaciones necesarias del controlador y su orden. o Enva los comandos al controlador al escribir en los registros de dispositivo del mismo. o Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupcin lo libera de este bloqueo. o Al finalizar la operacin debe verificar los errores. o Si todo esta o.k. transferir los datos al software independiente del dispositivo. o Regresa informacin de estado sobre los errores a quien lo llamo. o Inicia otra solicitud pendiente o queda en espera.
Existen muchas diferencias entre las clases de dispositivos que son de importancia dentro de las mismas clases, algunas de ellas se describen a continuacin: Velocidad de datos: Son las velocidades con en bps con que trabajan los dispositivos. Aplicaciones: Es la utilidad que tiene un dispositivos ya que influye en el software y en las polticas del sistema operativo y de apoyo, Por ejemplo un disco que almacena archivos necesita del soporte de un software de gestin de archivos. Complejidad de control: Esto es que nivel de complejidad que tienen los dispositivos, una impresora puede tener una interfaz de control relativamente simple, a un disco que es mucho mas complejo, el modulo de entrada/salida es el que se encarga de filtrar estas diferencia para comunicarse con el Sistema Operativo. Unidad de transferencia: Los datos se pueden transmitir como flujo de bytes o caracteres. Representacin de datos: Los dispositivos emplean diversos esquemas de codificacin de los datos, que incluye la diferencia de cdigos de caracteres y los convenios de paridad. Condiciones de error: Como nos representa o informa un dispositivos un error acerca de ellos, el rango disponible de respuesta varia de un dispositivo a otro. Esta diversidad conduce hacia un enfoque consistente y uniforme de la E/S, que es difcil de alcanzar, tanto desde el punto de vista del sistema operativo como de los procesos de usuario. Los controlares hardware (interfaces) son los que actan como intermediarios entre el sistema informtico y los dispositivos de E/S. su propsito es superar la incompatibilidad de velocidad y de sealizacin de niveles entre el procesador y los perifricos y traducir las ordenes de E/S genricas emitidas por el procesador a controles especficos del dispositivo. El hardware de E/S suele estar fsicamente distribuido sobre una serie de interfaces o controladores de dispositivo en la siguiente figura se muestra un esquema que representa un diagrama de bloques de un sistema informtico. Esta estructura se identifica fcilmente en la estructura fsica de un sistema informtico. Generalmente el centro del sistema es la tarjeta base, que tiene una serie de conectores en los cuales se conectan otras tarjetas, el bus del sistema, que sirve para comunicacin e intercambio de direcciones, datos y pulsos de control entre datos.