Monolithic Architecture

Introduction

Monolithic OS kernel 的所有功能(file system, CPU scheduling, Memory Management…)都跑在 kernel mode 並且共享同個 address space

Pros & Cons

Pros

kernel 中各個模組可以直接互相呼叫,所以效能極高

Cons

  • 因為共享 Address Space 且權限相同,只要任意 kernel 模組出 bug 產生諸如記憶體覆蓋等問題整個 kernel 就會 crash
  • 因為所有程式碼都編入同一個 kernel binary,所以當我們要修改任意功能或增減設備就需要重新編譯整個 kernel 再重新載入
  • 難以維護——牽一髮而動全身