Microkernel Architecture
Introduction
Kernel 只做絕對必要在 kernel space 做的事(我們稱其為 microkernel),其他功能全部都移到 user space(我們稱這些功能為 Server)
三件常在 Kernel 的工作:
- IPC (Inter-Process Communication)
- CPU Scheduling
- Memory Management
必須在 kernel 做代表它需要直接存取硬體或對所有 process 都有權力且不能被繞過
Address Space
Microkernel 所有功能都共用一個 Address Space,而 user space 則每個 Server 都有獨立的 Address Space
Pros & Cons
Pros
- 易擴充:因為加功能只需要多個 Server
- 容易移植到其他電腦架構,因為只需要改 microkernel
- 較可靠且安全:因為只有很少功能在 kernel space 所以較低機率出問題
Cons
- 速度超慢,因為 Server 間聯繫都需要透過 IPC