Windows NT ve Apple'ın XNU çekirdeğini melez yerine monolitik olarak adlandırmayı tercih ederim. Uygulamada melez sınıflandırmasının fazla bir anlamı olduğunu bulamıyorum. Aslında XNU'nun orijinal mühendislerinden biri onu monolitik olarak adlandırıyor [1].
Performans konusunda, monolitik ve mikro bulabileceğim tek gerçekten derinlemesine karşılaştırma, "Aşırı Yüksek Performanslı Bilgi İşlem veya Neden Microkerenels Suck" [2] ve "Microkernels Suck Yapıyor mu?"
Modülerlik ve özelleştirilebilirlik, monolitik çekirdeklerdeki doğal sınırlamalardan daha fazla tasarım konusudur. Örneğin Linux çekirdeği, derleme zamanı seçeneklerine ve belirli yamaların uygulanmasına bağlı olarak birkaç megabayttan yaklaşık bir megabayta kadar değişebilir. Linux'un 15 milyon artı kod satırının büyük çoğunluğu yüklenebilir çekirdek modülleridir. Temel çekirdekten ayrı olarak derlenirler ve yalnızca gerektiğinde yüklenirler. Bu modüller sürücüleri ve sistem çağrılarını uygulayabilir (hatta temel sistem çağrılarını geçersiz kılar).
Mikro çekirdeğin tartışmasız bir avantaja sahip olduğu iki alan, düşük bellek (<= 512k ram) veya havayolu uçuş sistemleri veya nükleer reaktör kontrol sistemleri gibi gerçek zamanlı işletim sistemlerinde bulunur.
Düzenleme: Her iki çekirdek mimarisinin avantajları ve dezavantajları hakkında daha fazla konuşursak, Gernot Heiser sunumunun sonunda serbestçe itiraf eder [3] monolitik çekirdeklerin doğası gereği daha performanslı olduğunu çünkü bir mikro çekirdeğin her zaman fazladan ek yükü vardır. Yine de, bu ek yük, güvenilirliğin artmasına neden olur, bu nedenle RTOS'un mikro çekirdeklerinin baskınlığı.
[1] Louis G. Gerbarg, "Mac OS X'te Gelişmiş Senkronizasyon: Unix'i SMP ve Gerçek Zamanlı Olarak Genişletme", BSDCon 2002 Konferansı Bildiriler Kitabı, s.
[2] Chistoph Lameter, "Aşırı Yüksek Performanslı Bilgi İşlem veya Neden Mikro Çekirdekler Suck", 2007 Linux Sempozyumu, Cilt 1
[3] Gernot Heiser, "Mikro Çekirdekler Suck mi?", 9. Linux.conf.au, Ocak, 2008