domingo, 25 de noviembre de 2012

4.3.- Estructuras de datos para manejo de dispositivos.

Hay estructuras que se crean en memoria durante la ejecución de los procesos relacionadas con el uso que estos hacen de los archivos.
El sistema cuenta con una tabla de archivos abiertos (open file table) general donde figura información sobre los archivos activos (que están siendo usados por los procesos) e índices de referencia al archivo. 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 mas de dos usuarios simultáneamente, cada uno con su puntero.

Hay dos tipos de tablas. La tabla por proceso contiene información sobre los archivos abiertos por el proceso y contiene un apuntador a la segunda tabla, la de los archivos abiertos en todo el sistema. Esta segunda tabla tiene información independiente del proceso que lo ejecute como ubicación del archivo en el disco, medida del archivo, etc.

La tabla del sistema tiene también la cantidad de procesos que tienen abierto el archivo, y con cada close este valor se va decrementando. Cuando queda en cero, se remueve esa 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 mas 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.

No hay comentarios:

Publicar un comentario