Kernel hibrida merupakan arsitektur
Kernel yang menggabungkan aspek-aspek yang terdapat pada mikrokernel dan
Kernel monolitik dalam pengembangan perangkat lunak sistem operasi. Pengkategorian
Kernel hibrida dipandang kontroversial karena karakteristiknya yang sangat mirip dengan karakteristik
Kernel monolitik sehingga beberapa kalangan mencibir pengkategorian
Kernel hibrida hanya sebatas diferensiasi untuk tujuan pemasaran. Umumnya pengkategorian yang lebih diterima adalah
Kernel monolitik dan mikrokernel (termasuk dalam hal ini nanokernel dan exokernel yang dipandang sebagai versi mikrokernel yang lebih ekstrem).
Gagasan di belakang
Kernel hibrida adalah membuat suatu struktur
Kernel yang serupa seperti mikrokernel, namun diimplementasikan sebagai
Kernel monolitik. Berbeda dengan mikrokernel, semua (atau setidaknya hampir semua) layanan sistem terdapat pada ruang
Kernel dan bukan pada ruang pengguna. Seperti halnya pada
Kernel monolitik, tidak ada beban penurunan unjuk kerja seperti pada mikrokernel atas mekanisme penyampaian pesan, dan mekanisme proses lainnya, juga memiliki pemahaman yang sama seperti
Kernel monolitik, tidak ada keuntungan apapun atas penyediaan layanan pada ruang pengguna.
Contoh
=
Contoh yang sangat dikenal atas implementasi
Kernel hibrida adalah arsitektur dari jajaran sistem operasi windows berbasis NT (Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, dan Windows 7). Windows berbasis NT sering kali diklasifikasikan sebagai
Kernel hibrida (atau makrokernel) daripada sebagai
Kernel monolitik sebab subsistem emulasi yang terdapat pada NT berjalan pada modus pengguna, dan bukan pada modus
Kernel seperti yang terdapat pada
Kernel monolitik. Dan lebih jauh karena tujuan disainnya serupa dengan tujuan disain Mach (salah satu mikrokernel generasi pertama). Sebaliknya, alasan bahwa NT bukanlah termasuk sebagai mikrokernel karena sebagian besar komponen sistem berjalan pada alamat ruang yang sama dengan
Kernel, seperti halnya pada disain
Kernel monolitik.
Deksripsi
Disain Windows NT memiliki banyak kesamaan dengan yang terdapat pada Mach, salah satu mikrokernel generasi pertama, dan bagian yang terpenting adalah memiliki struktur atas sejumlah koleksi modul yang berkomunikasi melalui antarmuka yang umum dikenal, yang pada mikrokernel kecil hal ini terbatas pada fungsi-fungsi inti seperti penanganan interup level-utama, penjadualan thread, dan sinkronisasi proses-proses sederhana. Hal tersebut memungkinkan tiap-tiap modul untuk menggunakan mekanisme pemanggilan langsung ataupun menggunakan mekanisme IPC sebagai media komunikasi antar modul. Kesamaan tujuan disain lainnya dengan Mach termasuk dalam hal ini dukungan terhadap bermacam-macam arsitektur, yaitu sebuah
Kernel dengan tingkat abstraksi yang cukup untuk memungkinkan beragam karakteristik sistem operasi diimplementasikan pada tingkatan di atasnya, dan pengorganisasian yang berbasis objek.
Alasan bahwa NT bukanlah sebuah sistem berbasis mikrokernel dalam hal ini karena hampir semua subsistem menyediakan layanan sistem, termasuk bagian eksekutif, berjalan pada modus
Kernel (dalam ruang alamat yang sama dengan mikrokernel), dan bukan pada modus pengguna seperti yang terdapat pada disain mikrokernel. Atribut ini yang membuat NT serupa dengan versi-versi awal Mach, demikian juga sistem komersial lainnya yang berbasis Mach.
=
Deskripsi
Salah satu dari tujuan utama disain
Kernel Plan 9 adalah untuk menyediakan seluruh sumber daya seperti berkas dan penggunaan protokol komunikasi tunggal baik untuk akses terhadap sumberdaya lokal dan remot.
Kernel Plan 9 menggunakan baik modus
Kernel dan modus pengguna. Contoh subsistem yang berjalan pada modus
Kernel adalah device driver, sementara yang berjalan pada modus pengguna adalah subsistem manajemen jaringan (IP stack), konsol-serial, kotak surat. Disebabkan karena antarmuka keduanya yang sama menyebabkan modul-modul baru bisa dipindahkan atau ditambahkan ke dalam/di luar
Kernel tanpa melakukan perubahan pada sistem.
Klasifikasi
Disebabkan karena penggunaan yang intensif atas peladen berkas pada modus pengguna bersama-sama dengan modul sistem pada modus
Kernel, Plan 9 menjadi salah satu kandidat untuk disertakan sebagai
Kernel hibrida.
Kontraversi
Seperti yang telah disebutkan di atas,
Kernel hibrida memiliki banyak kemiripan seperti
Kernel monolitik yakni tidak ada penurunan unjuk kerja pada beberapa mekanisme yang ada, dan tidak memiliki layanan di ruang pengguna.
Hal ini menimbulkan kontraversi, apakah dengan membuat satu struktur
Kernel yang serupa seperti mikrokernel namun diimplementasikan sebagai
Kernel monolitik membuat satu perbedaan yang fundamental yang mengharuskan sebuah kategori baru ditambahkan?
= Pendukung
=
Microsoft biasanya menggunakan pengertian "mikrokernel", kadang kala "mikrokernel yang dimodifikasi", atau "makrokernel" saat menjelaskan tentang
Kernel dalam arsitektur jajaran sistem operasi Windows NT. Keseluruhan arsitektur dikatakan sebagai komposisi atas "mikrokernel termodifikasi", pengendali, HAL, dan GDI/GDI+ seluruhnya berjalan pada ruang
Kernel.
= Oposisi
=
Banyak pakar sistem operasi dan
Kernel tidak mengakui kategori ini dan menganggapnya tidak memiliki arti, semata-mata untuk tujuan pemasaran.
Linus Torvalds mengatakan atas hal ini:
As to the whole ‘hybrid
Kernel’ thing — it’s just marketing. It’s ‘oh, those microkernels had good PR, how can we try to get good PR for our working
Kernel? Oh, I know, let’s use a cool name and try to imply that it has all the PR advantages that that other system has’.
Sonny Rao sebagai anggota tim IBM LTC
Kernel Performance File/IO mengatakan:
It’s wrong... I think this talk... was born from some kind of half-assed marketing game to try and make XXX
Kernel seem ‘more advanced.’ ‘Micro’ and ‘hybrid’ are always better, more advanced than ‘Monolithic’ right??"
Implementasi
Kernel BeOS
Kernel Haiku
Syllable
BSD
DragonFly BSD
Kernel XNU (core of Darwin, used in Mac OS X)
Kernel NetWare
Kernel Plan 9
Kernel Inferno
Kernel NT (digunakan pada sistem operasi Windows NT, 2000, 2003; XP, Vista, 2008, 7)
Kernel ReactOS
Lihat pula
Exokernel
Nanokernel
Catatan
Referensi
(Inggris) Linus Torvalds on Real World Tech
(Inggris) Hybrid
Kernel category criticised
(Inggris) Sysinternals article about the NT Native API