並發運行

並發運行,我們通常使用的計算機中只有一個CPU,也就是說只有一顆心,要讓它一心多用,同時運行多個進程,就必須使用並發技術。

俗話說,一心不能二用,這對計算機也一樣,原則上一個CPU只能分配給一個進程,以便運行這個進程。我們通常使用的計算機中只有一個CPU,也就是說只有一顆心,要讓它一心多用,同時運行多個進程,就必須使用並發技術。
實現並發技術相當複雜,最容易理解的是“時間片輪轉進程調度算法”,它的思想簡單介紹如下: 在作業系統的管理下,所有正在運行的進程輪流使用CPU,每個進程允許占用CPU的時間非常短(比如10毫秒),這樣用戶根本感覺不出來CPU是在輪流為多個進程服務,就好象所有的進程都在不間斷地運行一樣。但實際上在任何一個時間內有且僅有一個進程占有CPU。如果一台計算機有多個CPU,情況就不同了,如果進程數小於CPU數,則不同的進程可以分配給不同的CPU來運行,這樣,各個進程就是真正同時運行的,這便是並行。但如果進程數大於CPU數,則仍然需要使用並發技術。在Windows中,進行CPU分配是以執行緒為單位的,一個進程可能由多個執行緒組成,這時情況更加複雜,但簡單地說,有如下關係:執行緒數 <= CPU數量:並行運行匯流排程數 > CPU數量:並發運行並行運行的效率顯然高於並發運行,所以在多CPU的計算機中,多任務的效率比較高。但是,如果在多CPU計算機中只運行一個進程(執行緒),就不能發揮多 CPU的優勢。值得注意的是,Windows 9x並不支持多CPU系統,如果在多CPU系統 上安裝Windows 9x,有再多的CPU也是白搭。

相關詞條

相關搜尋

熱門詞條

聯絡我們