Operating_system
01. Multiprogramming System (一)定義:系統允許多個 jobs (processes) 同時執行,即是
主要目的:提高CPU utilization
作法:透過Job scheduling (or CPU scheduling 工作的排班或者CPU的排班) 技術達成
e.g. 當執行中的process在waiting for I/O completed,則 OS 可以將 CPU 切換給另外一個 process 執行,避免 CPU idle
即只要系統內有夠多的 Jobs 存在,則 CPU idle 機會下降
(二)Multiprogramming Degree
相當於系統內之 processes 數目
一般而言,如果 Degree 越高,則 cpu utilization 越高
Note: Chapter 8 virtual memory Thrashing 例外狀況除外
(三)多個 processes 同時執行之方式有兩個:
Concurrent execution 並行
一顆CPU,大家輪流交錯使用,晚上7-8點給P1,做不下去切給其他的
Parallel execution 平行
多顆CPU或者多核 (core) ,每一個工作都在不同的cpu平行執行
Multiprogramming 跟一顆cpu或者多顆cpu無關,單一 user 也可以 multiprogramming,不限定多個 users。