Базова архітектура UNIX

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

UNIX є прикладом досить простої архітектури ОС. Більша частина функціональності цієї системи міститься в ядрі, ядро спілкується із прикладними програмами за допомогою системних викликів. Базова структура класичного ядра UNIX зображена на рисунку.

Maribazovaarkhitecturaunix123.png

Система складається із трьох основних компонентів: підсистеми керування процесами, файлової підсистеми та підсистеми введення-виведення.

  1. Підсистема керування процесами контролює створення та вилучення процесів, розподілення системних ресурсів між ними, міжпроцесову взаємодію, керування пам’яттю.
  2. Файлова підсистема забезпечує єдиний інтерфейс доступу до даних, розташованих на дискових накопичувачах і до периферійних пристроїв. Такий інтерфейс є однією з найважливіших особливостей UNIX. Одні й ті ж системні виклики використовують як для обміну даними із диском, так і для виведення на термінал або принтер. При цьому файлова система переадресовує запити відповідним модулям підсистеми введення – виведення, а ті – безпосередньо периферійним пристроям. Крім того, файлова підсистема контролює права доступу до файлів, які значною мірою визначають привілеї користувача в системі.
  3. Підсистема введення – виведення виконує запити файлової підсистеми, взаємодіючи з драйверами пристроїв. В UNIX розрізняють два типи пристроїв: символьні (наприклад, принтер) і блокові (наприклад, жорсткий диск). Основна відмінність між ними полягає в тому, що блоковий пристрій допускає прямий доступ. Для підвищення продуктивності роботи із блоковими пристроями використовують буферний кеш – ділянку пам’яті, у якій зберігаються дані, зчитані з диска останніми. Під час наступних звертань до цих даних вони можуть бути отримані з кеша.

Сучасні UNIX – системи дещо відрізняються за своєю архітектурою.

  • У них виділено окремий менеджер пам’яті, відповідальний за підтримку віртуальної пам’яті.
  • Стандартом для реалізації інтерфейсу файлової системи є віртуальна файлова система, що абстрагує цей інтерфейс і дає змогу організувати підтримку різних типів файлових систем.
  • У цих системах підтримується багатопроцесорна обробка, а також багато потоковість.

Базові архітектурні рішення, такі як доступ до всіх пристроїв введення – виведення через інтерфейс файлової системи або організація системних викликів, залишаються незмінними в усіх реалізаціях UNIX.