Sistemas Jerárquicos de
Directorios
El directorio contiene un
conjunto de datos por cada archivo referenciado.
Una posibilidad es que el
directorio contenga por cada archivo referenciado:
El nombre.
Sus atributos.
Las direcciones en disco
donde se almacenan los datos.
Otra posibilidad es que cada
entrada del directorio contenga:
El nombre del archivo.
Un apuntador a otra
estructura de datos donde se encuentran los atributos y las direcciones en
disco.
Al abrir un archivo el
S. O.:
Busca en su directorio el
nombre del archivo.
Extrae los atributos y
direcciones en disco.
Graba esta información en
una tabla de memoria real.
Todas las referencias
subsecuentes al archivo utilizarán la información de la memoria principal.
El número y
organización de directorios varía de sistema en sistema:
Directorio único: el
sistema tiene un solo directorio con todos los archivos de todos los usuarios
(ver Figura 4.1).
Un directorio por usuario: el
sistema habilita un solo directorio por cada usuario (ver Figura 4.2).
Un árbol de directorios por
usuario: el sistema permite que cada usuario tenga tantos directorios como
necesite, respetando una jerarquía general (ver Figura 4.3).
Nombre de las Rutas de
Acceso
Cuando el sistema de
archivos está organizado como un árbol de directorios se necesita una forma de
determinar los nombres de los archivos.
Los principales métodos para
nombres de los archivos son:
Ruta de Acceso Absoluta:
Cada archivo tiene una ruta
de acceso absoluta.
Consta de la ruta de acceso
desde el directorio raíz hasta el archivo.
Los componentes de la ruta
de acceso se separan mediante algún carácter llamado “separador”.
Ruta de Acceso Relativa:
Se utiliza junto con el
concepto de directorio de trabajo o directorio activo.
Todos los nombres que no
comiencen en el directorio raíz se toman en relación con el directorio de
trabajo.
El nombre absoluto de la
ruta de acceso siempre funciona, sin importar cual sea el directorio de
trabajo.
Operaciones con Directorios
Las llamadas al sistema
permitidas para el manejo de los directorios tienen variación de sistema a
sistema.
Las más comunes son las
siguientes:
Create (crear): se crea
un directorio vacío.
Delete (eliminar): se
elimina un directorio, que debe estar vacío.
Opendir (abrir directorio): se
pueden leer los directorios:
Antes de poder leer un
directorio, éste debe ser abierto.
Closedir (cerrar
directorio): cuando se ha leído un directorio, éste debe ser cerrado para
liberar el espacio correspondiente de la tabla interna.
Readdir (leer directorio): regresa
la siguiente entrada en un directorio abierto, sin importar el tipo de
estructura de directorios que se utilice.
Rename (cambiar de nombre): cambia
el nombre de un directorio de manera similar al cambio para archivos.
Link (ligar): es una
técnica que permite que un archivo aparezca en más de un directorio:
Especifica un archivo
existente y el nombre de una ruta de acceso.
Crea un enlace del archivo
ya existente con el nombre especificado en la ruta de acceso.
Unlink (desligar): se
elimina una entrada del directorio:
Si el archivo que se desea
desligar aparece solo en un directorio (el caso normal):
Se elimina del sistema de
archivos.
Si el archivo que se desea
desligar, está presente en varios directorios:
Solo se elimina la ruta de
acceso especificada.
Las demás rutas permanecen.
No hay comentarios:
Publicar un comentario