
- •Поняття операційної системи
- •Операційна система як розширена машина
- •Операційна система як менеджер ресурсів
- •Історія розвитку операційних систем
- •Перше покоління (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.4. Операції з каталогами
Системні виклики, керуючі каталогами, значно відрізняються від системи до системи (на відміну від системних викликів для роботи з файлами). Щоб дати уявлення про те, що вони собою представляють і як виконуються, наведемо наступний приклад (взятий з UNIX).
create
Створення каталогу. Щойно створений каталог порожній і не містить
інших записів, крім точки (.) і двох точок (..), які розміщені в каталог
операційною системою автоматично або в деяких випадках програмою
mkdir.
delete
Видалення каталогу. Може бути вилучений тільки порожній каталог. Записи точка (.)
і дві точки (..) файлами не є і вилучені бути не можуть.
opendir
Відкриття каталогу. Після цієї операції каталог може бути прочитаний. Наприклад, для роздруківки всіх файлів каталогу програма, що створює список, відкриває каталог, щоб прочитати імена всіх містяться в ньому файлів. Перш ніж каталог може бути прочитаний, його слід відкрити, подібно відкриття та читання файлу.
closedir
Закриття каталогу. Коли каталог прочитаний, його слід закрити, щоб звільнити місце у внутрішній таблиці системи.
readdir
Читання наступному записі відкритого каталогу. У колишні часи можна було читати каталоги за допомогою звичайного системного виклику read, але такий підхід був небезпечний, так як вимагав від програміста вміння працювати з внутрішньою структурою каталогів. Тому був створений окремий системний виклик readdir, що завжди повертає один запис каталогу стандартного формату незалежно від поточної структури каталогів.
rename
Перейменування каталогу. У багатьох відносинах каталоги аналогічні файлів і можуть перейменовуватися так само, як і файли.
link
Зв'язування файлів. Зв'язування являє собою техніку, що дозволяє файлу з'являтися відразу в декількох каталогах. Цей системний виклик отримує в якості вхідних параметрів ім'я файлу та ім'я шляху і створює зв'язок між ними. Таким чином, один і той же файл може з'являтися відразу в декількох каталогах. Подібна зв'язок, що збільшує на одиницю лічильник в індексному вузлі файлу (для обліку кількості каталогів з посиланнями на цей
файл), іноді називається жорсткої зв'язком.
unlink
Видалення зв'язку з файлом. Якщо файл присутній тільки в одному каталозі, даний системний виклик видалить його з файлової системи. Якщо існують декілька зв'язків з цим файлом, буде видалено лише зазначений зв'язок, а решта залишаться. Цей системний виклик застосовується для видалення файлу в операційній системі UNIX.
У наведеному списку перераховані найбільш важливі системні виклики, але
існує також безліч інших, наприклад для захисту інформації.
5.3. Реалізація файлової системи
Тепер перейдемо від розгляду файлової системи з точки зору користувачем
користувача до розгляду з точки зору розробника. Користувачів цікавить, як
називаються файли, які операції з ними допустимі, як виглядає дерево
каталогів і тому подібні питання. Проектувальники файлових систем
цікавляться тим, як зберігаються файли і каталоги, як здійснюється управління
дисковим простором і як домогтися надійної та ефективної роботи
файлової системи. У наступних розділах ми познайомимося з цим поглядом на
файлову систему.