4.1 Dispositivos y manejadores de dispositivos (drivers)
Administración entrada/salida
Dispositivos y manejadores de dispositivos (drivers)
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 visión lógica 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 visión lógica se ofrece a los usuarios un mecanismo de abstracción que oculta todos los detalles relacionados con los dispositivos físicos, 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 fácil 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 físico sin que sea necesario remodelar el sistema de E/S del sistema operativo.
- Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug&play.
- Conexión de un dispositivo de E/S a una computadora En la siguiente figura se muestra el esquema general de conexión de periféricos a una computadora. En el modelo de un periférico se distinguen dos elementos:
- Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad central de proceso a través de las unidades de entrada/salida. Son el componente mecánico que se conecta a la computadora.
- Controladores de dispositivos o unidades de E/S. Se encargan de hacer la transferencia de información entre la memoria principal y los periféricos. Son el componente electrónico a través del cual se conecta el dispositivo de E/S. Tienen una conexión al bus de la computadora y otra para el dispositivo (generalmente mediante cables internos o externos).
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 código de e / s representa una fracción significativa del S. O.
El uso inapropiado de los dispositivos de e/s frecuentemente genera ineficiencias del sistema, lo que afecta al performance global.
Principios del Hardware de E/S
El enfoque que se considerará tiene que ver con la interfaz que desde el hardware se presenta al software
- Comandos que acepta el hardware.
- Funciones que realiza.
- Errores que puede informar.
Dispositivos de E / S
Se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora.
Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal.
Se pueden clasificar en dos grandes categorías:- Dispositivos de bloques: dispositivos que almacenan la información en bloques de tamaño fijo (discos)
- Dispositivos de caracteres: maneja la información mediante un flujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora)
- 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.
- 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 ejemplos típico de dispositivos de caracter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.
Todos los 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 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 la UCP. 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 disquetes) 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 importantes de esta clase son los módem, 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.
En cualquier caso, y sea como sea el controlador, su misión es convertir los datos del formato interno del dispositivo a uno externo que se ofrezca a través de una interfaz de programación bien definida. Los controladores de dispositivo se suelen agrupar en alguna de las siguientes categorías o clases:
- Adaptadores de audio (tarjetas de sonido).
- Dispositivos de comunicación (infrarrojos, módems, etc).
- Dispositivos de visualización; pantallas (displays).
- Teclados.
- Ratón (“mouse” y otros señaladores gráficos).
- Dispositivos multimedia.
- Dispositivos de Red.
- Impresoras.
- Almacenamiento
- Entrada:
- Teclado
- Ratón
- Joystick
- Lápiz óptico
- Micrófono
- Webcam
- Escáner
- Escáner de código de barras
- Salida:
- Monitor
- Altavoz
- Auriculares
- Impresora
- Plotter
- Proyector
- Entrada/salida (mixtos):
- Unidades de almacenamiento: CD,DVD, Blu-ray, Memory cards, Disco Duro Externo, Disco duro, Pendrive USB.
- Módem
- Router
- Pantalla táctil
- Tarjeta de red
Controladores de Dispositivos
Un controlador (instaladores) de disposotivos, normalmente llamado controlador en inglés (device driver) es un programa que infórmatico que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware del dispositivo y proporcionando una interfaz- posiblemente estardarizada - para usarlo. Se puede esquematizar como un manual de instrucciones que se indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular. Por lo tanto es una pieza esencial, sin el cual, no se podría usar el hardware.Los controladores de dispositivos son programas añanidos al núcleo del sistema para gestionar periféricos y dispositivos oficiales.Existen tantos tipos de controladores como tipos de periféricos y es común mas de un tipo de controlador posible para el mismo dispositivo, cada uno ofreciendo un nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales ( normalmente disponibles en la página web del fabricante se pueden encontrar tambienlos proporcinados por el sistema operativo o tambien versiones no oficiales hechas por terceros.
Las unidades de e / s generalmente constan de:
- Un componente mecánico.
- Un componente electrónico, el controlador del dispositivo o adaptador.
- Para la mayoría de las micro y mini computadoras:
- Modelo de bus del sistema.
- Para la mayoría de los mainframes:
- Modelo de varios buses y computadoras especializadas en e / s llamadas canales de e / s.
- La comunicación es mediante un flujo de bits en serie que:
- Comienza con un preámbulo.
- Sigue con una serie de bits (de un sector de disco, por ej.).
- Concluye con una suma para verificación o un código corrector de errores.
- El preámbulo:
- Se escribe al dar formato al disco.
- Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares.
- Convertir el flujo de bits en serie en un bloque de bytes.
- Efectuar cualquier corrección de errores necesaria.
- Copiar el bloque en la memoria principal.
- Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria.
- Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de él.
Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:
- Obtenga el control de la cpu.
- Verifique los resultados de la operación.
Manejadores de Dispositivos
Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado en el sistema operativo.
Dicho manejador incluye: código independiente del dispositivo para proporcionar al nivel superior del sistema operativo una interfaz de alto nivel y el código dependiente del dispositivo necesario para programar el controlador del dispositivo a través de sus registros y datos. La tarea de un manejador de dispositivo es aceptar peticiones en formato abstracto, de la parte del código de E/S independiente del dispositivo, traducir dichas peticiones a términos 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 petición pendiente y ordena su ejecución. La política de extracción de peticiones de la lista es dependiente de manejador y puede ser FIFO. Una vez enviada la petición al controlador, el manejador se bloquea o no, dependiendo de la velocidad del dispositivo. Para los lentos (discos) se bloquea esperando una interrupción. Para los rápidos (pantalla, discos RAM, etcétera) responde inmediatamente. Después de recibir el fin de operación, controla la existencia de errores y devuelve al nivel superior el estado de terminación de la operación. Si tiene operaciones pendientes en la cola de peticiones, atiende a la siguiente, en caso de que le toque ejecutar después de la operación de E/S. En caso contrario se bloquea.
Comentarios
Publicar un comentario