Esto es en parte por razones históricas, y en parte porque tiene más sentido de esta manera.
Multics
Multics fue el primer sistema operativo en introducir el sistema de archivos jerárquico tal como lo conocemos hoy, con directorios que pueden contener directorios. Citando "Un sistema de archivos de uso general para almacenamiento secundario" por RC Daley y PG Neumann:
La Sección 2 del documento presenta la estructura jerárquica de los archivos, lo que permite un uso flexible del sistema. Esta estructura contiene capacidades suficientes para garantizar la versatilidad. (...)
Para facilitar la comprensión, la estructura de archivos puede considerarse como un árbol de archivos, algunos de los cuales son directorios. Es decir, con una excepción, cada archivo (por ejemplo, cada directorio) se encuentra directamente señalado por exactamente una rama en exactamente un directorio. La excepción es el directorio raíz, o raíz, en la raíz del árbol. Aunque no se señala explícitamente desde ningún directorio, la raíz se señala implícitamente mediante una rama ficticia que el sistema de archivos conoce. (...)
En cualquier momento, se considera que un usuario está operando en algún directorio, llamado su directorio de trabajo. Puede acceder a un archivo efectivamente señalado por una entrada en su directorio de trabajo simplemente especificando el nombre de la entrada. Más de un usuario puede tener el mismo directorio de trabajo a la vez.
Como en muchos otros aspectos, Multics buscó flexibilidad. Los usuarios pueden trabajar en un subárbol del sistema de archivos e ignorar el resto, y aún así beneficiarse de los directorios para organizar sus archivos. Los directorios también se usaron para el control de acceso: el atributo READ permitió a los usuarios enumerar los archivos en un directorio, y el atributo EXECUTE permitió a los usuarios acceder a los archivos en ese directorio (esto, como muchas otras características, vivía en Unix).
Multics también siguió el principio de tener un único grupo de almacenamiento. El documento no se detiene en este aspecto. Un único grupo de almacenamiento era una buena combinación con el hardware de la época: no había dispositivos de almacenamiento extraíbles, al menos ninguno que a los usuarios les importara. Multics tenía un grupo de almacenamiento de respaldo separado, pero esto era transparente para los usuarios.
Unix
Unix se inspiró mucho en Multics, pero apuntó a la simplicidad, mientras que Multics apuntó a la flexibilidad.
Un único sistema de archivos jerárquico se adaptaba bien a Unix. Al igual que con Multics, los grupos de almacenamiento generalmente no eran relevantes para los usuarios. Sin embargo, había dispositivos extraíbles, y Unix los expuso a los usuarios, a través de los comandos mount
y umount
(reservados para el "superusuario", es decir, el administrador). En "El sistema de tiempo compartido UNIX" , Dennis Ritchie y Ken Thompson explican:
Aunque la raíz del sistema de archivos siempre se almacena en el mismo dispositivo, no es necesario que toda la jerarquía del sistema de archivos resida en este dispositivo. Hay una solicitud de sistema de montaje con dos argumentos: el nombre de un archivo ordinario existente y el nombre de un archivo especial cuyo volumen de almacenamiento asociado (por ejemplo, un paquete de disco) debe tener la estructura de un sistema de archivos independiente que contenga su propia jerarquía de directorios . El efecto de mount es hacer que las referencias al archivo ordinario hasta ahora se refieran al directorio raíz del sistema de archivos en el volumen extraíble. En efecto, mount reemplaza una hoja del árbol de jerarquía (el archivo ordinario) por un subárbol completamente nuevo (la jerarquía almacenada en el volumen extraíble). Después del montaje, prácticamente no hay distinción entre los archivos en el volumen extraíble y los del sistema de archivos permanente. En nuestra instalación, por ejemplo, el directorio raíz reside en una pequeña partición de una de nuestras unidades de disco, mientras que la otra unidad, que contiene los archivos del usuario, está montada por la secuencia de inicialización del sistema. Un sistema de archivos montable se genera escribiendo en su archivo especial correspondiente. Un programa de utilidad está disponible para crear un sistema de archivos vacío, o uno simplemente puede copiar un sistema de archivos existente.
El sistema de archivos jerárquico también tiene la ventaja de concentrar la complejidad de administrar múltiples dispositivos de almacenamiento en el núcleo. Esto significaba que el núcleo era más complejo, pero como resultado todas las aplicaciones eran más simples. Dado que el núcleo tiene que preocuparse por los dispositivos de hardware, pero la mayoría de las aplicaciones no, este es un diseño más natural.
Ventanas
Windows remonta su ascendencia a dos linajes: VMS , un sistema operativo diseñado originalmente para la minicomputadora VAX , y CP / M , un sistema operativo diseñado para las primeras microcomputadoras Intel.
VMS tenía un sistema de archivos jerárquico distribuido, Archivos-11 . En Files-11, la ruta completa a un archivo contiene un nombre de nodo, una designación de cuenta en ese nodo, un nombre de dispositivo, una ruta de árbol de directorio, un nombre de archivo, un tipo de archivo y un número de versión. VMS tenía una poderosa función de nombre lógico que permitía definir accesos directos a directorios específicos, por lo que los usuarios rara vez tendrían que preocuparse por la ubicación "real" de un directorio.
CP / M fue diseñado para computadoras con 64kB de RAM y una unidad de disquete, por lo que fue por simplicidad. No había directorios, pero una referencia de archivo podría incluir una indicación de unidad ( A:
o B:
).
Cuando MS-DOS 2.0 introdujo directorios, lo hizo con una sintaxis compatible con MS-DOS 1 que seguía a CP / M. Entonces, las rutas se enraizaron en una unidad con un nombre de una sola letra. (Además, el carácter de barra diagonal /
se usó en VMS y CP / M para iniciar las opciones de línea de comandos, por lo que se tuvo que usar un carácter diferente como separador de directorio. Esta es la razón por la cual DOS y Windows usan barra diagonal inversa, aunque algunos componentes internos también admiten barra diagonal )
Windows retuvo la compatibilidad con DOS y el enfoque VMS, por lo que mantuvo la noción de letras de unidad incluso cuando se volvieron menos relevantes. Hoy, bajo el capó, Windows usa rutas UNC ( desarrolladas originalmente por Microsoft e IBM para OS / 2 , de ascendencia relacionada). Aunque esto está reservado para usuarios avanzados (probablemente debido al peso del historial), Windows permite el montaje a través de puntos de análisis .