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