多程式設計與多工處理的區別


多程式設計多工處理都是與計算機作業系統相關的概念。只讓CPU處理單個任務並不是一個好習慣。因為CPU與計算機系統其他元件的速度差異相當大。這種差異會增加CPU空閒時間並降低其吞吐量。因此,為了克服這個問題,已經開發了多程式設計、多工處理、多執行緒等多種概念來提高CPU利用率。

在本文中,我們將討論多程式設計和多工處理之間重要的區別。讓我們從多程式設計和多工處理的一些基礎知識開始,以便更容易理解它們彼此的不同之處。

什麼是多程式設計?

在主存中同時駐留多個程式稱為多程式設計。多程式設計組織作業以提高CPU利用率。作業的組織方式使得CPU始終有作業要執行。在多程式設計中,多個作業儲存在主存中。多程式設計的概念允許作業系統在一臺單CPU機器上執行多個程式。

當單個作業必須等待佔用I/O單元時,其他作業始終準備利用CPU。這樣,多個作業可以併發地共享CPU。儘管如此,多程式設計並不意味著作業會同時執行。因此,多程式設計提高了CPU利用率,縮短了響應時間,併為作業分配了優先順序。

什麼是多工處理?

同時執行多個任務稱為多工處理。在多工處理中,CPU被分配給一個程序一段指定的時間(稱為時間片),在這段時間之後,CPU切換到另一個程序。這樣,多工處理允許同時執行多個程式。多工處理是作業系統的一個高度複雜的概念,它是基於時間片原理開發的。在這個概念中,為每個要完成的作業分配一個固定的時間段。

多工處理的常見示例包括:在列印過程執行時鍵入文件,在瀏覽網際網路時聽音樂等等。看起來所有任務都在同時執行,但這並不完全正確。在這些情況下,CPU在這些任務之間切換的速度如此之快,以至於我們認為它們是同時執行的。

多程式設計和多工處理的區別

下表突出顯示了多程式設計和多工處理之間的重要區別:

引數 多程式設計 多工處理
是什麼? 在主存中同時駐留多個程式稱為多程式設計。 同時執行多個任務稱為多工處理。
目的 多程式設計有助於減少CPU空閒時間並提高吞吐量。 多工處理用於一次執行多個任務以提高CPU吞吐量。
CPU數量 在多程式設計中,只需要一個CPU來處理任務。 在多工處理中,需要多個CPU來完成任務。
作業處理時間 多程式設計需要更多時間來處理作業。 多工處理需要適量的時間。
正在執行的程序數 一次執行一個程序。程序完成後,系統掛起該程序並選擇一個新程序執行。 在多工處理中,多個作業可以併發執行,CPU被分配給某個作業一段固定的時間。
使用者數量 一次一個。 多個
吞吐量 吞吐量較低。 吞吐量中等。
效率 較低 中等
類別 無進一步細分 單使用者和多使用者。
CPU切換 在多程式設計中,CPU快速地在程序之間切換。 在多工處理中,CPU在多個程式的程序之間切換。
機制 多程式設計使用上下文切換機制。 多工處理使用分時機制。

結論

多程式設計和多工處理之間最顯著的區別在於,多程式設計允許多個程式同時使用CPU,而多工處理允許多個程式同時執行。

更新於:2022年12月14日

12K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.