C'est en partie pour des raisons historiques et en partie parce que cela a plus de sens de cette façon.
Multics
Multics a été le premier système d'exploitation à introduire le système de fichiers hiérarchique tel que nous le connaissons aujourd'hui, avec des répertoires pouvant contenir des répertoires. Citant «Un système de fichiers polyvalent pour le stockage secondaire» de RC Daley et PG Neumann:
La section 2 du document présente la structure hiérarchique des fichiers, ce qui permet une utilisation flexible du système. Cette structure contient des capacités suffisantes pour assurer la polyvalence. (…)
Pour faciliter la compréhension, la structure de fichier peut être considérée comme une arborescence de fichiers, dont certains sont des répertoires. Autrement dit, à une exception près, chaque fichier (par exemple, chaque répertoire) se trouve directement pointé par exactement une branche dans exactement un répertoire. L'exception est le répertoire racine, ou root, à la racine de l'arborescence. Bien qu'il ne soit explicitement désigné à partir d'aucun répertoire, la racine est implicitement désignée par une branche fictive connue du système de fichiers. (…)
À tout moment, un utilisateur est considéré comme fonctionnant dans un répertoire, appelé son répertoire de travail. Il peut accéder à un fichier effectivement désigné par une entrée de son répertoire de travail en spécifiant simplement le nom de l'entrée. Plusieurs utilisateurs peuvent avoir le même répertoire de travail à la fois.
Comme dans de nombreux autres aspects, Multics recherchait la flexibilité. Les utilisateurs peuvent travailler dans une sous-arborescence du système de fichiers et ignorer le reste, tout en bénéficiant des répertoires pour organiser leurs fichiers. Les répertoires étaient également utilisés pour le contrôle d'accès - l'attribut READ permettait aux utilisateurs de répertorier les fichiers d'un répertoire et l'attribut EXECUTE permettait aux utilisateurs d'accéder aux fichiers de ce répertoire (comme beaucoup d'autres fonctionnalités, conservées sous Unix).
Multics a également suivi le principe d’un seul pool de stockage. Le papier ne s'attarde pas sur cet aspect. Un seul pool de stockage correspond bien au matériel de l'époque: il n'y avait aucun périphérique de stockage amovible, du moins aucun dont les utilisateurs auraient intérêt à se soucier. Multics disposait d'un pool de stockage de sauvegarde distinct, mais celui-ci était transparent pour les utilisateurs.
Unix
Unix s’inspirait beaucoup de Multics, mais visait la simplicité alors que Multics visait la flexibilité.
Un système de fichiers hiérarchique unique convenait parfaitement à Unix. Comme avec Multics, les pools de stockage n'étaient généralement pas pertinents pour les utilisateurs. Cependant, il y avait des périphériques amovibles, et Unix les a exposés aux utilisateurs, via les commandes mount
et umount
(réservées au «super-utilisateur», c'est-à-dire l'administrateur). Dans «Le système de partage du temps UNIX» , Dennis Ritchie et Ken Thompson expliquent:
Bien que la racine du système de fichiers soit toujours stockée sur le même périphérique, il n'est pas nécessaire que toute la hiérarchie du système de fichiers réside sur ce périphérique. Il existe une demande de système de montage avec deux arguments: le nom d'un fichier ordinaire existant et le nom d'un fichier spécial auquel le volume de stockage associé (par exemple, un pack de disques) doit avoir la structure d'un système de fichiers indépendant contenant sa propre hiérarchie de répertoires. . L'effet de la fonction de montage fait que les références au fichier ordinaire précédent se réfèrent plutôt au répertoire racine du système de fichiers sur le volume amovible. En effet, mount remplace une feuille de l'arborescence de la hiérarchie (le fichier ordinaire) par une nouvelle sous-arborescence (la hiérarchie stockée sur le volume amovible). Après le montage, il n’existe pratiquement aucune distinction entre les fichiers du volume amovible et ceux du système de fichiers permanent. Dans notre installation, par exemple, le répertoire racine réside sur une petite partition de l’un de nos lecteurs de disque, tandis que l’autre lecteur, qui contient les fichiers de l’utilisateur, est monté par la séquence d’initialisation du système. Un système de fichiers montable est généré en écrivant sur le fichier spécial correspondant. Un utilitaire est disponible pour créer un système de fichiers vide ou vous pouvez simplement copier un système de fichiers existant.
Le système de fichiers hiérarchique présente également l’avantage de concentrer la complexité de la gestion de plusieurs périphériques de stockage dans le noyau. Cela signifiait que le noyau était plus complexe, mais que toutes les applications étaient donc plus simples. Comme le noyau doit se soucier des périphériques matériels, mais que la plupart des applications ne le font pas, cette conception est plus naturelle.
les fenêtres
Windows retrace ses origines dans deux lignées: VMS , un système d'exploitation conçu à l'origine pour le mini-ordinateur VAX , et CP / M , un système d'exploitation conçu pour les premiers micro-ordinateurs Intel.
VMS disposait d'un système de fichiers hiérarchique distribué, Files-11 . Dans Fichiers-11, le chemin d'accès complet à un fichier contient un nom de nœud, une désignation de compte sur ce nœud, un nom de périphérique, un chemin d'accès à l'arborescence de répertoires, un nom de fichier, un type de fichier et un numéro de version. VMS possédait une puissante fonctionnalité de nom logique permettant de définir des raccourcis vers des répertoires spécifiques. Les utilisateurs devaient donc rarement se préoccuper de l'emplacement «réel» d'un répertoire.
CP / M a été conçu pour les ordinateurs dotés de 64 Ko de RAM et d’un lecteur de disquette. La simplicité s’imposait. Il n'y avait pas de répertoires, mais une référence de fichier pouvait inclure une indication de lecteur ( A:
ou B:
).
Lorsque MS-DOS 2.0 a introduit les répertoires, il l'a fait avec une syntaxe compatible avec MS-DOS 1 qui suivait elle-même CP / M. Ainsi, les chemins ont été enracinés sur un lecteur avec un nom composé d'une seule lettre. (De plus, la barre oblique /
était utilisée dans VMS et CP / M pour démarrer les options de ligne de commande. Il fallait donc utiliser un autre caractère comme séparateur de répertoire. C’est pourquoi DOS et Windows utilisent la barre oblique inversée, bien que certains composants internes prennent également en charge les barres obliques. )
Windows conservait la compatibilité avec les approches DOS et VMS et conservait donc la notion de lettres de lecteur, même lorsqu'elles devenaient moins pertinentes. Aujourd'hui, sous le capot, Windows utilise des chemins UNC ( développés à l'origine par Microsoft et IBM pour OS / 2 , d'ascendance associée). Bien que cela soit réservé aux utilisateurs expérimentés (probablement en raison du poids de l'historique), Windows autorise le montage via des points d'analyse .