Estructuras de Directorio en Sistema Operativo

Un directorio es un contenedor que se utiliza para contener carpetas y archivos. Organiza archivos y carpetas de forma jerárquica. 

Hay varias estructuras lógicas de un directorio, estas se dan a continuación.  

  • Directorio de un 
    solo nivel: el directorio de un solo nivel es la estructura de directorio más simple. En él, todos los archivos están contenidos en el mismo directorio, lo que facilita su soporte y comprensión. 

    Sin embargo, un directorio de un solo nivel tiene una limitación significativa cuando aumenta la cantidad de archivos o cuando el sistema tiene más de un usuario. Dado que todos los archivos están en el mismo directorio, deben tener un nombre único. si dos usuarios llaman a su prueba de conjunto de datos, entonces se viola la regla de nombre único.

ventajas: 

  • Dado que es un directorio único, su implementación es muy fácil.
  • Si los archivos son más pequeños, la búsqueda será más rápida.
  • Las operaciones como la creación de archivos, la búsqueda, la eliminación y la actualización son muy fáciles en una estructura de directorios de este tipo.

Desventajas:

  • Puede haber una posibilidad de colisión de nombres porque dos archivos pueden tener el mismo nombre.
  • La búsqueda se volverá lenta si el directorio es grande.
  • Esto no puede agrupar el mismo tipo de archivos juntos.
  • Directorio de dos niveles: 
    como hemos visto, un directorio de un solo nivel a menudo conduce a la confusión de nombres de archivos entre diferentes usuarios. la solución a este problema es crear un directorio separado para cada usuario. 

    En la estructura de directorios de dos niveles, cada usuario tiene su propio directorio de archivos de usuario (UFD) . Los UFD tienen estructuras similares, pero cada uno enumera solo los archivos de un solo usuario. El directorio de archivos maestros (MFD) del sistema se busca cada vez que una nueva identificación de usuario inicia sesión. El MFD está indexado por nombre de usuario o número de cuenta, y cada entrada apunta a la UFD para ese usuario.

ventajas: 

  • Podemos dar una ruta completa como /User-name/directory-name/.
  • Diferentes usuarios pueden tener el mismo directorio y el mismo nombre de archivo.
  • La búsqueda de archivos se vuelve más fácil debido al nombre de la ruta y la agrupación de usuarios.

Desventajas:

  • Un usuario no puede compartir archivos con otros usuarios.
  • Aún así, no es muy escalable, no se pueden agrupar dos archivos del mismo tipo en el mismo usuario. 
     
  • Directorio con estructura de árbol: una 
    vez que hemos visto un directorio de dos niveles como un árbol de altura 2, la generalización natural es extender la estructura del directorio a un árbol de altura arbitraria. 
    Esta generalización permite al usuario crear sus propios subdirectorios y organizar sus archivos en consecuencia.

Una estructura de árbol es la estructura de directorios más común. El árbol tiene un directorio raíz y cada archivo en el sistema tiene una ruta única. 

ventajas: 

  • Muy general, ya que se puede dar la ruta de acceso completa.
  • Muy escalable, la probabilidad de colisión de nombres es menor.
  • La búsqueda se vuelve muy fácil, podemos usar tanto rutas absolutas como relativas.

Desventajas: 

  • No todos los archivos se ajustan al modelo jerárquico, los archivos se pueden guardar en varios directorios.
  • No podemos compartir archivos.
  • Es ineficiente, porque el acceso a un archivo puede pasar por varios directorios. 
     
  • Directorio de gráficos acíclicos: 
    un gráfico acíclico es un gráfico sin ciclo y nos permite compartir subdirectorios y archivos. El mismo archivo o subdirectorios puede estar en dos directorios diferentes. Es una generalización natural del directorio con estructura de árbol. 

    Se usa en situaciones como cuando dos programadores están trabajando en un proyecto conjunto y necesitan acceder a los archivos. Los archivos asociados se almacenan en un subdirectorio, separándolos de otros proyectos y archivos de otros programadores ya que están trabajando en un proyecto conjunto y quieren que los subdirectorios estén en sus propios directorios. Los subdirectorios comunes deben ser compartidos. Así que aquí usamos directorios acíclicos. 

    Es importante tener en cuenta que el archivo compartido no es lo mismo que el archivo de copia. Si algún programador realiza algunos cambios en el subdirectorio, se reflejará en ambos subdirectorios.

ventajas: 

  • Podemos compartir archivos.
  • La búsqueda es fácil debido a diferentes caminos diferentes.

Desventajas:

  • Compartimos los archivos a través de enlaces, en caso de que eliminarlos pueda crear el problema,
  • Si el enlace es un enlace suave, después de eliminar el archivo nos quedamos con un puntero colgando.
  • En el caso de un enlace duro, para borrar un archivo tenemos que borrar todas las referencias asociadas a él. 
     
  • Estructura general de directorios de gráficos: 
    en la estructura general de directorios de gráficos, se permiten ciclos dentro de una estructura de directorios en la que se pueden derivar varios directorios de más de un directorio principal. 
    El principal problema con este tipo de estructura de directorios es calcular el tamaño total o el espacio que han ocupado los archivos y directorios. 
     

ventajas: 

  • Permite ciclos.
  • Es más flexible que la estructura de otros directorios.

Desventajas:

  • Es más costoso que otros.
  • Necesita recolección de basura. 
     

Publicación traducida automáticamente

Artículo escrito por AshishVishwakarma1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *