Структура операційних систем
ОС як система управління ресурсами
ОС як віртуальна машина
ОС надає користувачеві віртуальну машину, яку легше програмувати і з якою легше працювати, ніж безпосередньо з апаратурою, що становить реальну машину.
Наприклад, щоб вважати або записати інформацію на дискету, треба:
- Запустити двигун обертання дискети
- Управляти кроковим двигуном переміщення головки
- Стежити за індикатором присутності дискети
- Вибрати номер блоку на диску
- вибрати доріжку
- Вибрати номер сектора на доріжці
- і т.д.
Всі ці функції бере на себе операційна система.
Щоб кілька програм могло працювати з одним ресурсом (процесор, пам'ять), необхідна система управління ресурсами.
Способи розподілу ресурсу:
- Тимчасової - коли програми використовують його по черзі, наприклад, так система управляє процесором.
- Просторовий - програма отримує частину ресурсу, наприклад, так система управляє оперативною пам'яттю і жорстким диском.
- Головна програма, яка викликає необхідні сервісні процедури.
- Набір сервісних процедур, що реалізують системні виклики.
- Набір утиліт, які обслуговують сервісні процедури.
Проста модель монолітної системи
Етапи обробки виклику:
- приймається виклик
- Виконується перехід з режиму користувача в режим ядра
- ОС перевіряє параметри виклику для того, щоб визначити, який системний виклик повинен бути виконаний
- Після цього ОС звертається до таблиці, що містить посилання на процедури, і викликає відповідну процедуру.
Узагальненням попереднього підходу є організація ОС як ієрархії рівнів. Рівні утворюються групами функцій операційної системи - файлова система, управління процесами і пристроями і т.п. Кожен рівень може взаємодіяти тільки зі своїм безпосереднім сусідом - вище-або нижчого рівня. Прикладні програми або модулі самої операційної системи передають запити вгору і вниз за цими рівнями.
Приклад структури багаторівневої системиСтруктура ОС UNIX
Приклад реалізації багаторівневої моделі Windows