本章考核知識點:1.多道程序設計 2.進程 3.進程狀態(tài) 4.進程控制塊 5.進程隊列 6.可再入程序 7.中斷及中斷響應 8.中斷優(yōu)先級 9.進程調(diào)度
自學要求:通過本章學習應該掌握多道程序設計是如何提高計算機系統(tǒng)效率的;進程與程序有什么區(qū)別;進程的基本狀態(tài)以及狀態(tài)變化;進程隊列及進程調(diào)度策略;中斷的作用。
重點是:多道程序設計;進程的定義和屬性;進程調(diào)度策略。
一、 多道程序設計( 領(lǐng)會 )
1、什么是多道程序設計。
讓多個計算問題同時裝入一個計算機系統(tǒng)的主存儲器并行執(zhí)行,這種設計技術(shù)稱“ 多道程序設計 ”,這種計算機系統(tǒng)稱“多道程序設計系統(tǒng)” 或簡稱“多道系統(tǒng)”。
存儲保護 :在多道程序設計的系統(tǒng)中,主存儲器中同時存放了多個作業(yè)的程序。為避免相互干擾,必須提供必要的手段使得在主存儲器中的各道程序只能訪問自己的區(qū)域。這樣,每道程序執(zhí)行時,都不會破壞其他各道的程序和數(shù)據(jù)。特別是當某道程序發(fā)生錯誤的時,也不至于影響其它的程序。
程序浮動 :在多道程序設計系統(tǒng)中,對程序有一些特殊要求,也就是說,程序可以隨機地從主存的一個區(qū)域移動到另一個區(qū)域,程序被移動后仍絲毫不影響它的執(zhí)行,這種技術(shù)稱為“程序浮動”。
在多道程序設計的系統(tǒng)中,有三點基本要求:
用“存儲保護”的方法保證各道程序互不侵犯;
用“程序浮動”技術(shù)讓程序能靈活地改變存放區(qū)域且能正確執(zhí)行;
必須對資源按一定的策略分配和調(diào)度。
2、 多道程序設計 利用了系統(tǒng)與外圍設備的并行工作能力,從而提高工作效率。具體表現(xiàn)為:
提高了處理器的利用率;
充分利用外圍設備資源:計算機系統(tǒng)配置多種外圍設備,采用多道程序設計并行工作時,可以將使用不同設備的程序搭配在一起同時裝入主存儲器,使得系統(tǒng)中各外圍設備經(jīng)常處于忙碌狀態(tài),系統(tǒng)資源被充分利用;
發(fā)揮了處理器與外圍設備以及外圍設備之間的并行工作能力;
從總體上說,采用多道程序設計技術(shù)后,可以有效地提高系統(tǒng)中資源的利用率,增加單位時間內(nèi)的算題量,從而提高了吞吐率。
3、 多道程序設計 對算題量和算題時間的影響。 采用多道程序設計能改變系統(tǒng)資源的使用情況,提高系統(tǒng)效率。但是應注意以下兩個問題:
可能延長程序的執(zhí)行時間;
并行工作道數(shù)與系統(tǒng)效率不成正比。從表面上看,增加并行工作道數(shù)就可提高系統(tǒng)效率,但實際上并行工作道數(shù)與系統(tǒng)效率是不成正比,因為并行的道數(shù)要根據(jù)系統(tǒng)配置的資源和用戶對資源的要求而定:
(1)主存儲器的大小限制了可同時裝入的程序數(shù)量;
(2)外圍設備的數(shù)量也是一個制約條件;
(3)多個程序同時要求使用同一資源的情況也會經(jīng)常發(fā)生。
總之,多道程序設計能提高系統(tǒng)資源的使用效率,增加單位時間的算題量;但是對每個計算問題來說,從算題開始到全部完成所需要的時間可能延長,另外在確定并行工作道數(shù)時應綜合系統(tǒng)的資源配置和用戶對資源的要求。
二、 進程( 領(lǐng)會 )
1、 進程 的定義:把一個程序在一個數(shù)據(jù)集上的一次執(zhí)行稱為一個“進程”。
2、 進程是由 程序 、 數(shù)據(jù)集 和 進程控制塊 三部分組成。
我們舉一個例子,比如在有一個用戶程序notepad.exe(記事本),當它存放在磁盤上時,就是一個程序,在windows操作系統(tǒng)下運行它時,就會在內(nèi)存中建立一個記事本程序的進程,而我們在記事本中編輯的當前文字就是這個進程的數(shù)據(jù)集,操作系統(tǒng)會為當前的進程設置一個進程控制塊。如果我們再打開一個記事本程序的窗口,就會建立另一個進程,此時運行的是同一個程序,但存在兩個進程,第二個窗口中的編輯內(nèi)容就是第二個進程的數(shù)據(jù)集。
3、 進程 與 程序 的區(qū)別及關(guān)系。程序是靜止的,進程是動態(tài)的。進程包括程序和程序處理的對象(數(shù)據(jù)集),進程能得到程序處理的結(jié)果。進程和程序并非一一對應的,一個程序運行在不同的數(shù)據(jù)集上就構(gòu)成了不同的進程。通常把進程分為“系統(tǒng)進程”和“用戶進程”兩大類,把完成操作系統(tǒng)功能的進程稱為系統(tǒng)進程,而完成用戶功能的進程則稱為用戶進程。
相關(guān)推薦:2010年自考數(shù)據(jù)庫及其應用重點知識講解匯總