Está en la página 1de 9

4.

1 Dispositivos y manejadores de dispositivos: device 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 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.
Dispositivos de E / S
Se denomina perifricos a los aparatos o dispositivos auxiliares e independientes
conectados a la unidad central de procesamiento de una computadora.
Se consideran perifricos tanto a las unidades o dispositivos a travs de los cuales
la computadora se comunica con el mundo exterior, como a los sistemas que
almacenan o archivan la informacin, sirviendo de memoria auxiliar de la memoria
principal.
Se pueden clasificar en dos grandes categoras:

Dispositivos de bloques: dispositivos que almacenan la informacin en


bloques de tamao fijo (discos)
Dispositivos de caracteres: maneja la informacin mediante un flujo de
caracteres sin estructurarlos en bloques (mouse, teclado, impresora)

Las principales caractersticas de los dispositivos de bloque son:

La informacin se almacena en bloques de tamao fijo.


Cada bloque tiene su propia direccin.
Los tamaos ms 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
dems, en cualquier momento.
Un ejemplo tpico de dispositivos de bloque son los discos.

Las principales caractersticas de los dispositivos de caracter son:

La informacin se transfiere como un flujo de caracteres, sin sujetarse a


una estructura de bloques.
No se pueden utilizar direcciones.
No tienen una operacin de bsqueda.
Un ejemplos tpico de dispositivos de caracter son las impresoras de lnea,
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 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.). Existen perifricos menos habituales,
pero ms sofisticados, tales como un escner, lectores de huella digital,
lectores de cinta magntica, instrumentos musicales digitales (MIDI), etc.
Dispositivos de almacenamiento. Se usan para proporcionar
almacenamiento no voltil de datos y memoria. Su funcin primordial es
abastecer de datos y almacenamiento a los programas que se ejecutan en
la UCP. 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.

Controladores de Dispositivos
Un controlador (instaladores) de disposotivos, normalmente llamado controlador
en ingls (device driver) es un programa que infrmatico que permite al sistema
operativo interactuar con un perifrico, haciendo una abstraccin 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, cmo debe controlar y comunicarse con un dispositivo en
particular. Por lo tanto es una pieza esencial, sin el cual, no se podra usar el
hardware.Los controladores de dispositivos son programas aanidos al ncleo del
sistema para gestionar perifricos y dispositivos oficiales.
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 dispositivo 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.

4.2 Mecanismos y funciones de los manejadores de dispositivos (device


drivers).
Los manejadores de dispositivos tienen la funcin de comenzar las operaciones de
E/S en un dispositivo y procesar la terminacin de una solicitud de E/S.
El sistema de archivos bsico trata con bloques de datos que son los que se
intercambian con los discos o cintas. Ubica estos bloques en el almacenamiento
secundario o en el intermedio en memoria principal. Este sistema normalmente se
considera parte del SO.
El controlador es el componente ms 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 operacin, antes de seguir.
E/S dirigida por interrupciones: El procesador emite una orden
de E/S de parte de un proceso, continua la ejecucin de las
instrucciones siguientes y el modulo de E/S lo interrumpe cuan do
completa su trabajo. Las instrucciones siguientes pueden ser del mismo
proceso, si no es necesario para este esperar la terminacin de E/S. en
otro caso, el proceso se suspende a la espera de la interrupcin,
mientras se realiza otro trabajo.
Funciones de los manejadores de dispositivos
Funciones generalmente realizadas por el software independiente del
dispositivo:

Interfaz uniforme para los manejadores de dispositivos.


Nombres de los dispositivos.
Proteccin del dispositivo.
Proporcionar un tamao de bloque independiente del dispositivo.
Uso de buffer.
Asignacin de espacio en los dispositivos por bloques.

Asignacin y liberacin de los dispositivos de uso exclusivo.


Informe de errores.

Las funciones bsicas del software independiente del dispositivo son:

Efectuar las funciones de e / s comunes a todos los dispositivos.


Proporcionar una interfaz uniforme del software a nivel usuario.

El software independiente del dispositivo asocia los nombres simblicos


de
los
dispositivos
con
el
nombre
adecuado.
Un nombre de dispositivo determina de manera nica el nodo-i de un
archivo especial:

Este nodo-i contiene el nmero principal del dispositivo, que se


utiliza para localizar el manejador apropiado.
El
nodo-i
contiene
tambin
el nmero
secundario
de
dispositivo, que se transfiere como parmetro al manejador para
determinar la unidad por leer o escribir.

El software independiente del dispositivo debe:

Ocultar a los niveles superiores los diferentes tamaos de sector


de los distintos discos.

Proporcionar un tamao uniforme de los bloques, por ej.:


considerar varios sectores fsicos como un solo bloque lgico.

4.3 Estructuras de datos para manejo de dispositivos


Qu es una estructura?
Los sistemas operativos actuales son grandes y complejos, estos deben poseer
una ingeniera correcta para su fcil actualizacin y para que puedan cumplir su
funcin correctamente. La estructura es generalmente modular, cada modulo
cumple una funcin determinada e interacta con los dems mdulos.
Estructura
simple
o
sistema
monoltico
El sistema MS-DOS es, sin duda, el mejor sistema operativo para
microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no
estn bien definidos. Los programas de aplicacin pueden acceder a operaciones
bsicas de entrada / salida para escribir directamente en pantalla o discos. Este
libre acceso, hace que el sistema sea vulnerable, ya que un programa de
aplicacin puede eliminar por completo un disco rgido por alguna falla. Adems
este sistema, tambin esta limitado al hardware sobre el que corre.
Otra estructura simple es la utilizada por la versin original de UNIX, esta consiste
de dos partes separadas, el kernel y los programas de sistemas . El kernel fue
posteriormente separado en manejadores (drivers) de dispositivos y una serie de
interfaces. El kernel provee el sistema de archivos, la programacin de CPU, el
administrador de memoria y otras funciones del sistema operativo que responden
a las llamadas del sistema enunciadas anteriormente.

