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

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

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

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

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

Існують варіанти ОС GNU (Debian/GNU Hurd), в яких замість монолітного ядра застосовується ядро Mach (таке ж, як у Hurd), а поверх нього в просторі користувача працюють ті ж самі процеси, які при використанні Linux були б частиною ядра. Іншим прикладом змішаного підходу може служити можливість запуску операційної системи з монолітним ядром під керуванням мікроядра. Так влаштовані 4.4BSD та 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. Процитовано 2007-03-01 (англ.). 
  2. Silberschatz, Abraham; Peter Baer Galvin and Greg Gagne (2005). Operating System Concepts; 7th Edition. Hoboken, New Jersey: John Wiley & Sons Inc. ISBN 978-0-471-69466-3.  (англ.)
  3. An Overview of the NetWare Operating System (англ.)

Посилання[ред.ред. код]