domingo, 12 de diciembre de 2010

5.2 Directorios

Generalmente son utilizados por los S.O. para llevar un registro de los archivos. En muchos sistemas son a su vez también archivo.

Sistemas de directorio jerárquicos

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.
  • Un directorio por usuario: el sistema habilita un solo directorio por cada usuario.
  • Un árbol de directorios por usuario: el sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarquía general.

Nombres de ruta

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.
  • Unlink (desligar): se elimina una entrada del directorio.

No hay comentarios:

Publicar un comentario