Гібридне ядро
З Вікіпедії, безкоштовно encyclopedia
Гібридне ядро (англ. Hybrid kernel) — модифіковані мікроядра (мінімальна реалізація основних функцій ядра операційної системи комп'ютера), що дозволяють для прискорення роботи запускати «несуттєві» частини в просторі ядра.
![Thumb image](http://upload.wikimedia.org/wikipedia/uk/thumb/8/80/OS-structure2_ukr.svg/640px-OS-structure2_ukr.svg.png)
Мають «гібридні» переваги та недоліки.
Всі розглянуті підходи до побудови операційних систем мають свої переваги й недоліки. У більшості випадків сучасні операційні системи використовують різні комбінації цих підходів. Так, наприклад зараз, ядро «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 можна з повним правом назвати гібридною операційною системою.
Змішане ядро, в принципі, повинно об'єднувати переваги монолітного ядра та мікроядра: здавалося б, мікроядро і монолітне ядро — крайнощі, а змішане — золота середина. У них можливо додавати драйвера пристроїв двома способами: і всередину ядра, і в просторі користувача. Але на практиці концепція змішаного ядра часто підкреслює не тільки переваги, але й недоліки обох типів ядер.