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 純粹在切換什麼事都沒做所以要越短越好