Operating System functionalities
Multiprogramming :
- 使CPU 或 IO 處於忙碌狀態,增加使用率
OS 會同時間把幾項工作放在Memory中,因為主記憶體太小,所以一開始所有工作都放在磁碟的 job pool
流程圖 :
time = 0 時 1號跟2號 task 處於 ready 的狀態
開始後,OS 把權重較高的1號從記憶體挑出來執行
當1號要使用IO時,OS會把2號丟給CPU並開始執行
1號做完IO後,回復ready,但
系統不會立馬把CPU轉回至1號
,等到2號需要IO時才會轉回去1號
- 跟前1-2-1的圖有相關 :
Time Sharing :
跟 multiprogramming 類似,但可以感覺起來同時在執行2個程式
流程圖 : (紅框框是差異點)
紅框部分,1號CPU在執行,OS把CPU強迫轉移給2號執行," 但1號還是需要CPU ",以此類推
如果每秒切換1000次,人體是感覺不出來的,因此有同時執行的錯覺