jueves, 5 de noviembre de 2009

UNIDAD 4



4.2 MECANISMOS Y FUNCIONES DE LOS MANEJADORES DE DISPOSITIVOS (DEVICE DRIVERS).



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. Este sistema normalmente se considera parte del SO.

Un ejemplo de esto son los discos CD’s y DVD’s de datos que contienen uno o más Sistemas de Archivo.

El Sistema de Archivo describe dónde y cómo están localizados los archivos y carpetas dentro del medio de almacenamiento.

A menudo se confunde a el Sistema de Archivo con la TOC (Tabla de Contenidos), pero son cosas diferentes. La TOC describe el esquema de la sesión y la pista de un CD o DVD, pero no describe los archivos y carpetas.

En la mayoría de los casos, los diferentes Sistemas de Archivo apuntan a los mismos archivos, y es la razón de que existan los diferentes Sistemas de Archivo para ser el soporte de cuantos Sistemas Operativos existan. En algunos casos, sin embargo, los Sistemas de Archivo son diferentes, y un Sistema de Archivo puede contener un driver que sea capaz de leer otro Sistema de Archivo.

Cuando un Sistema de Archivo especifica la localización del archivo de E/S, el dispositivo lector se encarga de manipular dicho archivo y realizar su función sin la necesidad de la descripción del mismo. Únicamente su ejecución en el sistema es lo que realizará la interrupción que se provoca al activar la función de cualquier dispositivo reconocido por el S.O.

Cuando el usuario desea manejar un dispositivo de manera directa, encontramos la utilización de los Dispositivos Lógicos Programables, que son los que permiten realizar cualquier función previamente especificada por el usuario. Se usan para reemplazar lógica SSI y MSI, y se consideran de bajo costo y menor tiempo de diseño.

El método de acceso es el nivel más cercano al usuario, proporcionando una interfaz entre las aplicaciones y los archivos.

La funcionalidad de los bloques y aplicaciones con los que se tratan los registros de E/S debe contemplar la optimización de los recursos y rendimiento del Sistema. Cuando el usuario ejecuta una interrupción para un dispositivo de Salida, los registros deben bloquearse, y ocurrirá lo contrario para los dispositivos de Entrada.

Es tratado de manera distinta el funcionamiento de los dispositivos E/S con bloques, que en la ausencia de estos, esto se debe a que se debe gestionar el almacenamiento secundario para poder manejar las solicitudes y ocupar de manera correcta el espacio en blanco de memoria que se localice sin necesidad de perder tiempo en la búsqueda.






4.3 ESTRUCTURAS DE DATOS PARA MANEJO DE DISPOSITIVOS.


Estructuras asociadas.

Para el manejo de dispositivos a través del almacenamiento de los datos relevantes, se hace la utilización de espacios de memoria durante la ejecución del funcionamiento de un dispositivo, es decir, una vez llamada la interrupción del dispositivo, se crea automáticamente una estructura con todos los procesos relacionados con el uso que hacen los archivos para la ejecución del dispositivo.

La estructura de datos asociada sirve como referencia a una tabla de archivos que se mantienen abiertos y donde se contiene la información sobre la actividad en proceso del dispositivo así como los índices de referencia del archivo para su manipulación. Algunos sistemas requieren hacer un open previo al primer read.

La llamada a sistema open toma el nombre de archivo, busca en el directorio, copia la entrada del directorio en la tabla de archivos abiertos. Todo esto si estas acciones son permitidas de acuerdo a los modos de protección del archivo.

Un puntero para accederlo rápidamente es también puesto en la tabla de archivos abiertos.

En un sistema multiusuario, un archivo puede ser abierto por más de dos usuarios simultáneamente, cada uno con su puntero.

Las tablas que se crean para el manejo de los procesos pueden ser de dos tipos: la primera contienen la información sobre los archivos abiertos por el proceso y contienen un apuntador que la conecta con la otra tabla, que es básicamente la que contiene los archivos abiertos en todo el sistema. Dicha tabla contiene toda la información que se considera independiente del proceso que lo ejecuta, ejemplo de ello puede ser la ubicación del archivo en el disco, tamaño del archivo así como la cantidad de procesos que están abiertos a causa del archivo y el contador que decrementa con cada “close” que se realiza. Cuando queda en cero, se remueve esta entrada.

La información asociada a un archivo abierto es:

  • Puntero (File pointer)

Contador de aperturas del file (File open count) cuando lo tiene abierto más de un proceso simultáneamente

  • Ubicación del archivo en el disco

Hay sistemas que permiten compartir entre varios procesos, secciones de un archivo: un archivo ejecutable que reside en disco y es llevado a memoria y forma parte del espacio de direcciones de varios procesos; o archivos de datos cuyos bloques en memoria son accedidos por varios procesos.