Introducción
Esta investigación tiene como la finalidad de conocer acerca de los dispositivos de
entrada y salida que existen en una computadora, las cuales son una de las
principales funciones de un sistema operativo.
También se mostraran los manejadores de dispositivos y las funciones de cada
uno de ellos y como está estructurado el manejo de datos de los dispositivos.
Unidad 4: Administración de entrada/salida
Conceptosbásicos de e/s
El sistema de entrada y salida es la parte del S.O. encargada de la administración
de los dispositivos de E/S.
Comprende tanto la transferencia entre diversos niveles de la memoria como la
comunicación con los periféricos.
Este sistema proporciona un medio para tratar los archivos y dispositivos de
manera uniforme, actuando como interfaz entre los usuarios y los dispositivos de
e/s que pueden ser manipulados por órdenes de alto nivel.
El SO debe controlar el funcionamiento de todos los dispositivos de E/S para
alcanzar los siguientes objetivos:
Facilitar el manejo de los dispositivos periféricos. 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
dispositivos físicos sin que sea necesario remodelar el sistema de E/S del
SO.
Permitir la conexión de dispositivos nuevos de E/S, solventando de forma
automática su instalación usando mecanismos del tipo plug & play.
4.1 Dispositivos y manejadores de dispositivos: DEVICE DRIVERS
Dispositivos de E/S
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.).
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 CPU.
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.
Manejadores de dispositivos (DEVICE DRIVERS)
Manejadores de Interrupciones
Las interrupciones deben ocultarse en el S. O.:
Cada proceso que inicie una operación de e / s se bloquea hasta que
termina la E/S y ocurra la interrupción.
El procedimiento de interrupción realiza lo necesario para desbloquear el
proceso que lo inicio.
Manejadores de Dispositivos
Todo el código que depende de los dispositivos aparece en los manejadores de
dispositivos.
Cada controlador posee uno o más registros de dispositivos:
Se utilizan para darle los comandos.
Los manejadores de dispositivos proveen estos comandos y verifican su
ejecución adecuada.
La labor de un manejador de dispositivos es la de:
Aceptar las solicitudes abstractas que le hace el software independiente del
dispositivo.
Verificar la ejecución de dichas solicitudes
Las unidades de E/S tienen una parte mecánica que es el propio dispositivo y otra
electrónica que se llama controlador del dispositivo y actúa como intermediario
entre la computadora y los dispositivos.
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.
El controlador convierte el flujo de bits en serie transmitidos desde un
dispositivo en un bloque de bytes para la CPU y realizar las correcciones de
los errores que se puedan cometer en la transmisión.
El controlador dispone de tres capas funcionales: La interfaz del bus, el
controlador y la interfaz del dispositivo.
Puertos de E/S
El controlador contiene una serie de registros llamados puertos de entrada/salida.
Estos registros son accesibles (pueden ser leídos y modificados) mediante la
ejecución de instrucciones máquina. Las operaciones de E/S se realizan a través
de la carga y lectura de estos registros. Casi todo controlador dispone de los
siguientes registros:
Registros De Estado
Registro De Ordenes
Buffer
Registros de estado
Indica la situación actual del dispositivo (ocupado o desocupado).
Registros de órdenes
En este registro se escribe la operación de E/S que se desea que realice el
dispositivo.
Buffer
Un buffer es un almacén de información. El buffer del controlador se utiliza para
guardar temporalmente los datos implicados en una operación de E/S.
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
4.2 Mecanismos y funciones de los manejadores de dispositivos
(DEVICE DRIVERS)
Los manejadores de dispositivo (DEVICE DRIVERS) se comunican directamente
con los dispositivos o sus controladores o canales.
Los manejadores de dispositivos tienen la función de comenzar las operaciones de
E/S en un dispositivo y procesar la terminación de una solicitud de E/S.
El sistema de archivos básico 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.
El supervisor básico de E/S se responsabiliza de iniciar y terminar la E/s con
archivos.
Selecciona el dispositivo donde se realizará la E/S, según el archivo seleccionado.
Planifica los accesos a disco y cinta, asigna los buffers de E/S y reserva la
memoria secundaria.
La E/S lógica tiene la función de permitir a los usuarios y aplicaciones acceder a
los registros.
El método de acceso es el nivel más cercano al usuario, proporcionando una
interfaz entre las aplicaciones y los archivos.
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.
Protección del dispositivo.
Proporcionar un tamaño de bloque independiente del dispositivo.
Uso de buffer.
Asignación de espacio en los dispositivos por bloques.
Asignación y liberación de los dispositivos de uso exclusivo.
Informe de errores.
Las funciones básicas 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.
4.3 Estructuras 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.
En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos
términos:
Buffering (uso de memoria intermedia).
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 leído y la CPU
va a iniciar inmediatamente la operación con ellos, el dispositivo de entrada es
instruido para iniciar inmediatamente la siguiente lectura.
La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU esté
libre para el siguiente grupo de datos, el dispositivo de entrada habrá terminado de
leerlos. La CPU podrá empezar el proceso de los últimos datos leídos, mientras el
dispositivo de entrada iniciará la lectura de los datos siguientes.
Spooling
Esta forma de procesamiento se denomina spooling, utiliza el disco como un buffer
muy grande 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.
Es una característica utilizada en la mayoría de los sistemas operativos.
4.4 Operaciones de Entrada/Salida
Tanto en la E/S programada como la basada en interrupciones, la CPU 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 CPU y la E/S consiste en que el controlador del dispositivo
se pueda encargar de efectuar la transferencia de datos. Esta técnica se
denomina acceso directo a memoria (DMA, Direct Memory Access).
Acceso directo a memoria (dma)
Este dispositivo permite la transferencia directa de información entre la memoria y
los periféricos o viceversa, sin requerir intervención alguna por parte del
procesador.
El DMA necesita:
1. Registro: almacena la dirección de memoria desde donde se produce la
transferencia.
2. Registro contador: guarda la longitud de bloque a transferir.
3. Bits: indica si la operación es de lectura o escritura.
4. Bloque de control: controla el funcionamiento del sistema.
Existen 3 tipos de transferencia para el máximo aprovechamiento del bus:
1. Por ráfagas: el DMA toma el control del bus y no lo suelta hasta terminar
la transferencia.
2. Por robo de ciclo: el DMA toma el bus durante un ciclo enviando una
palabra cada vez.
3. Transparente: se aprovechan los ciclos en que el procesador no usa el
bus.
Operaciones de E/S
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úmero 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.
Conclusión:
Como se ha podido observar existen muchos tipos de dispositivos y funciones que
utiliza una computadora y son muy indispensables para poder interactuar con ella.
A lo largo que va transcurriendo el tiempo, se ha demostrado que la tecnología
avanza cada día más en busca de mejoras para la computadora, vemos como los
equipos van modificando su diseño y descartando los dispositivos de entrada
como lo es el mouse que ya no es necesario en las computadoras portátiles.