資源描述:
《調(diào)度與死鎖題.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、4.調(diào)度與死鎖4.2例題解析例4.2.1當(dāng)前運行的進程(),將引發(fā)系統(tǒng)進行進程調(diào)度。A.執(zhí)行了一條轉(zhuǎn)移指令B.要求增加主存空間,經(jīng)系統(tǒng)調(diào)用銀行家算法進行測算認為是安全的C.執(zhí)行了一條I/O指令D.執(zhí)行程序期間發(fā)生了I/O完成中斷解本題考核進程調(diào)度的時機,相關(guān)的概念有:(1)進程執(zhí)行轉(zhuǎn)移指令表示CPU將轉(zhuǎn)到一個新程序段去,并不是轉(zhuǎn)到一個新進程,因而不會重新分配CPU。(2)當(dāng)前進程提出主存請求時,若系統(tǒng)認為分配是安全的,則可以立即使進程的請求得到滿足,不會因而造成進程阻塞。因此不會分配CPU。(3)當(dāng)前進程執(zhí)行了I
2、/O指令,提出了輸入輸出請求。由于I/O是低速的,因此不能讓CPU等待I/O完成。因此需要阻塞當(dāng)前進程,重新分配CPU。(4)當(dāng)前進程運行程序期間發(fā)生了I/O完成中斷,說明有一個處于阻塞隊列上的進程,正等待此I/O事件的出現(xiàn)。因此可在中斷處理程序中查出等待的進程,將它喚醒。然后再返回到當(dāng)前進程來執(zhí)行。只要恢復(fù)當(dāng)前進程的現(xiàn)場信息就可以了,不會重新分配CPU。正確答案應(yīng)為C。例4.2.2分時系統(tǒng)中的當(dāng)前運行進程連續(xù)獲得了兩個時間片,原因可能是()。A.該進程的優(yōu)先級最高B.就緒隊列為空C.該進程最早進入就緒隊列D.該
3、進程是一個短進程解(1)在分時系統(tǒng)中,諸多進程以輪流方式分享CPU,一般不考慮進程的優(yōu)先級。(2)當(dāng)前進程運行完一個時間片后回到就緒隊列,如果此刻就緒隊列為空隊列,那么下一個時間片仍然由該進程使用CPU。(1)在分時系統(tǒng)中,諸多進程輪流地使用CPU,并不考慮進程進入就緒隊列的時間,也不登記進程進入就緒隊列的時間。(2)分時系統(tǒng)中諸多進程輪流使用CPU不考慮進程的長短,也不登記進程預(yù)估將運行多長時間。正確答案應(yīng)為B。例4.2.3有三個作業(yè)A(到達時間8:50,執(zhí)行時間1.5小時)、B(到達時間9:00,執(zhí)行時間0.
4、4小時)、C(到達時間9:30,執(zhí)行時間1小時)。當(dāng)作業(yè)全部到達后,單道批處理系統(tǒng)按照響應(yīng)比高者優(yōu)先算法進行調(diào)度,則作業(yè)被選中的次序是()。A.(ABC)B.(BAC)C.(BCA)D.(CBA)E.(CAB)F.(ACB)解本題考核進程調(diào)度問題。作業(yè)運行情況見下表:進程到達時間運行長度開始時間結(jié)束時間A8:501.59:3011:00B9:000.411:0011:24C9:30111:2412:24當(dāng)作業(yè)全部到達后,也就是9:30,系統(tǒng)開始調(diào)度。此刻各作業(yè)的等待時間是,A為40分鐘(0.67小時)、B為0.5
5、小時、C為0小時。其響應(yīng)比分別為:A=1+0.67/1.5=1.4B=1+0.5/0.4=1.25C=1+0/1=1系統(tǒng)首先選A運行,至11:00運行結(jié)束。各作業(yè)的等待時間是,B為2小時,C為1.5小時。其響應(yīng)比分別修改為:B=1+2/0.4=6C=1+1.5/1=2.5系統(tǒng)再選B運行,至11:24運行結(jié)束。最后選擇C運行至12:24結(jié)束。因此,本題的正確答案應(yīng)當(dāng)是A。例4.2.4有三個進程P1、P2和P3并發(fā)工作。進程P1需要資源S3和S1;進程P2需用資源S1和S2;進程P3需用資源S2和S3,回答:(1)若
6、對資源分配不加限制,會發(fā)生什么情況?為什么?(2)為保證進程正確地工作,應(yīng)采用怎樣的資源分配策略?為什么?解(1)若對進程間的資源分配不加限制,可能會發(fā)生死鎖,因為這樣的分配可能導(dǎo)致進程間的“循環(huán)等待”,并且這種狀態(tài)將永遠持續(xù)下去。進程P1、P2和P3分別獲得資源S3、S1和S2,后再繼續(xù)申請資源時都要等待。進程和資源會形成如下環(huán)路:圖4.3進程資源分配圖(1)為保證系統(tǒng)處于安全狀態(tài),應(yīng)采用下面列舉3種資源分配策略:1)采用靜態(tài)分配:由于執(zhí)行前已獲得所需的全部資源,故不會出現(xiàn)占有資源又等待的資源的現(xiàn)象(或不會出現(xiàn)
7、循環(huán)等待資源現(xiàn)象)。2)采用資源按序分配,避免出現(xiàn)循環(huán)等待資源的現(xiàn)象。3)采用銀行家算法進行分配資源前的檢測。例4.2.5進程調(diào)度又稱為低級調(diào)度,其主要功能是()。A.選擇一個作業(yè)調(diào)入內(nèi)存B.選擇一個主存中的進程調(diào)出到外存C.選擇一個外存中的進程調(diào)入到主存D.將一個就緒的進程投入運行解本題考核進程調(diào)度的基本功能,相關(guān)概念有:(1)選擇一個作業(yè)調(diào)入內(nèi)存是批處理系統(tǒng)的作業(yè)調(diào)度所實現(xiàn)的功能。(2)選擇一個主存中的進程調(diào)出到外存是進程換出的功能。(3)選擇一個外存中的進程調(diào)入到主存是進程的換入功能,是中級調(diào)度的組成部分。
8、(4)將進程投入運行是進程調(diào)度的功能。本題的正確答案應(yīng)為D。例4.2.6若進程P一旦被喚醒就能夠投入運行,系統(tǒng)可能為()。A.在分時系統(tǒng)中,進程P的優(yōu)先級最高B.搶占調(diào)度方式,就緒隊列上的所有進程的優(yōu)先級皆比P的低C.就緒隊列為空隊列D.搶占調(diào)度方式,P的優(yōu)先級高于當(dāng)前運行的進程解本題考核一個進程被調(diào)度的條件,相關(guān)概念有:(1)在分時系統(tǒng)中,進程調(diào)度是按照輪轉(zhuǎn)方式進行的。