Dispatcher
Introduction
當 CPU scheduler 決定要將哪個 process 送進 CPU 後,Dispatcher 則負責實際執行這個切換操作
Jobs
1. Context Switch
- 把當前 process 狀態(registers, stack pointer, program counter…)存進 PCB
- 把下一個 process 的狀態從它的 PCB 中還原
2. Switch to User Mode
- Context switch 本身跑在 kernel mode
- Context switch 完後降回 user mode 才能跑 user process
3. Jump to Proper Location
- 跳到新 process 上次停下來的地方繼續執行(透過 program counter)
Dispatch Latency
這是從舊 process save state 開始直到新 process restore state 結束之間的時間,這段期間 CPU 純粹在切換什麼事都沒做所以要越短越好