我們已討論了計算機系統的基本組成和體系結構,現在討論作業系統。作業系統為執行程式而提供環境。作業系統可以通過許多不同方式來構建,因此內部組織差異很大。不過,它們也有許多共同點,這裡將會加以討論。
多道程式設計(multiprogramming)
作業系統最重要的一點是具有多道程式能力。一般來說,單個程式並不能讓 CPU 和 I/O 裝置始終忙碌。單個使用者通常具有多個執行程式。多道程式設計(multiprogramming)通過安排作業(編碼與資料)使得 CPU 總有一個執行作業,從而提高 CPU 利用率。
作業系統在記憶體中同時儲存多個任務(圖 1)。由於主記憶體太小不能容納所有作業,因此這些作業首先儲存在磁碟的作業池(job pool)上。該作業池包括磁碟上的、等待分配記憶體的所有進程。
圖 1 多道程式系統的記憶體分布