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。