Drivers


 
4.1 Dispositivos y Manejadores de dispositivos: device drivers
Dispositivos 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)
  • ·         Las principales características de los dispositivos de bloque son:
·         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.

Las principales características de los dispositivos de carácter son:
  • ·         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.
Los principales dispositivos 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.




4.2 Mecanismos y funciones de los manejadores de dispositivos: device drivers.
  • El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la CPU.
  •  El Sistema Operativo generalmente trabaja con el controlador y no con el dispositivo

Tecnicas de E/S 
E/S programada: El procesador emite una orden de E/S de parte de un proceso a un modulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.

E/S dirigida por interrupciones: El procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el modulo de E/S lo interrumpe cuan do completa su trabajo.

Acceso Directo a la Memoria (DMA): un modulo de DMA controla el intercambio de datos entre la memoria principal y un modulo de E/S. El procesador envía una petición de transferencia de un bloque de datos al modulo DMA y se interrumpe solo cuando se ha transferido el bloque entero.En la mayoría de los sistemas informáticos, el DMA es la forma dominante de transferencia ofrecida por el sistema operativo. 






4.3 Estructuras de datos para manejo de dispositivos.

Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación.
Un dato elemental es la mínima información que se tiene en un sistema. 

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
Después de dar servicio a un dispositivo ejecutando su rutina de servicio de interrupción (RSI) asociada, el procesador reanuda la actividad desde el punto de la interrupción.
Las interrupciones deben ocultarse en lo más profundo de las entrañas del S.O. La forma de esconderlo es que cada proceso que inicie una operación de E/S ser bloquea hasta que termine la E/S y ocurra la interrupción . El proceso se puede bloquear asi mismo mediante un DOWN en un semáforo, un WAIT en una variable de condición o un PECEIVE en un mensaje.



4.4 Operaciones de Entrada /salida

Tanto en la E/S programada como la basada en interrupciones, la UCP debe encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador.




Una mejora importante para incrementar la concurrencia entre la UCP y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la operación completa de E/S. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access).



Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información:

Tipo de operación: lectura o escritura.
           Periférico involucrado en la operación.
          La dirección de memoria desde la que se va a leer o a la que va a escribir directamente con el controlador de dispositivo (dirección).
          El número de bytes a transferir (contador).


Existen varias operaciones, las más importantes son las siguientes:
Lectura: el canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo nº de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.
Escritura: el canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura.
Control: se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc.
Bifurcación: cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar.
La unidad de Entrada/Salida (E/S) soporta estas funciones, realizando las comunicaciones del computador (memoria) con el mundo exterior (periféricos). Los dispositivos periféricos que se pueden conectar a un computador se suelen clasificar en cuatro  grandes grupos:

 Dispositivos de presentación de datos. Son dispositivos con los que interactúan los usuarios, portando datos entre éstos y la máquina, por ejemplo, ratón, teclado, pantalla, impresora, etc.
Dispositivos de almacenamiento de datos. Son dispositivos que forman parte de la jerarquía de memoria del computador. Interactúan de forma autónoma con la máquina, aunque también sirven para el intercambio de datos con el usuario, por ejemplo, los discos magnéticos.

Dispositivos de comunicación con otros procesadores. Permiten la comunicación con procesadores remotos a través de redes, por ejemplo, las redes de área local o global.

Dispositivos de adquisición de datos. Permiten la comunicación con sensores y actuadores que operan de forma autónoma en el entorno del computador. Se utilizan en sistemas de control automático de procesos.

 



No hay comentarios:

Publicar un comentario