ฉันชอบโทรหา Windows NT และ Apple XNU kernel monolithic แทนที่จะเป็น hybrid ฉันไม่พบการจัดประเภทของลูกผสมให้มีความหมายมากในทางปฏิบัติ ในความเป็นจริงหนึ่งในวิศวกรดั้งเดิมของ XNU เรียกมันว่าเสาหิน [1]
ในเรื่องของประสิทธิภาพการเปรียบเทียบเชิงลึกเพียงอย่างเดียวของ monolithic vs micro ที่ฉันพบคือ "คอมพิวเตอร์ประสิทธิภาพสูงมากหรือทำไม Microkerenels ดูด" [2] และการนำเสนอโต้แย้ง "ทำ Microkernels ดูด?" [3]
Modularity และ customizablity เป็นปัญหาของการออกแบบมากกว่าข้อ จำกัด โดยธรรมชาติในเมล็ดเสาหิน ตัวอย่างเช่นเคอร์เนล Linux สามารถอยู่ในช่วงตั้งแต่หลายเมกะไบต์จนถึงขนาดประมาณหนึ่งเมกะไบต์ขึ้นอยู่กับตัวเลือกเวลาคอมไพล์และแอปพลิเคชันของแพตช์บางตัว ส่วนใหญ่ของ 15 ล้านบรรทัดบวกรหัสของ Linux เป็นโมดูลเคอร์เนลโหลดได้ พวกเขาจะรวบรวมแยกจากเคอร์เนลฐานและโหลดเมื่อจำเป็นเท่านั้น โมดูลเหล่านั้นสามารถใช้ไดรเวอร์และการเรียกใช้ระบบ (แม้แต่การเอาชนะการเรียกระบบพื้นฐาน)
สองพื้นที่ที่ microkernels มีข้อได้เปรียบที่ไม่มีปัญหาอยู่ในหน่วยความจำต่ำ (<= 512k ram) หรือระบบปฏิบัติการแบบเรียลไทม์ "ยาก" เช่นระบบการบินของสายการบินหรือระบบควบคุมเครื่องปฏิกรณ์นิวเคลียร์
แก้ไข: พูดถึงข้อดีและข้อเสียของสถาปัตยกรรมเคอร์เนลทั้งสอง Gernot Heiser ยอมรับอย่างอิสระในตอนท้ายของการนำเสนอของเขา [3] ว่าเสาหินใหญ่กว่าปกติมากเพราะมีขนาดเล็กกว่าตัวประมวลผล microkernel ถึงแม้ว่าค่าโสหุ้ยพิเศษนั้นจะนำไปสู่ความน่าเชื่อถือที่เพิ่มขึ้นดังนั้น microkernels จึงมีอำนาจเหนือ RTOS
[1] Louis G. Gerbarg, "การซิงโครไนซ์ขั้นสูงใน Mac OS X: การเพิ่ม Unix เป็น SMP และเรียลไทม์", การดำเนินการของการประชุม BSDCon 2002, หน้า 2
[2] Chistoph Lameter, "การคำนวณประสิทธิภาพสูงที่สุดหรือทำไม Microkernels Suck", Linux Symposium 2007, เล่มที่หนึ่ง
[3] Gernot Heiser, "Microkernels แย่ไหม?", 9th Linux.conf.au, มกราคม, 2551