2. LOS DISPOSITIVOS DE E/S SE CLASIFICAN EN 3 GRUPOS QUE SON:
• 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.
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.
Para empezar una operación de E/S, la UCP tiene que escribir sobre los registros
anteriores los datos de la operación a través de una dirección de E/S o de memoria
asignada únicamente al controlador. Según se haga de una u otra forma, se distingue
entre dispositivos conectados por puertos o proyectados en memoria. El modelo de
dispositivos por puertos es clásico en las arquitecturas de Intel. En ellas, cuando se instala
un dispositivo, a su controlador se le asigna un puerto de E/S, una interrupción hardware y
un vector de interrupción.
3. Los dispositivos de almacenamiento secundario y terciario manejan la información en
unidades de tamaño fijo, denominadas bloques, por lo que a su vez se denominan
dispositivos de bloques. Estos bloques se pueden direccionar de manera independiente, lo
que permite leer o escribir un bloque con independencia de los demás. Los dispositivos de
bloque lo son porque el hardware fuerza la existencia de accesos de un tamaño
determinado. Un disco, por ejemplo, se divide en sectores de 512 bytes o de 1 KB, siendo
un sector la unidad mínima de transferencia que el controlador del disco puede manejar.
Los dispositivos de caracteres, como los terminales, impresoras, tarjetas de red, módems,
etcétera, no almacenan información en bloques de tamaño fijo. Gestionan flujos de
caracteres de forma lineal y sin ningún tipo de estructura de bloque. Un teclado es un
buen ejemplo de estos dispositivos. Está conectado a una UART (Universal Asvnchronous
Receiver/Transmiter) que recibe un carácter del teclado cada vez que se pulsa una tecla.
No es posible leer un bloque de teclas de un golpe o buscar dentro del dispositivo por
ninguna unidad. Un terminal por línea serie también es un dispositivo de caracteres. Su
controlador se limita a enviar al periférico el flujo de caracteres que debe representar en
la pantalla y a recibir del mismo los caracteres tecleados por el usuario.
Un controlador de dispositivo (llamado normalmente controlador, o, en inglés, driver) es
un programa informático que permite al sistema operativo interactuar con un periférico,
haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente
estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que
le indica cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es
una pieza esencial, sin la cual no se podría usar el hardware.
Existen tantos tipos de controladores como tipos de periféricos, y es frecuente encontrar
más de un 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 también los proporcionados por el
sistema operativo, o también versiones no oficiales hechas por terceros. Estos
controladores pueden ser genéricos (válidos para más de un modelo del mismo periférico)
o específicos para cada modelo. También se distribuyen actualizaciones a nuevas
versiones, que pueden dar un mejor funcionamiento. Normalmente son los fabricantes
del hardware quienes escriben sus controladores, ya que conocen mejor el
funcionamiento interno de cada aparato, pero también se encuentran controladores
libres, por ejemplo en los sistemas operativos libres.
4. Los controladores son muy variados, casi tanto como los dispositivos de E/S. Muchos de
ellos, como los de disco, pueden controlar múltiples dispositivos. Otros, como los de
canales de E/S, incluyen su propia UCP y bus para controlar la E/S por programa y evitar
interrupciones en la UCP de la computadora. De cualquier forma, en los últimos años ha
existido un esfuerzo importante de estandarización de los dispositivos, lo que permite
usar un mismo controlador para dispositivos de distintos fabricantes. Un buen ejemplo lo
constituyen los dispositivos SCSI (Srna Il? Computer Svstern interftice), cuyos
controladores ofrecen una interfaz común independientemente de que se trate de un
disco, una cinta, un CD-ROM, etc. Otro buen ejemplo son los controladores IDE
(Integrated Drive Electronics), que suelen usarse para conectar los discos en todas las
computadoras personales.
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
5. Un controlador de dispositivo, llamado normalmente controlador (en inglés, device driver)
es un programa informático que permite al sistema operativo interactuar con un
periférico, haciendo una abstracción del hardware y proporcionando una interfaz -
posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de
instrucciones que le indica cómo debe controlar y comunicarse con un dispositivo en
particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware
Existen tantos tipos de controladores como tipos de periféricos, y es común encontrar
más de un 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 también los proporcionados por el
sistema operativo, o también versiones no oficiales hechas por terceros.
Debido que el software de controladores de dispositivos se ejecuta como parte del
sistema operativo, con acceso sin restricciones a todo el equipo, resulta esencial que sólo
se permitan los controladores de dispositivos autorizados. La firma y el almacenamiento
provisional de los paquetes de controladores de dispositivos en los equipos cliente,
mediante las técnicas descritas en esta guía, proporcionan las ventajas siguientes:
- Seguridad mejorada. Puesto que los usuarios estándar no pueden instalar controladores
de dispositivos que no estén firmados o que estén firmados por un editor que no es de
confianza, los administradores tendrán un control riguroso respecto a los controladores
de dispositivos que pueden usarse en una organización. Podrán impedirse los
controladores de dispositivos desconocidos, así como cualquier controlador de dispositivo
que el administrador no permita expresamente. Mediante el uso de directivas de grupo,
un administrador puede proporcionar a todos los equipos cliente de una organización los
certificados de los editores que se consideren de confianza, permitiendo la instalación de
los controladores sin intervención del usuario, para comprobar que se trata de una firma
digital de confianza.
- Reducción de los costes de soporte técnico. Los usuarios sólo podrán instalar los
dispositivos que hayan sido probados y admitidos por la organización. En consecuencia, el
sistema permite mantener la seguridad del equipo, al tiempo que se reducen las
solicitudes del departamento de soporte técnico.
6. -Experiencia de usuario mejorada. Un paquete de controladores firmado por un editor de
confianza y almacenado provisionalmente en el almacén de controladores funciona de
modo automático, cuando el usuario conecta el dispositivo al equipo. No se requiere
acción alguna por parte del usuario.
En esta sección se incluyen las tareas principales para la seguridad de los paquetes de
controladores de dispositivos:
Los controladores de dispositivo (device drivers en inglés) son programas añadidos al
núcleo del sistema operativo, concebidos inicialmente para gestionar periféricos y
dispositivos especiales. Los controladores de dispositivo pueden ser de dos tipos:
orientados a caracteres (tales como los dispositivos NUL, AUX, PRN, del sistema) o bien
orientados a bloques, constituyendo las conocidas unidades de disco. La diferencia
fundamental entre ambos tipos de controladores es que los primeros reciben o envían la
información carácter a carácter; en cambio, los controladores de dispositivo de bloques
procesan, como su propio nombre indica, bloques de cierta longitud en bytes (sectores).
Los controladores de dispositivo, aparecidos con el DOS 2.0, permiten añadir nuevos
componentes al ordenador sin necesidad de rediseñar el sistema operativo.Los
controladores de dispositivo han sido tradicionalmente programas binarios puros,
similares a los COM aunque ensamblados con un ORG 0, a los que se les colocaba una
extensión SYS. Sin embargo, no hay razón para que ello sea así ya que un controlador de
dispositivo puede estar incluido dentro de un programa EXE, con la condición de que el
código del controlador sea el primer segmento de dicho programa. El EMM386.EXE del
MS-DOS 5.0 sorprendió a más de uno en su dia, ya que llamaba la atención observar como
se podía cargar con DEVICE: lo cierto es que esto es factible incluso desde el DOS 2.0 (pese
a lo que pueda indicar algún libro), pero ha sido mantenido casi en secreto. Actualmente
es relativamente frecuente encontrar programas de este tipo. La ventaja de un
controlador de dispositivo de tipo EXE es que puede ser ejecutado desde el DOS para
modificar sus condiciones de operación, sin complicar su uso por parte del usuario con
otro programa adicional. Además, un controlador de dispositivo EXE puede superar el
limite de los 64 Kb, ya que el DOS se encarga de relocalizar las referencias absolutas a
segmentos como en cualquier programa EXE ordinario.
7. También existen fallos en los controladores.
Al ser una parte crítica del sistema operativo, el fallo de un controlador puede ser más
grave que otros errores de software, pudiendo bloquear el ordenador o incluso dañar el
hardware.
Debido a que el hardware es (necesariamente) indeterminista, encontrar y solucionar un
fallo en un controlador es una tarea complicada ya que no sólo hay que monitorear el
programa, sino también el propio dispositivo.
APLICACIONES PARA EL CONTROLADOR
Debido a la diversidad de las modernas de hardware y sistemas operativos, controladores
de operar en muchos entornos diferentes. Drivers may interface with: Los conductores
pueden interfaz con:
- printers impresoras
- video adapters (adaptadores de vídeo)
- network cards (tarjetas de red)
- Sound cards (Tarjetas de Sonido)
- los autobuses
- ancho de banda
- almacenamiento informatico
- sistemas de archivos
- escaneres de imagenes
- camaras digitales
8. Común de los niveles de abstracción para los controladores de dispositivos son:
Para el hardware:
- la interconexión directa
- la escritura o lectura de un dispositivo de control de Registro
Para el software:
- permitiendo que el sistema operativo el acceso directo al hardware de los recursos.
- la aplicación de los primitivos sólo
- la aplicación de una interfaz para el software no conductor (por ejemplo, con TWAIN)
- la aplicación de un idioma, a veces muy alto nivel (por ejemplo, PostScript)
CONTROLADORES ABIERTOS
Impresoras: CUPS.
Scanners: SANE.
Escáners: SANE.
Video: Vidix , Direct Rendering Infrastructure.