Вы находитесь на странице: 1из 6

Administracion Entrada/Salida

4.1 Dispositivos y manejadores de dispositivos

Dispositivos de entrada/salida
Se pueden clasificar en dos grandes categoras:
1. Dispositivos de bloque
2. Dispositivos de carcter
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 carcter 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 busqueda.
- 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:

Se utilizan para darle los comandos.


Los manejadores de dispositivos proveen estos comandos y verifican su ejecucin 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 ejecucin de dichas solicitudes.

Si al recibir una solicitud el manejador esta 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:

El manejador de disco debe: (ver figura 4.1.2)


o

Estimar el lugar donde se encuentra en realidad el bloque solicitado.

Verificar si el motor de la unidad funciona.

o
o

Verificar si el brazo esta colocado en el cilindro adecuado, etc.


Resumiendo: debe decidir cuales son las operaciones necesarias del controlador y
su orden.

Enva los comandos al controlador al escribir en los registros de dispositivo del mismo.

Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza


cierto trabajo; una interrupcin lo libera de este bloqueo.

Al finalizar la operacin debe verificar los errores.

Si todo esta o.k. transferir los datos al software independiente del dispositivo.

o
o

Regresa informacin de estado sobre los errores a quien lo llamo.


Inicia otra solicitud pendiente o queda en espera.

Figura 4.1.2

4.2 Funciones de los manejadores de dispositivos

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 Estructura 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
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.

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.
Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inferior. Una
capa no necesita saber como se implementan estas funciones, solo necesita saber que operaciones
puede realizar.

4.4 Operaciones de entrada/salida

Funciones que realizan


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 ultima 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
realizar estas funciones la CPU gestionara las lneas de 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

redundancia cclica, etc.)

- Almacenamiento temporal de la informacin. Es ms eficiente utilizar un buffer temporal especfico


para las operaciones
de E/S que utilizan el rea de datos del programa.
- Conversin de cdigos , conversin serie/paralelo, etc.

Вам также может понравиться