Гібридне ядро

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Структура операційних систем на монолітному ядрі, мікроядрі і гібридному ядрі

Гібридне ядро (англ. Hybrid kernel) — модифіковані мікроядра (мінімальна реалізація основних функцій ядра операційної системи комп'ютера), що дозволяють для прискорення роботи запускати «несуттєві» частини в просторі ядра.

Мають «гібридні» переваги та недоліки.

Всі розглянуті підходи до побудови операційних систем мають свої переваги й недоліки. У більшості випадків сучасні операційні системи використовують різні комбінації цих підходів. Так, наприклад зараз, ядро «Linux» є монолітною системою з окремими елементами модульного ядра. При компіляції ядра можна дозволити динамічне завантаження і вивантаження дуже багатьох його компонентів — так званих модулів. У момент завантаження модулю його код завантажується на рівні системи і зв'язується з іншою частиною ядра. Всередині модуля можуть використовуватися будь-які експортовані ядром функції.

Існують варіанти ОС GNU (Debian/GNU Hurd), в яких замість монолітного ядра застосовується ядро Mach (таке ж, як у Hurd), а поверх нього в просторі користувача працюють ті ж самі процеси, які при використанні Linux були б частиною ядра. Іншим прикладом змішаного підходу може служити можливість запуску операційної системи з монолітним ядром під керуванням мікроядра. Так влаштовані Lites та MkLinux, засновані на мікроядрі Mach. Мікроядро забезпечує управління віртуальною пам'яттю і роботу низькорівневих драйверів. Всі інші функції, у тому числі взаємодія з прикладними програмами, здійснюється монолітним ядром. Цей підхід сформувався в результаті спроб використовувати переваги мікроядерної архітектури, зберігаючи за можливості добре налагоджений код монолітного ядра.

Найбільш тісно елементи мікроядерного та монолітного ядер переплетені в ядрі Windows NT. Хоча Windows NT часто називають мікроядерною операційною системою[1], це не зовсім так. Мікроядро NT занадто велике (більше 1 Мбайт, крім того, в ядрі системи знаходиться, наприклад, ще й модуль графічного інтерфейсу), щоб носити префікс «мікро». Компоненти ядра Windows NT розташовуються в витиснюваній пам'яті та взаємодіють один з одним шляхом передавання повідомлень[1][2], як і годиться в мікроядерних операційних системах. У той же час всі компоненти ядра працюють в єдиному просторі адрес і активно використовують спільні структури даних, що властиво операційним системам з монолітним ядром. На думку фахівців Microsoft, причина проста: чисто мікроядерний дизайн комерційно невигідний, оскільки неефективний. Таким чином, Windows NT можна з повним правом назвати гібридною операційною системою.

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

Приклади

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. а б MS Windows NT Kernel-mode User and GDI White Paper (англ.). Microsoft Corporation. 2007. Архів оригіналу за 12 лютого 2012. Процитовано 1 березня 2007.
  2. Silberschatz, Abraham; Peter Baer Galvin and Greg Gagne (2005). Operating System Concepts; 7th Edition (PDF) (англ.). Hoboken, New Jersey: John Wiley & Sons Inc. ISBN 978-0-471-69466-3. Архів оригіналу (PDF) за 15 вересня 2009. Процитовано 13 червня 2010.
  3. An Overview of the NetWare Operating System (англ.)

Посилання

[ред. | ред. код]