Це почасти з історичних причин, а почасти тому, що це має більше сенсу.
Мультимедіа
Multics була першою операційною системою, яка запровадила ієрархічну файлову систему, як ми її знаємо сьогодні, з каталогами, які можуть містити каталоги. Посилаючись на " Файлову систему загального призначення для вторинного зберігання" RC Daley і PG Neumann:
У розділі 2 статті представлена ієрархічна структура файлів, яка дозволяє гнучко використовувати систему. Ця структура містить достатньо можливостей для забезпечення універсальності. (…)
Для зручності розуміння структуру файлів можна розглядати як дерево файлів, деякі з яких - каталоги. Тобто, за одним винятком, кожен файл (наприклад, кожен каталог) виявляється безпосередньо вказаним точно однією гілкою точно в одному каталозі. Виняток становить кореневий каталог або корінь у корені дерева. Хоча це явно не вказується з жодного каталогу, корінь неявно вказується на вигадану гілку, яку відома файлова система. (…)
У будь-який час користувач вважається оперуючим в якомусь одному каталозі, який називається його робочим каталогом. Він може отримати доступ до файлу, на який фактично вказує запис у його робочому каталозі, просто вказавши ім'я запису. Більше одного користувача можуть мати один і той же робочий каталог одночасно.
Як і в багатьох інших аспектах, Multics прагнула гнучкості. Користувачі можуть працювати в піддереві файлової системи та ігнорувати решту, і все ж користуватися каталогіми для організації своїх файлів. Каталоги також використовувались для контролю доступу - атрибут READ дозволяв користувачам перелічувати файли в каталозі, а атрибут EXECUTE дозволяв користувачам отримувати доступ до файлів у цьому каталозі (це, як і багато інших функцій, жилося в unix).
Мультимедіа також слідувало принципу створення єдиного пулу зберігання даних. У роботі не зупиняється на цьому аспекті. Один пул пам’яті добре співпадав з обладнанням того часу: не було ніяких знімних пристроїв зберігання даних, принаймні жодного, про який користувачі не піклувалися б. У Multics був окремий пул резервного зберігання даних, але це було зрозуміло для користувачів.
Unix
Unix взяв багато натхнення від Multics, але націлений на простоту, тоді як Multics спрямований на гнучкість.
Єдина ієрархічна файлова система добре підходила для Unix. Як і у Multics, пули пам’яті зазвичай не стосуються користувачів. Однак були знімні пристрої, і Unix відкрив їх користувачам за допомогою команд mount
і umount
(зарезервовано для "суперкористувача", тобто адміністратора). У «Системі розподілу часу UNIX» Деніс Річі та Кен Томпсон пояснюють:
Хоча корінь файлової системи завжди зберігається на одному пристрої, необов’язково, щоб вся ієрархія файлової системи знаходилась на цьому пристрої. Існує системний запит монтування з двома аргументами: ім'я існуючого звичайного файлу та ім'я спеціального файлу, асоційований об'єм зберігання якого (наприклад, пакунок диска) повинен мати структуру незалежної файлової системи, що містить власну ієрархію каталогів . Ефект mount полягає в тому, щоб змусити посилання на попередній звичайний файл посилатися замість цього на кореневий каталог файлової системи на знімному томі. Фактично, mount замінює лист дерева ієрархії (звичайний файл) цілком новим піддеревом (ієрархія, що зберігається на знімному томі). Після монтажу практично не існує різниці між файлами на знімному томі та файлами у постійній файловій системі. Наприклад, у нашій інсталяції кореневий каталог знаходиться на невеликому розділі одного з наших дисководів, а інший диск, який містить файли користувача, змонтований послідовністю ініціалізації системи. Система файлів, що встановлюється, створюється записом у відповідний спеціальний файл. Для створення порожньої файлової системи доступна утиліта, або можна просто скопіювати наявну файлову систему.
Ієрархічна файлова система також має перевагу в тому, щоб сконцентрувати складність управління декількома пристроями зберігання в ядрі. Це означало, що ядро було складнішим, але в результаті всі програми були простішими. Оскільки ядро має дбати про апаратні пристрої, але більшість застосунків цього не робить, це більш природна конструкція.
Windows
Windows простежує своє походження на двох лініях: VMS , операційну систему, спочатку розроблену для міні-комп'ютера VAX , і CP / M , операційну систему, розроблену для ранніх мікрокомп'ютерів Intel.
VMS мав розподілену ієрархічну файлову систему Files-11 . У Файлах-11 повний шлях до файлу містить ім'я вузла, позначення облікового запису на цьому вузлі, ім’я пристрою, шлях до дерева каталогів, ім'я файлу, тип файлу та номер версії. VMS мав потужну функцію логічного імені, що дозволяло визначати ярлики до конкретних каталогів, тому користувачам рідко доведеться дбати про «реальне» розташування каталогу.
CP / M був розроблений для комп'ютерів з 64 кБ оперативної пам’яті та дискети, тому він пішов для простоти. Не було каталогів, але посилання на файл може містити індикацію ( A:
або B:
) диска .
Коли MS-DOS 2.0 представив каталоги, це було зроблено з синтаксисом, сумісним з MS-DOS 1, який сам слідував за CP / M. Тож шляхи вкорінювалися на приводі з однобуквеною назвою. (Також символ косої риси /
використовувався в VMS та CP / M для запуску параметрів командного рядка, тому для розділення каталогів довелося використовувати інший символ. Ось чому DOS та пізніші Windows використовують зворотну косу рису, хоча деякі внутрішні компоненти також підтримують косу рису ).
Windows зберегла сумісність з DOS та підходом до VMS, тому зберегла поняття букв диска навіть тоді, коли вони стали менш актуальними. Сьогодні під капотом Windows використовує шляхи UNC ( спочатку розроблені Microsoft та IBM для OS / 2 , спорідненого роду). Хоча це зарезервовано для споживачів живлення (можливо, це пов'язано з вагою історії), Windows дійсно дозволяє встановлювати через точки перезавантаження .