He revisado algunos materiales disponibles en la web con respecto al sistema de archivos de Unix, pero no pude obtener ninguna respuesta adecuada. En algunos materiales se menciona que la estructura de directorios utilizada en el sistema de archivos de Unix tiene una estructura de directorios jerárquica, mientras que en otros se ha mencionado que en realidad es un gráfico acíclico dirigido debido a la presencia de enlaces duros. Obviamente es jerárquico, pero DAG sería un mejor término para describirlo. ¿Alguien puede explicar si es realmente un DAG o jerárquico o estructurado en árbol?
Es un tipo limitado de gráfico dirigido. Si dejamos de lado los enlaces simbólicos por un momento, entonces la estructura de directorios del sistema de archivos es un árbol, porque los directorios no pueden tener enlaces duros. La estructura conjunta de directorios y archivos es un tipo de DAG restringido, porque las cosas en las hojas, es decir, las entradas del directorio, pueden ser enlaces duros.
Si se tienen en cuenta los enlaces simbólicos, entonces la estructura es un gráfico general, pero debido a que los enlaces simbólicos siempre se pueden reconocer como tales, los ciclos se pueden romper simplemente tratando los enlaces como un tipo especial de archivo (es decir, use lstat en lugar de stat ).