Гібрыднае ядро

**Гібрыднае ядро** () — мадыфікаванае мікраядро, здольнае запускаць «неістотныя» часткі ў прасторы ядра, для паскарэння работы.

Маюць «гібрыдныя» перавагі і недахопы.

Center|820px|Structure of monolithic kernel, microkernel and hybrid kernel-based operating systems

Усе разгледжаныя падыходы да стварэння аперацыйных сістэм маюць свае перавагі і недахопы. У большасці выпадкаў сучасныя аперацыйныя сістэмы ужываюць розныя камбінацыі гэтых падыходаў. Напрыклад, зараз ядро «Linux» уяўляе сабой маналітную сістэму з асобнымі элементамі модульнага ядра. Пры кампіляцыі ядра можна дазволіць дынамічную загрузку і выгрузку вельмі многіх кампанентаў ядра — так званых модуляў. У момант загрузкі модуля яго код загружаецца на ўзроўні сістэмы і звязваецца з астатняй часткай ядра. Унутры модуля могуць ужывацца любыя экспартаваныя ядром функцыі.

Існуюць варыянты АС GNU (Debian GNU/Hurd), у якіх замест маналітнага ядра ўжываецца ядро Mach (такое ж, як у Hurd), а паверх яго, у карыстальніцкай прасторы, працуюць тыя ж самыя працэсы, якія пры ўжыванні Linux былі б часткай ядра.
Іншым прыкладам змешанага падыходу можа быць магчымасць запуску аперацыйнай сістэмы з маналітным ядром пад кіраваннем мікраядра. Так збудаваны 4.4BSD і MkLinux, аснаваныя на мікраядры Mach. Мікраядро забяспечвае кіраванне віртуальнай памяццю і працу нізкаўзроўневых драйвераў. Усе астатнія функцыі, у тым ліку ўзаемадзеянне з прыкладнымі праграмамі, ажыццяўляюцца маналітным ядром. Гэты падыход сфармаваўся ў выніку спробаў ужываць перавагі мікраядравай архітэктуры, захоўваючы па магчымасці добра адладжаны код маналітнага ядра.

Найбольш шчыльна элементы мікраядравай архітэктуры і элементы маналітнага ядра пераплецены ў ядры Windows NT. Хоць Windows NT часта завуць мікраядравай аперацыйнай сістэмай, гэта не зусім так. Мікраядро NT занадта вялікае (болей за 1 Мбайт, акрамя таго, у ядры сістэмы знаходзіцца, напрыклад, яшчэ і модуль графічнага інтэрфейсу), каб мець прыстаўку «мікра». Кампаненты ядра Windows NT змяшчаюцца ў выцясняльнай памяці і ўзаемадзейнічаюць адзін з адным праз перадачу паведамленняў, як і мае быць у мікраядравых аперацыйных сістэмах. У той жа час усе кампаненты ядра працуюць у адной адраснай прасторы і актыўна выкарыстоўваюць агульныя структуры даных, што ўласціва аперацыйным сістэмам з маналітным ядром. Прычына простая: выключна мікраядравы дызайн камерцыйна менш выгадны, бо менш эфектыўны (за кошт накладных выдаткаў на перадачу паведамленняў там, дзе можна было б абысціся выклікамі функцый).

Такім чынам, Windows NT можна з поўным правам назваць гібрыднай аперацыйнай сістэмай.

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

## Прыклады 
* Syllable
* BeOS
* Haiku
* XNU (на аснове Darwin, выкарыстоўваецца ў Mac OS X)
* BSD-заснаваныя
** DragonFly BSD (першае з сямейства BSD мікраядро, аснаванае не на Mach)
* NetWare
* Plan 9
* Inferno
* NT kernel (выкарыстоўваецца ў Windows NT, 2000, 2003; XP, Vista, 7, 8)
* ReactOS

## Крыніцы 
## Спасылкі 
* Linus Torvalds on Real World Tech
* Hybrid Kernel category criticised 
* Sysinternals article about the NT Native API 

Катэгорыя:Ядры аперацыйных сістэм
Катэгорыя:Архітэктура ядраў аперацыйных сістэм