jueves, 5 de noviembre de 2009
4.3. ESTRUCTURA DE DATOS PARA MANEJO DE DISPOSITIVOS
Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas:
• Manejadores de interrupción.
• Manejadores de dispositivos o drivers.
•Software de EIS independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos.
• Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario.
El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.
MANEJADORES DE INTERRUPCION
Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea.
Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema.
MANEJADORES DE DISPOSITIVOS
- Contiene el codigo dependiente del dispositivo
- Cada manejador contiene sus colas.
E/S INDEPENDIENTE DE DISPOSITIVO
- La frontera de este nivel con el anterior es difusa.
- Funciones:
- Ofrecer una interfaz uniforme a los procesos de usuarios.
- Asignar nombres a los dispositivos.
- Proteger a los dispositivos.
- Ofrecer un tamaño de bloque independiente de los dispositivos.
- Almacenar los datos temporales en la transferencias de E/S.
- Gestionar la asignación del espacio en dispositivos de bloques.
- Reservar y liberar los dispositivos dedicados.
- Informar de los posibles errores.
- Un aspecto muy importante en un S.O. es la asignacion de nombres a los
archivos y dispositivos.
E/S EN EL ESPACIO DE USUARIO
SPOOLING
4.2. Mecanismos Funciones Manejadores Dispositivos
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.
-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.
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.
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
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.