Es una forma de relacion entre el kernel y el


software
los sistmas opertivos que usaron este sistemafuron
freedbsd, unix y linux.

Estructura por capas (layers)


Las nuevas versiones de UNIX se disearon para hardware mas avanzado. Para
dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeas
partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las
aplicaciones que se ejecutan sobre este.
La modularizacion de un sistema se puede presentar de varias formas, la mas
utilizada es la de capas, la cual consiste en dividir al sistema operativo en un

numero de capas. La capa de menor nivel es el hardware y la de mayor nivel es la


interfaz con el usuario.
La principal ventaja es que cada capa cumple con una serie de funciones y
servicios que brinda a las otras capas, esto permite una mejor organizacin del
sistema operativo y una depuracin mas fcil de este.
BUFFERING (uso de memoria interna)

Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos
se leen y se almacenan en un buffer, una vez que los datos se han leido y la CPU
va a iniciar inmediatamente la operacion con ellos, el dispositivo de entrada es
introducido para iniciar inmediatamente la siguiente lectura.
La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este
libre para el siguiente grupo de datos, el dispositivo de entrada habra terminado de
leerlos. La CPU podra empezar el proceso de los ultimos datos leidos, mientras el
dispositivo de entrada iniciara la lectura de los datos siguientes.

SPOOLING

Esta forma de procesamiento de denomina spooling, utiliza el disco como un


buffer muy grade para leer tan por delante como sea posible de los dispositivos de
entrada y para almacenar los ficheros hasta que los dispositivos de salida sean
capaces de aceptarlos.

Manejadores de interrupcin
Los manejadores de interrupcin se encargan de tratar las interrupciones que
generan los controladores de dispositivos una vez que stos estn listos para la
transferencia de datos o bien han ledo o escrito los datos de memoria principal en
caso de acceso directo a memoria. Para tratar dicha interrupcin se ejecuta el
correspondiente manejador de interrupcin cuyo efecto es el de salvar los
registros, comunicar el evento al manejador del dispositivo y restaurar la ejecucin
de un proceso (que no tiene por qu ser el interrumpido).
Los manejadores de interrupcin suelen hacer algo ms que comunicar el evento
al manejador de dispositivo. Cuando una interrupcin ocurre muy frecuentemente,
caso del reloj, o cuando la cantidad de informacin a transferir es muy pequea,
caso del teclado, sera muy costoso comunicar siempre el evento al manejador de
dispositivo asociado. En estos casos, el propio manejador de interrupcin registra
la ocurrencia del evento, bien mediante el incremento de una variable global para
el reloj o la acumulacin de caracteres en un buffer del teclado. La notificacin al
manejador se hace nicamente cada cierto nmero de ocurrencias del evento, en
el caso del reloj, o activando unflag que indica que hay datos en el buffer del
teclado.
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.
Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga
directamente de transferir los datos entre el perifrico y la memoria principal, sin
requerir intervencin alguna por parte del procesador. Esta tcnica funciona de la
siguiente manera: cuando el procesador desea que se imprima un bloque de
datos, enva una orden al controlador indicndole la siguiente informacin:

Tipo de operacin: lectura o escritura.


Perifrico involucrado en la operacin.
La direccin de memoria desde la que se va a leer o a la que va a escribir
directamente con el controlador de dispositivo (direccin).
El nmero de bytes a transferir (contador).

Existen varias operaciones, las ms importantes son las siguientes:

Lectura: el canal transfiere a memoria principal un bloque de palabras de


tamao especificado en el campo n de palabras, en orden ascendente de
direcciones, empezando en la direccin especificada en el campo direccin
del dato.

Escritura: el canal transfiere datos de memoria principal al dispositivo. Las


palabras se transfieren en el mismo orden que en la operacin de lectura.

Control: se utiliza esta orden para enviar instrucciones especficas al


dispositivo de E/S, como rebobinar una cinta magntica, etc.

Bifurcacin: cumple en el programa de canal la misma funcin que una


instruccin 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
direccin del dato como la direccin de la siguiente CCW a ejecutar.

Funciones implicadas en las operaciones de entrada/salida


Para que un computador pueda ejecutar un programa debe ser ubicado
previamente en la memoria, junto con los datos sobre los que opera, y para ello
debe existir una unidad funcional de entrada de informacin capaz de escribir en la
memoria desde el exterior.

Dispositivos de presentacin de datos. Son dispositivos con los que


interactan los usuarios, portando datos entre stos y la mquina, por
ejemplo, ratn, teclado, pantalla, impresora, etc.

Dispositivos de almacenamiento de datos. Son dispositivos que


forman parte de la jerarqua de memoria del computador. Interactan de
forma autnoma con la mquina, aunque tambin sirven para el
intercambio de datos con el usuario, por ejemplo, los discos magnticos.

Dispositivos de comunicacin con otros procesadores. Permiten la


comunicacin con procesadores remotos a travs de redes, por ejemplo, las
redes de rea local o global.

Dispositivos de adquisicin de datos. Permiten la comunicacin con


sensores y actuadores que operan de forma autnoma en el entorno del
computador. Se utilizan en sistemas de control automtico de procesos por
computador y suelen incorporar conversores de seales A/D y D/A.

También podría gustarte