WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Сучасні концепії і технології проектування Операційної Системи - Реферат

Сучасні концепії і технології проектування Операційної Системи - Реферат

відповідного сервера, посилаючи йому повідомлення. Безпосередня передача повідомлень між додатками неможлива, тому що їхні адресні простори ізольовані один від одного. Мікроядро, що виконується в привілейованому режимі,має доступ до адресних просторів кожного з цих додатків і тому може працювати як посередник. Мікроядро спочатку передає повідомлення, що містить ім'я і параметри викликаючої процедури потрібному серверу, потім сервер виконує запитану операцію, після чого ядро повертає результати клієнту за допомогою іншого повідомлення. Таким чином, робота мікроядерної ОС відповідає відомої моделі клієнт-сервер, у якій роль транспортних засобів виконує мікроядро.
Програми користувачів
Зв'язана Зв'язаний запит
відповідь
Режим користувача
Режим привілеїв
Рис. 40. Реалізація системного виклику в мікроядерній архітектурі
4.2. Переваги і недоліки мікроядерної архітектури
ОС, засновані на концепції мікроядра, у високому ступені задовольняють більшості вимог, пропонованих до сучасних ОС, володіючи переносимістю, розширюваністю, надійністю і створюючи гарні передумови для підтримки розподілених додатків. За ці переваги приходиться платити зниженням продуктивності, і це є основним недоліком мікроядерної архітектури.
Високий ступінь переносимості обумовлений тим, що весь машинно-залежний код ізольований у мікроядрі, тому для переносу системи на новий процесор потрібно менше змін і усі вони логічно згруповані разом.
Розширюваність присутня в мікроядерній ОС у дуже високому ступені. У традиційних системах навіть при наявності багатошарової структури нелегко видалити один шар і поміняти його на іншій через множинність і розмитість інтерфейсів між шарами. Додавання нових функцій і зміна існуючих вимагає гарного знання ОС і великих витрат часу. У той же час обмежений набір чітко визначених інтерфейсів мікроядра відкриває шлях до упорядкованого росту й еволюції ОС. Додавання нової підсистеми вимагає розробки нового додатка, що ніяк не торкає цілісності мікроядра. Мікроядерна структура дозволяє не тільки додавати, але і скорочувати число компонентів ОС, що також буває дуже корисно. Наприклад, не всім користувачам потрібні засоби безпеки чи підтримки розподілених обчислень, а видалення їх із традиційного ядра найчастіше неможливо. Звичайно традиційні ОС дозволяють динамічно додавати в ядро чи видаляти з ядра тільки драйвери зовнішніх пристроїв - через часті зміни в конфігурації підключених до комп'ютера зовнішніх пристроїв підсистема в/в ядра допускає завантаження і вивантаження драйверів "на ходу", але для цього вона розробляється особливим чином (наприклад, середовище STREAMS у UNIX чи менеджер в/в в Windows NT). При мікроядерному підході конфігурованість ОС не викликає ніяких проблем і не вимагає особливих мір - досить змінити файл із настроюваннями початкової конфігурації системи чи ж зупинити не потрібні більше сервери в ході роботи звичайними для зупинки додатків засобами.
Використання мікроядерної моделі підвищує надійність ОС. Кожен сервер виконується у виді окремого процесу у своїй власній області пам'яті й у такий спосіб захищений від інших серверів ОС, що не спостерігається в традиційної ОС, де всі модулі ядра можуть впливати один на одного. І якщо окремий сервер терпить крах, то він може бути перезапущений без зупинки чи ушкодження інших серверів ОС. Більш того, оскільки сервери виконуються в користувацькому режимі, вони не мають безпосереднього доступу до апаратури і не можуть модифікувати пам'ять, у якій зберігається і працює мікроядро. Іншим потенційним джерелом підвищення надійності ОС є зменшений обсяг коду мікроядра в порівнянні з традиційним ядром - це знижує імовірність появи помилок програмування.
Модель з мікроядром добре підходить для підтримки розподілених обчислень, тому що використовує механізми, аналогічні мережним: взаємодія клієнтів і серверів шляхом обміну повідомленнями. Сервери мікроядерної ОС можуть працювати як на одному, так і на різних комп'ютерах. У цьому випадку при одержанні повідомлення від додатка мікроядро може обробити його самостійно і передати локальному серверу чи ж переслати по мережі мікроядру, що працює на іншому комп'ютері. Перехід до розподіленої обробки вимагає мінімальних змін у роботі ОС - просто локальний транспорт заміняється на мережний.
Продуктивність. При класичній організації ОС (мал.41, а) виконання системного виклику супроводжується двома переключеннями режимів, а при мікроядерній організації (мал. 40, 6) - чотирьма. Таким чином, ОС на основі мікроядра за інших рівних умов завжди буде менш продуктивною, чим ОС із класичним ядром. Саме з цієї причини мікроядерний підхід не одержав такого широкого поширення, що йому пророкували.
Програми Програми
Ядро
а
Програми t t Сервер ОС Програми
Мікро ядро Мікроядро
б t t t t
Рис. 40. Зміна режимів при виконанні системного виклику
Серйозність цього недоліку добре ілюструє історія розвитку Windows NT. У версіях 3.1 і 3.5 диспетчер вікон, графічна бібліотека і високорівневі драйвери графічних пристроїв входили до складу сервера користувацького режиму, і виклик функцій цих модулів здійснювався відповідно до мікроядерної схеми. Однак дуже незабаром розроблювачі Windows NT зрозуміли, що такий механізм звертань до часто використовуваних функцій графічного інтерфейсу істотно сповільнює роботу додатків і робить дану ОС уразливої в умовах гострої конкуренції. У результаті у версію Windows NT 4.0 минулого внесені істотні зміни - усі перераховані вище модулі були перенесені в ядро, що віддалило цю ОС від ідеальної мікроядерної архітектури, але зате різко підвищило її продуктивність.
Цей приклад ілюструє головну проблему, з яким зіштовхуються розроблювачі ОС, що вирішили застосувати мікроядерний підхід, - що включати в мікроядро, а що виносити в користувацький простір. В ідеальному випадку мікроядро може складатися тільки з засобів передачі повідомлень, засобів взаємодії з апаратурою, у тому числі засобів доступу до механізмів привілейованого захисту. Однак багато розроблювачів не завжди жорстко дотримують принципу мінімізації функцій ядра, часто жертвуючи цим заради підвищення продуктивності. У результаті реалізації ОС утворять деякий спектр, на одному з краї якого знаходяться системи з мінімально можливим мікроядром, а на іншому - системи, подібні Windows NT, у яких мікроядро виконує досить великий обсяг функцій.
4.3. Ядро і допоміжні модулі ОС
Найбільш загальним підходом до структуризації ОС є поділ усіх її модулів на дві групи:
" ядро - модулі, що виконують основні функції ОС;
" модулі, що виконують допоміжні функції ОС.
Модулі ядра виконують такі базові функції ОС, як керування процесами, пам'яттю, пристроями в/в і т.п. Ядро складає серцевину ОС, без нього ОС є цілком непрацездатною і не зможе виконати
Loading...

 
 

Цікаве