Структура сучасних операційних систем

На структуру сучасних мережевих операційних систем істотно впливає технологія клієнт-сервер і тісно пов’язана з нею концепція мікроядра. Загальну структуру операційної системи зображено на рис. 13.1. На рівні програмного забезпечення модель клієнт-сервер припускає наявність програмних компонентів: клієнтів і серверів. Клієнт є споживачем якогось сервісу, а сервер — його постачальником. Взаємодія між клієнтом і сервером стандартизується для того, щоб сервер мав можливість обслуговувати клієнтів, реалізованих різними способами. При цьому основна вимога — клієнти мають запитувати сервіси сервера зрозумілим йому способом. Ініціатором обміну стає той клієнт, який надсилає запит на обслуговування сервера, що перебуває у стані очікування запиту. Один і той самий програмний компонент може бути клієнтом стосовно одного виду сервісів і сервером для іншого.

 

 

Рис. 13.1. Структура операційної системи на базі мікроядра

 

Щодо структурування операційної системи, то його суть полягає у розбивці системи на кілька процесів-серверів, кожний з яких виконує окремий набір сервісних функцій (наприклад, керування пам’яттю, створення або планування процесів). Кожний процес виконується у режимі користувача. Клієнт (ним може бути інший компонент операційної системи або прикладна програма) запитує сервіс, відсилаючи повідомлення на сервер. Мікроядро операційної системи, працюючи у привілейованому режимі, доставляє повідомлення потрібному серверу, сервер виконує операцію, після чого мікроядро повертає результати клієнту через інше повідомлення.

Застосування мікроядра замінило вертикальний розподіл функцій операційної системи на горизонтальний. Компоненти, які містяться вище від мікроядра, хоч і використовують повідомлення, що пересилаються через мікроядро, але взаємодіють один з одним безпосередньо. Мікроядро відіграє роль регулювальника: воно перевіряє повідомлення, пересилає їх між серверами та клієнтами і надає доступ до апаратури.

Основний принцип розподілу роботи між мікроядром і оточуючими його модулями — передавати до мікроядра лише ті функції, які виконуються тільки у режимі супервізора і у привілейованому просторі. Під цим розуміють машинно-залежні програми, деякі функції керування процесами, обробку переривань, підтримку пересилки повідомлень, деякі функції керування пристроями введення-виведення, пов’язані із завантаженням команд у регістри пристроїв. Ці функції операційної системи складно виконувати програмам, що працюють у просторі користувача.

На відміну від звичайних операційних систем, система, побудована на основі мікроядра, виконує свої серверні підпроцеси у режимі користувача як звичайні прикладні програми. Така структура дає змогу змінювати і додавати сервери, не впливаючи на цілісність мікроядра.

Модель клієнт-сервер підвищує надійність операційної системи. Кожний сервер виконується як окремий процес у своїй власній області пам’яті — у такий спосіб він захищений від інших процесів. Крім того, оскільки сервери виконуються у просторі користувача, вони не мають безпосереднього доступу до апаратури і не можуть модифікувати пам’ять, в якій зберігається керуюча програма. Якщо у роботі окремого сервера станеться збій, то він може бути знову запущений без зупинки або ушкодження іншої частини операційної системи.








Дата добавления: 2015-08-11; просмотров: 938;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.