Symmetric Processing (SMP)

Introduction

這是所有現代 OS 採用的方式

記憶體裡只有一份 OS,但任何一顆 CPU 都可以執行它。當某顆 CPU 發出 system call,就自己 trap in kernel,處理。而且所有 CPU 共享一個 ready queue,他們各自的 scheduler 都從這個共用的 queue 中撈 process 來跑(此稱為 self-scheduling)

這樣就消除了 asymmetric multiprocessing 的單點瓶頸,但是複雜度大幅提升,需要 lock 機制避免 race condition