
- •Поняття операційної системи
- •Операційна система як розширена машина
- •Операційна система як менеджер ресурсів
- •Історія розвитку операційних систем
- •Перше покоління (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.1.6. Операції з файлами
Файли дозволяють зберігати інформацію і отримувати її пізніше. У різних
операційних системах підтримуються різні операції з файлами. Далі
перераховані системні виклики, що найчастіше використовуються, які мають
ставлення до файлів.
create
Створення файлу. Файл створюється без даних. Цей системний виклик
оголошує про появу нового файлу і дозволяє встановити деякі його атрибути.
delete
Видалення файлу. Коли файл вже більше не потрібний, його видаляють, щоб
звільнити простір на диску. Цей системний виклик підтримується у всіх
операційних системах.
open
Відкриття файлу. Перш ніж використовувати файл, процес повинен його відкрити.
Системний виклик open дозволяє системі зчитати оперативну пам'ять
атрибути файлу і список дискових адрес для швидкого доступу до
вмісту файлу при наступних викликах.
close
Закриття файлу. Коли всі операції з файлом закінчено, атрибути і дискові
адреси стають не потрібними, тому файл слід закрити, щоб
звільнити простір у внутрішній таблиці системи. Багато операційних
систем дозволяють одночасно відкривати лише обмежену кількість
файлів. Запис на диск проводиться поблочно, а закриття файлу викликає
запис останнього блоку файлу, навіть якщо цей блок ще не заповнений до кінця.
read
Читання даних з файлу. Зазвичай байти надходять з поточної позиції в
файлі. Зчитуючий процес повинен вказати кількість необхідних даних і
надати для них буфер.
write
Запис у файл. Запис даних у файл також відбувається в поточну позицію
в файлі. Якщо поточна позиція знаходиться в кінці файлу, розмір файлу
автоматично збільшується. В іншому випадку запис проводиться поверх
існуючих даних, які безповоротно втрачаються.
append
Додавання даних в кінець файлу. Цей системний виклик являє
собою усічену версію виклику write. Він дозволяє тільки додавати дані
до кінця файлу. Даний виклик може не підтримуватися в операційних
системах з мінімальним набором системних викликів.
seek
Позиціонування в файлі. Для файлів довільного доступу потрібен
спосіб вказати, де розташовуються дані у файлі. Ця операція
встановлює покажчик поточної позиції на певне місце файла. Наступні
дані будуть прочитані з цієї позиції і записані в неї.
get attributes
Отримання атрибутів файлу. Процесам часто потрібні атрибути
їх цікавлячих файлів. Наприклад, для збірки програм, що складаються з великого числа
окремих вихідних модулів, в UNIX часто використовується програма make.
Ця програма досліджує час зміни всіх вихідних і об'єктних файлів,
завдяки чому система обходиться обробкою мінімального їх кількості.
Для виконання своєї роботи програмі потрібно знати атрибути файлів.
set attributes
Установка атрибутів файлу. Деякі атрибути файлу можуть встановлюватися користувачем після створення файлу. Цей системний виклик надає таку можливість. Наприклад, для файлу може бути встановлений код захисту доступу і більшість інших прапорів.
rename
Перейменування файлу. Цей виклик дозволяє змінити ім'я файлу. Підтримка операційною системою виклику rename не є необхідною, так як зазвичай файл можна скопіювати з новим ім'ям, а старий екземпляр видалити.
lock
Блокування файлу. Блокування файлу або його фрагмента запобігає одночасний доступ до нього з боку декількох процесів. Наприклад, блокування бази даних в системі резервування авіаквитків виключає можливість резервування одного і того ж місця двома пасажирами.