
- •Поняття операційної системи
- •Операційна система як розширена машина
- •Операційна система як менеджер ресурсів
- •Історія розвитку операційних систем
- •Перше покоління (1945-1955): електронні лампи і комутаційні панелі
- •Друге покоління (1955-1965): транзистори і системи пакетної обробки
- •Третє покоління (1965-1980): інтегральні схеми і багатозадачність
- •Четверте покоління (з 1980 року по наші дні): персональні комп'ютери
- •Історія minix 3
- •Основні концепції
- •Процеси
- •Оболонка
- •Системні виклики
- •Системні виклики для управління процесами
- •Системні виклики для управління сигналами
- •Системні виклики для управління файлами
- •Системні виклики для управління каталогами
- •Системні виклики для захисту
- •Системні виклики для управління часом
- •Структура операційної системи
- •1.5.2. Багаторівневі системи
- •1.5.3. Віртуальні машини
- •1.5.4. Екзоядра
- •1.5.5. Модель клієнт-сервер
- •2.1.1. Модель процесів
- •2.1.2. Створення процесів
- •2.1.3. Завершення процесів
- •2.1.4. Ієрархії процесів
- •2.1.5. Стани процесів
- •2.1.6. Реалізація процесів
- •2.1.7. Програмні потоки
- •2.2. Взаємодія між процесами
- •5.1. Файли
- •5.1.1. Іменування файлів
- •5.1.2. Структура файлу
- •5.1.3. Типи файлів
- •5.1.4. Доступ до файлів
- •5.1.5. Атрибути файлів
- •5.1.6. Операції з файлами
- •5.2. Каталоги
- •5.2.1. Прості каталоги
- •5.2.2. Ієрархічні системи каталогів
- •5.2.3. Шляхи
- •5.2.4. Операції з каталогами
- •5.3. Реалізація файлової системи
- •5.3.1. Структура файлової системи
- •5.3.2. Реалізація файлів
- •5.3.4. Організація дискового простору
5.2. Каталоги
У файлових системах файли зазвичай організовуються в каталоги, або папки,
які, в свою чергу, в більшості операційних систем також є файлами. У даному розділі ми розглянемо каталоги, їх організацію, властивості і дії, які можуть бути виконані з ними.
5.2.1. Прості каталоги
Зазвичай каталог містить деяке число записів, по одному запису на файл. Коли відкривається файл, операційна система шукає його запис в каталозі. потім вона витягує і завантажує в пам'ять атрибути та дискові адреси або з самої записи, або зі структури, на яку запис посилається. При всіх подальших зверненнях до файлу використовується інформація з пам'яті. Кількість каталогів змінюється від системи до системи. У найпростішому варіанті є один каталог, в якому зберігаються всі файли всіх користувачів
Подібні системи були поширені в ранніх персональних комп'ютерах, частково тому, що комп'ютери були однокористувацький.
Системам з одним каталогом притаманна проблема: якщо користувачів багато, то
деякі з них можуть ненавмисно створювати файли з однаковими іменами. Наприклад, якщо користувач А створює файл mailbox, а потім те ж робить користувач В, то файл користувача А буде перезаписаний. З цієї причини описана схема більше не застосовується в багатокористувацьких системах, однак її можна зустріти в малих вбудованих системах, наприклад, в
персональних електронних секретарів і стільникових телефонах.
Щоб уникнути конфліктів, пов'язаних з присвоєнням різними
користувачами однакових імен своїх файлів, був зроблений крок до виділення
персонального каталогу кожному користувачеві. В цьому випадку імена, обрані
користувачами, не впливають один на одного, і застосування одного і того ж імені
в декількох каталогах не створює проблем. Такі системи можуть застосовуватися, наприклад, в багатокористувацькому комп'ютері або нескладної локальної мережі
персональних комп'ютерів, що мають загальний файловий сервер. В описаній схемі операційна система повинна знати, який користувач намагається відкрити той чи інший файл, щоб виконати пошук у відповідному каталозі. Отже, виникає необхідність процедури входу в систему, де користувач повинен вказати ім'я входу або ідентифікаційні дані. В системі з однорівневою структурою каталогів така процедура не потрібна.
Якщо описана система реалізована в простій формі, користувачі мають
доступ лише до файлів, що знаходяться в їх власних каталогах.
5.2.2. Ієрархічні системи каталогів
Дворівнева ієрархія виключає конфлікти імен між файлами різних користувачів. Проте існує інша проблема: користувачам, що працюють з великим числом файлів, необхідно групувати їх. Приміром, професору було б зручно зберігати робочі матеріали для студентів окремо від чернеток книги, яку він пише. Отже, потрібна якась загальна
ієрархія (тобто дерево каталогів). При такому підході кожен користувач може
сам створити собі стільки каталогів, скільки йому потрібно, групуючи свої файли
природним чином. Можливість створювати довільну кількість підкаталогів є
потужним стимулом до структуризації файлів, дозволяючи користувачам краще
організувати свою роботу. З цієї причини майже всі сучасні файлові системи персональних комп'ютерів і серверів реалізуються подібним чином. Тим не менш, як ми зазначали раніше, щодо технологій історія часто повторюється. Цифровим камерам необхідно записувати знімки на який-небудь носій, як правило, на карту флеш-пам'яті. Найперші камери мали єдиний каталог, а файли іменувалися DSC0001. JPG, DSC0002. JPG і т. д. Однак незабаром виробники створили файлові системи з декількома
каталогами. Чи має значення те, що власники камер не розуміють, як користуватися такими каталогами? Вбудоване програмне забезпечення обходиться виробникам практично задарма, тому не буде нічого дивного в тому, що в недалекому майбутньому з'являться цифрові камери з повноцінними ієрархічними файловими системами, декількома вхідними іменами та іменами файлів довжиною до 255 символів.