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