萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦基本常識

多道程式設計 核心概念解析:宏觀並行、微觀串行、提高 CPU 利用率

多道程式設計 是作業系統核心技術之一,指在記憶體中同時駐留多個獨立程式,在管理程式 (OS) 控制下交錯執行,使 CPU 與 I/O 裝置並行工作,大幅提升系統吞吐量。

定義與特徵

  • 多道:記憶體中同時存放多道 (兩個以上) 程式。
  • 宏觀並行:多道程式皆處於「開始→結束」之間,從系統整體看是並行執行。
  • 微觀串行:單 CPU 核心下,各程式分時輪流佔用 CPU,交替執行。

三大基本特性

  1. 間斷性:程式執行過程中因 I/O、中斷、排程而暫停/恢復。
  2. 共享性:程式共享 CPU、記憶體、I/O 裝置等系統資源 (互斥共享/同時共享)。
  3. 制約性:程式間因資源競爭、資料相依產生同步與互斥制約關係。

硬體基礎

  • 中斷機制:I/O 完成通知 CPU 切換程式。
  • 記憶體保護:基址/界址暫存器或分頁機制隔離程式空間。
  • 特權指令/模式:OS 核心態 vs 使用者態,保護關鍵資源。
  • 定時器:時間片輪轉排程基礎。

引入目的與效益

  1. 提高 CPU 利用率:單道程式 I/O 等待時 CPU 閒置;多道程式下 CPU 切換執行其他程式,利用率從 ~20% 提升至 80%+。
  2. 提高記憶體與 I/O 設備利用率:資源並行使用。
  3. 增加系統吞吐量:單位時間完成更多作業。

發展脈絡

  • 單道批處理 → 多道批處理系統 (引入多道程式設計) → 分時系統 → 即時系統。
  • Ken Thompson 參與 Multics (首個分時 OS) 開發,後與 Dennis Ritchie 創造 Unix。

現代 OS 中的體現

Windows/Linux/macOS/Android/iOS 皆為多道程式設計系統,進階為多執行緒、多核心平行、虛擬記憶體、抢佔式排程等演進形式,核心思想不變:資源多工、並發控制、效能最大化。

copyright © 萬盛學電腦網 all rights reserved