Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
entrada/salida
4.1 Dispositivos y manejadores de dispositivos:
device drivers
Dispositivos de entrada/salida
1. Dispositivos de bloque
2. Dispositivos de carcter
-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.
- Unos ejemplos tpicos de dispositivos de carcter son las impresoras de lnea, terminales,
interfaces de una red, ratones, etc.
Manejadores de Dispositivos
Todo el cdigo que depende de los dispositivos aparece en los manejadores de
dispositivos. (Ver figura 4.1.1)
Figura 4.1.1
Cada controlador posee uno o ms registros de dispositivos:
Si al recibir una solicitud el manejador est ocupado con otra solicitud, agregara la nueva
solicitud a una cola de solicitudes pendientes.
La solicitud de e / s, por ej. para un disco, se debe traducir de trminos abstractos a trminos
concretos:
Si todo esta o.k. transferir los datos al software independiente del dispositivo.
Figura 4.1.2
Uso de buffer.
Informe de errores.
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.
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.
Estructura simple
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.
Vamos a sealar las funciones que debe realizar un computador para ejecutar trabajos de
entrada/salida:
- Direccionamiento o seleccin del dispositivo que debe llevar a cabo la operacin de E/S.
- Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido).
- Sincronizacin y coordinacin de las operaciones.
Esta ltima funcin es necesaria debido a la deferencia de velocidades entre los dispositivos y
la CPU y a la independencia que debe existir entre los perifricos y la CPU (por ejemplo,
suelen tener relojes diferentes).
Se define una transferencia elemental de informacin como la transmisin de una sola unidad
de informacin (normalmente un byte) entre el procesador y el perifrico o viceversa. Para
efectuar una transferencia elemental de informacin son precisas las siguientes funciones:
- Establecimiento de una comunicacin fsica entre el procesador y el perifrico para la
transmisin de la unidad de
informacin.
- Control de los perifricos, en que se incluyen operaciones como prueba y modificacin del
estado del perifrico. Para
control necesarias.
Definiremos una operacin de E/S como el conjunto de acciones necesarias para la
transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la
realizacin de una operacin de E/S se deben efectuar las siguientes funciones:
- Recuento de las unidades de informacin transferidas (normalmente bytes) para
reconocer el fin de operacin.
- Sincronizacin de velocidad entre la CPU y el perifrico.
- Deteccin de errores (e incluso correccin) mediante la utilizacin de los cdigos
necesarios (bits de paridad, cdigos de