Microkernel
মাইক্রোকার্নেল
এমন kernel নকশা যেখানে শুধু IPC, scheduling আর basic memory management privileged mode-এ থাকে — driver, filesystem আর network stack user space-এ চলে।
মূল বাজি: যত কম কোড ring 0-তে, তত কম আক্রমণক্ষেত্র আর তত ভালো fault containment। একটা buggy driver crash করলে শুধু সেই service-টা মরে, পুরো system নয় — restart করা যায়।
দাম: প্রতিটা driver call এখন একটা IPC, তাই অনেক বেশি context switch।
| Monolithic (Linux) | Microkernel (seL4, QNX) | |
|---|---|---|
| Driver কোথায় | ring 0 | ring 3 |
| Driver crash | সম্ভাব্য kernel panic | শুধু সেই service |
| Call-এর খরচ | function call | IPC |
| কোড ring 0-তে | কয়েক কোটি লাইন | ~১০,০০০ লাইন |
Tanenbaum–Torvalds বিতর্ক (১৯৯২) এই প্রশ্নেই — Tanenbaum বলেছিলেন monolithic নকশা “১৯৭০-এর দশকে ফিরে যাওয়া”। ব্যবহারিকভাবে Linux জিতেছে, কিন্তু যেখানে crash-এর দাম অসহনীয় সেখানে microkernel-ই চলে।
seL4 প্রথম formally verified OS kernel — প্রায় ১০,০০০ লাইন C-এর সম্পূর্ণ গাণিতিক correctness proof (~২,০০,০০০ লাইন Isabelle/HOL)। সামরিক ড্রোন আর চিকিৎসা যন্ত্রে ব্যবহৃত। QNX গাড়ির infotainment ও নিয়ন্ত্রণ ব্যবস্থায়।