- •Керування процесами й потоками.
- •Керування пам'яттю
- •Керування введенням-виведенням
- •Керування файлами та файлові системи
- •Мережка підтримка
- •Безпека даних
- •Інтерфейс користувача
- •Механізми і політика
- •Ядро системи. Привілейований режим і режим користувача
- •2. Реалізація архітектури операційних систем
- •IV) Концепція віртуальних машин
- •1. Засоби апаратної підтримки операційних систем
- •2. Засоби перемикання задач, захист пам'яті, системний таймер.
- •Взаємодія ос і виконуваного програмного коду
- •Види паралелізму
- •Переваги і недоліки багатопотоковості
Ядро системи. Привілейований режим і режим користувача
Базові компоненти ОС, що відповідають за найважливіші її функції, перебувають у пам'яті постійно і виконуються у привілейованому режимі, називають ядром операційної системи (operating system kernel).
Найважливіші функції ОС, що виконуються у ядрі: обробка переривань, керування пам'яттю, керування введенням-виведенням. До надійності та продуктивності ядра висувають підвищені вимоги. Основною характерною ознакою ядра є те, що воно виконується у привілейованому режимі.
ОС має привілеї над ПП щодо керування ресурсами. ПП не втручаються в роботу ОС, а ОС втручається в роботу будь-якої ПП. (перемикання процесора CPU, боротьба за ресурси). Для реалізації таких привілеїв потрібна апаратна підтримка: CPU підтримує два режими роботи — привілейований (захищений , kernel mode) і режим користувача (user mode). У режимі користувача недопустимі команди, які є критичними для роботи системи (перемикання задач, звертання до пам'яті за заданими межами, доступ до пристроїв введення-виведення тощо).
Ядро перемикає CPU у привілейований режим і отримує цілковитий контроль над ПК. Кожна ПП завантажується і виконується в режимі користувача, де воно не має доступу до ресурсів
ядра й інших програм. Для виконання дії. що реалізовано у ядрі, потрібно робити системний виклик (system call). Ядро перехоплює його, перемикає процесор у привілейований режим, виконує дію, перемикає процесор назад у режим користувача і повертає результат.
Системний виклик виконується повільніше за виклик функції, реалізованої в режимі користувача, через те що процесор двічі перемикається між режимами. Для підвищення продуктивності в деяких ОС частина функціональності реалізована в режимі користувача, тому для доступу до неї системні виклики використовувати не потрібно.
Окрім ядра є системне програмне забезпечення, що застосовується у режимі користувача, до нього належить:
системні програми (утиліти);
системні бібліотеки;
Це програмне забезпечення ПЗ може розроблятись, та постачатись окремо від ОС.
2. Реалізація архітектури операційних систем
Монолітні системи - усі базові функції сконцентровані в ядрі. ОС стає продуктивнішою (CHU не перемикається між режимами), але менш надійною (весь її код виконується у привілейованому режимі, і помилка в кожному з компонентів є критичною).
ОС лають можливість динамічно розмішувати в адресному просторі ядра фрагменти : ~ " :• ~срс: Існує можливість додавати до ОС нових модулів ядра.
Багаторівневі системи — компоненти ОС утворюють ієрархію рівнів (шарів, layers), кожен з яких спирається на функції попереднього рівня. Найнижчий рівень безпосередньо взаємодіє з апаратним забезпеченням, на найвищому рівні реалізуються системні виклики. Перехід між рівнями здійснюється за допомогою системних викликів. Дуже низька продуктивність.
Системи з мікро ядром - частина функцій ядра реалізована (мікроядро, microkernel) реалізована у привілейованому режимі.
критичною).
Один
із
напрямів розвитку
Режим
користувача
часхка
функцій ядра, які Режим
ядра є
мікроядром (
привілейоване • режимі реалізована невелика
microkernel). Інші
Повернення
в прикладну програму
Мікроядро
Рис.
2.Виконання системного виклику в
архітектурі з мікроядром
5
процесами режиму користувача (серверними процесами, серверами). Сервери можуть відповідати за підтримку файлової систем за роботу із процесами, пам'яттю тощо.
Мікроядро здійснює зв'язок між компонентами системи і виконує базовий розподіл ресурсів. Щоб виконати системний виклик, процес (юіієнтський процес, клієнт) звертається до мікроядра. Воно посіпає серверу запит, сервер виконує роботу і пересилає відповідь назад, а мікроядро переправляє його клієнтові; рис. 2). Клієнтами можуть бути не лише процеси користувача, а й інші модулі ОС.
Перевагами мікроялрового підходу є:
невеликі розміри мікроядра. шо спрощує його розробку й налагодження;
п надійність системи, внаслідок того що сервери працюють у режимі корист>"вача й у них г и,: г: а:: ддд д: іднг ітного забезпечення:
Гдьдд гнучідггь : эсяширювашсп» системи (непотрібні компоненти не займають місця в - - , —_ т»: • і ;дднд эезпьиосх: систем зводиться до додавання в неї нового сервера);
м:жнин:гтн ідідтіді: до ;.люв мережі (спосіб обмін}" даними між клієнтом і сервером не
~ :- д т: г: :з сані вени мережею чи перебувають на одному комп'ютері).
Г:л:еним зед одінем ?.±даядгового підходу є зниження про лу тсіивності. Замість двох и [и мій іИііі ргжішу процесора у разі системного виклику відбувається чотири (два — під час обміну між клієнтом і мїкроядром, два - між сервером та мікроядром).
Цей недолік є, швидше, теоретичним, на практиці продуктивність і надійність мікроядра залежать насамперед від якості його реалізації. Так, в ОС (^ИХ мікроядро займає кілька кілобайтів пам'яті й забезпечує мінімальний набір функцій, при цьому система за продуктивністю відповідає ОС реального часу.