作業系統程序排程問答 #7



問題:解釋偽並行。描述使並行處理更容易處理的程序模型。

答案:所有現代計算機都可以同時執行許多操作。例如,計算機可以在執行使用者程式的同時從磁碟讀取資料並在印表機上列印。在多程式系統中,CPU在程式之間切換,每個程式執行幾分之一秒。

雖然 CPU 任何時刻只執行一個程式,但由於 CPU 速度非常快,因此它可以在一秒鐘內處理多個程式。這給使用者一種並行的錯覺,即多個程序同時被處理。這種 CPU 在程式之間快速來回切換的現象產生了並行的錯覺,被稱為偽並行。由於跟蹤多個並行活動極其困難,為了使並行處理更容易處理,作業系統設計者已經發展了一種程序模型。

程序模型

在程序模型中,計算機上所有可執行的軟體(包括作業系統)都被組織成一系列程序。程序只是一個正在執行的程式,包括程式計數器、暫存器和變數的當前值。每個程序都被認為擁有自己的虛擬 CPU。真實的 CPU 在程序之間來回切換。為了跟蹤 CPU 在程式之間的切換,方便/更容易地考慮在(偽)並行執行的程序集合/數量。這種快速來回切換實際上是多程式設計。

一個程式計數器程序切換

One program counter process switch

此圖顯示了四個程式的多程式設計。

Multiprogramming

4個獨立順序程序的概念模型。

independent sequential processes

任何時刻只有一個程式處於活動狀態。程序執行計算的速率可能並不一致。但是通常程序不受不同程序的相對速度的影響。

os_exams_questions_answers.htm
廣告