版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)教程南郵正式版習(xí)題解答第三章 進程管理與調(diào)度習(xí)題1、什么是多道程序設(shè)計?多道程序設(shè)計利用了系統(tǒng)與外圍設(shè)備的并行工作能力,從而提高工作效率,具體表現(xiàn)在哪些方面?答:讓多個計算問題同時裝入一個計算機系統(tǒng)的主存儲器并行執(zhí)行,這種設(shè)計技術(shù)稱“ 多道程序設(shè)計 ”,這種計算機系統(tǒng)稱“多道程序設(shè)計系統(tǒng)” 或簡稱“多道系統(tǒng)”。在多道程序設(shè)計的系統(tǒng)中,主存儲器中同時存放了多個作業(yè)的程序。為避免相互干擾,必須提供必要的手段使得在主存儲器中的各道程序只能訪問自己的區(qū)域。 提高工作效率,具體表現(xiàn)在:· 提高了處理器的利用率; · 充分利用外圍設(shè)備資源:計算機系統(tǒng)配置多種外圍設(shè)備,采用多道程
2、序設(shè)計并行工作時,可以將使用不同設(shè)備的程序搭配在一起同時裝入主存儲器,使得系統(tǒng)中各外圍設(shè)備經(jīng)常處于忙碌狀態(tài),系統(tǒng)資源被充分利用; · 發(fā)揮了處理器與外圍設(shè)備以及外圍設(shè)備之間的并行工作能力; 從總體上說,采用多道程序設(shè)計技術(shù)后,可以有效地提高系統(tǒng)中資源的利用率,增加單位時間內(nèi)的算題量,從而提高了吞吐率。 2、請描述進程的定義和屬性。答:進程是具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,是系統(tǒng)進行資源分配、調(diào)度和保護的獨立單位。進程的屬性有:結(jié)構(gòu)性共享性動態(tài)性獨立性制約性并發(fā)性3、請描述進程與程序的區(qū)別及關(guān)系。答:程序是靜止的,進程是動態(tài)的。進程包括程序和程序處理的對象(數(shù)據(jù)集)
3、,進程能得到程序處理的結(jié)果。進程和程序并非一一對應(yīng)的,一個程序運行在不同的數(shù)據(jù)集上就構(gòu)成了不同的進程。通常把進程分為“系統(tǒng)進程”和“用戶進程”兩大類,把完成操作系統(tǒng)功能的進程稱為系統(tǒng)進程,而完成用戶功能的進程則稱為用戶進程。 4、進程有哪三種基本狀態(tài)?三種進程狀態(tài)如何變化?答:通常,根據(jù)進程執(zhí)行過程中不同時刻的狀態(tài),可歸納為三種基本狀態(tài): · 等待態(tài) :等待某個事件的完成; · 就緒態(tài) :等待系統(tǒng)分配處理器以便運行; · 運行態(tài) :占有處理器正在運行。 進程在執(zhí)行中狀態(tài)會不斷地改變,每個進程在任何時刻總是處于上述三種基本狀態(tài)的某一種基本狀態(tài),進程狀態(tài)之間轉(zhuǎn)換關(guān)系:
4、運行態(tài)等待態(tài) 往往是由于等待外設(shè),等待主存等資源分配或等待人工干預(yù)而引起的。 等待態(tài)就緒態(tài) 則是等待的條件已滿足,只需分配到處理器后就能運行。 運行態(tài)就緒態(tài) 不是由于自身原因,而是由外界原因使運行狀態(tài)的進程讓出處理器,這時候就變成就緒態(tài)。例如時間片用完,或有更高優(yōu)先級的進程來搶占處理器等。 就緒態(tài)運行態(tài) 系統(tǒng)按某種策略選中就緒隊列中的一個進程占用處理器,此時就變成了運行態(tài)。 5、進程控制塊是什么,有何作用?通常進程控制塊包含哪些信息?答:進程控制塊(Process Control Block,簡稱PCB),是操作系統(tǒng)為進程分配的用于標志進程,記錄各進程執(zhí)行情況的。進程控制塊是進程存在的標志,它
5、記錄了進程從創(chuàng)建到消亡動態(tài)變化的狀況,進程隊列實際也是進程控制塊的鏈接。操作系統(tǒng)利用進程控制塊對進程進行控制和管理。 ·標志信息 含唯一的進程名 ·說明信息 有進程狀態(tài)、等待原因、進程程序存放位置和進程數(shù)據(jù)存放位置 ·現(xiàn)場信息 包括通用、控制和程序狀態(tài)字寄存器的內(nèi)容 ·管理信息 存放程序優(yōu)先數(shù)和隊列指針 進程控制塊的作用有: · (1)記錄進程的有關(guān)信息,以便操作系統(tǒng)的進程調(diào)度程序?qū)M程進行調(diào)度。這些信息包括標志信息、說明信息、現(xiàn)場信息和管理信息等; · (2)標志進程的存在,進程控制塊是進程存在的唯一標志 6、什么是可再入程序?答:
6、(1) 什么是 可再入程序 。 一個能被 多個用戶同時調(diào)用 的程序稱做" 可再入 "的程序。 (2) 可再入程序的性質(zhì)。 · 可再入程序必須是純代碼,在執(zhí)行時自身不改變; · 一個可再入程序要求調(diào)用者提供工作區(qū),以保證程序以同樣方式為各用戶服務(wù)。 編譯程序 和 操作系統(tǒng)程序 通常都是"可再入"程序,能同時被不同用戶調(diào)用而構(gòu)成不同的進程。 7、闡述進程調(diào)度的常用算法:先來先服務(wù)、優(yōu)先數(shù)法、輪轉(zhuǎn)法。答:· 先來先服務(wù)調(diào)度算法 該算法按進程進入就緒隊列的先后次序選擇可以占用處理器的進程。 · 優(yōu)先數(shù)調(diào)度算法 對每個進程確
7、定一個優(yōu)先數(shù),該算法總是讓優(yōu)先數(shù)最高的進程先使用處理器。對具有相同優(yōu)先數(shù)的進程,再采用先來先服務(wù)的次序分配處理器。系統(tǒng)常以任務(wù)的緊迫性和系統(tǒng)效率等因素確定進程的優(yōu)先數(shù)。進程的優(yōu)先數(shù)可以固定的,也可隨進程執(zhí)行過程動態(tài)變化。 一個高優(yōu)先數(shù)的進程占用處理器后,系統(tǒng)處理該進程時有兩種方法,一是"非搶占式",另一種是"可搶占式"。前者是此進程占用處理器后一直運行到結(jié)束,除非本身主動讓出處理器,后者則是嚴格保證任何時刻總是讓優(yōu)先數(shù)最高的進程在處理器上運行。 · 時間片輪轉(zhuǎn)調(diào)度法 把規(guī)定進程一次使用處理器的最長時間稱為"時間片"。時間片輪
8、轉(zhuǎn)調(diào)度算法讓就緒進程按就緒的先后次序排成隊列,每次總選擇該隊列中第一個進程占用處理器,但規(guī)定只能使用一個時間片,如該進程尚未完成,則排入隊尾,等待下一個供它使用的時間片。各個進程就這樣輪轉(zhuǎn)運行。時間片輪轉(zhuǎn)算法經(jīng)常用于分時操作系統(tǒng)中。 8、程序狀態(tài)字包含哪些主要內(nèi)容?答:(1)程序基本狀態(tài) (2)中斷碼 (3)中斷屏蔽位9、比較進程調(diào)度與作業(yè)調(diào)度的不同點。答:1)作業(yè)調(diào)度是宏觀調(diào)度,它決定了哪一個作業(yè)能進入主存。進程調(diào)度是微觀調(diào)度,它決定各作業(yè)中的哪一個進程占有中央處理機。(或)作業(yè)調(diào)度是高級調(diào)度,它位于操作系統(tǒng)的作業(yè)管理層次。進程調(diào)度是低級調(diào)度,它位于操作系統(tǒng)分層結(jié)構(gòu)的最內(nèi)層。(2)作業(yè)調(diào)度是
9、選符合條件的收容態(tài)作業(yè)裝入內(nèi)存。進程調(diào)度是從就緒態(tài)進程中選一個占用處理機。10、C程序說明系統(tǒng)調(diào)用fork()的應(yīng)用。請在處填入有關(guān)父、子進程的正確語句: * Example to demonstrate the function of System Call fork * main() int i; if(i)0 printf(“”) ; else printf(“”) ; printf(“”) ; 執(zhí)行本程序時,子進程在標準輸出上打印以下結(jié)果: It is child process Exit 父進程在標準輸出上打印以下結(jié)果: It is Parent process Exit11、單道批
10、處理環(huán)境下有5個作業(yè),各作業(yè)進入系統(tǒng)的時間和估計運行時間如下表所示:作業(yè)進入系統(tǒng)時間估計運行時間/分鐘18:004028:203038:301249:001859:105 (1) 如果應(yīng)用先來先服務(wù)的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:004028:203038:301249:001859:105作業(yè)平均周轉(zhuǎn)時間T= (2)如果應(yīng)用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:004028:203038:301249:001859:105作業(yè)
11、平均周轉(zhuǎn)時間T= 答:1 (1) 作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:409:105038:30129:109:225249:00189:229:404059:1059:409:4535作業(yè)平均周轉(zhuǎn)時間T= 43.4217 (2)作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:529:226238:30128:408:522249:00189:279:454559:1059:229:2717作業(yè)平均周轉(zhuǎn)時間T= 37.218612、有一個
12、具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的非搶式調(diào)度算法,進程調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法,在下表所示的作業(yè)序列中,作業(yè)優(yōu)先數(shù)即為進程優(yōu)先數(shù),優(yōu)先數(shù)越小優(yōu)先級越高。作業(yè)名 到達時間 估計運行時間 優(yōu)先數(shù)A 10:00 40分 5B 10:20 30分 3C 10:30 50分 4D 10:50 20分 6(1)列出所有作業(yè)進入內(nèi)存時間及結(jié)束時間。(2)計算平均周轉(zhuǎn)時間。答:每個作業(yè)運行將經(jīng)過兩個階段:作業(yè)調(diào)度(SJF算法)和進程調(diào)度(優(yōu)先數(shù)搶占式)。另外,批處理最多容納2道作業(yè),更多的作業(yè)將在后備隊列等待。進程就緒隊列作業(yè)后備隊列時間(分鐘) 10:00 10:20 10:3
13、0 10:50 11:10 12:00 12:20A B A C DA D D C CPU(1) 10:00,作業(yè)A到達并投入運行。(2) 10:20,作業(yè)B到達且優(yōu)先權(quán)高于作業(yè)A,故作業(yè)B投入運行而作業(yè)A在就緒隊列等待。(3) 10:30,作業(yè)C到達,因內(nèi)存中已有兩道作業(yè),故作業(yè)C進入作業(yè)后備隊列等待。(4) 10:50,作業(yè)B運行結(jié)束,作業(yè)D到達,按SJF短作業(yè)優(yōu)先算法,作業(yè)D被裝入內(nèi)存進入就緒隊列。而由于作業(yè)A的優(yōu)先級高于作業(yè)D,故作業(yè)A投入運行。(5) 11:10,作業(yè)A運行結(jié)束,作業(yè)C被調(diào)入內(nèi)存,且作業(yè)C的優(yōu)先級高于作業(yè)D,故作業(yè)C投入運行。(6) 12:00,作業(yè)C運行結(jié)束,作業(yè)D
14、投入運行。(7) 12:20,作業(yè)D運行結(jié)束。作業(yè) 進入內(nèi)存時間 運行結(jié)束時間 A 10:00 11:10 B 10:20 10;50 C 11:10 12:00 D 10:50 12:20各作業(yè)周轉(zhuǎn)時間為:作業(yè)A 70,作業(yè)B 30,作業(yè)C 90,作業(yè)D 90。平均作業(yè)周轉(zhuǎn)時間為70分鐘。第四章 并發(fā)進程的同步與互斥1、進程間同步和互斥的含義是什么?答:同步:并發(fā)進程之間存在的相互制約和相互依賴的關(guān)系?;コ猓喝舾蛇M程共享一資源時,任何時刻只允許一個進程使用。2、用文字描述銀行家算法的基本思想? 答:銀行家算法的基本思想是:將系統(tǒng)中的所有資源比做銀行家的資金,每進行一次資源的分配,銀行家都要從
15、當前的資源分配情況出發(fā),計算這種分配方案的安全性,如果是安全的,則進行分配,否則選擇其它可能的分配方案。這樣,每次分配都計算安全性,從而可以避免死鎖的發(fā)生。3、簡述死鎖的防止與死鎖的避免的區(qū)別。答:死鎖的防止是系統(tǒng)預(yù)先確定一些資源分配策略,進程按規(guī)定申請資源,系統(tǒng)按預(yù)先規(guī)定的策略進行分配,從而防止死鎖的發(fā)生。而死鎖的避免是當進程提出資源申請時系統(tǒng)測試資源分配,僅當能確保系統(tǒng)安全時才把資源分配給進程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖。4、試說明資源的靜態(tài)分配策略能防止死鎖的原因。答:資源靜態(tài)分配策略要求每個進程在開始執(zhí)行前申請所需的全部資源,僅在系統(tǒng)為之分配了所需的全部資源后,該進程才開
16、始執(zhí)行。這樣,進程在執(zhí)行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一“占有并等待條件”,從而防止死鎖的發(fā)生。5、有三個進程P1,P2和P3并發(fā)工作。進程P1需用資源S3和S1;進程P2需用資源S1和S2;進程P3需用資源S2和S3?;卮穑?1)若對資源分配不加限制,會發(fā)生什么情況?為什么?(2)為保證進程正確工作,應(yīng)采用怎樣的資源分配策略?為什么?答:.(1)可能會發(fā)生死鎖例如:進程P1,P2和P3分別獲得資源S3,S1和S2后再繼續(xù)申請資源時都要等待(2分),這是循環(huán)等待。(或進程在等待新源時均不釋放已占資源)(2)可有幾種答案:A.采用靜態(tài)分配由于執(zhí)行前已獲得所需的全部資源,故不會
17、出現(xiàn)占有資源又等待別的資源的現(xiàn)象(或不會出現(xiàn)循環(huán)等待資源現(xiàn)象)?;駼.采用按序分配不會出現(xiàn)循環(huán)等待資源現(xiàn)象?;駽.采用銀行家算法因為在分配時,保證了系統(tǒng)處于安全狀態(tài)。、某車站售票廳,任何時刻最多可容納20名購票者進入,當售票廳中少于20名購票者時,則廳外的購票者可立即進入,否則需在外面等待。若把一個購票者看作一個進程,請回答下列問題:(1)用PV操作管理這些并發(fā)進程時,應(yīng)怎樣定義信號量,寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應(yīng)執(zhí)行的PV操作填入適當,以保證進程能夠正確地并發(fā)執(zhí)行。COBEGINPROCESSPI(I=1,2,) begin;進入售票廳;購票;退出
18、; end;COEND(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。答:.(1)定義一信號量S,初始值為20。意義:S>0S的值表示可繼續(xù)進入售 票廳的人數(shù)S=0表示售票廳中已有20名顧 客(購票者)S<0|S|的值為等待進入售票 廳的人數(shù)(2)P(S)進入售票廳;購票;退出;V(S)(3)S的最大值為20 S的最小值為20n注:信號量的符號可不同(如寫成t),但使用時應(yīng)一致(即上述的s全應(yīng)改成t)。、假定系統(tǒng)有三個并發(fā)進程read, move和print共享緩沖器B1和B2。進程read負責(zé)從輸入設(shè)備上讀信息,每讀出一個記錄后把它存放到緩沖器B1中。進
19、程move從緩沖器B1中取出一記錄,加工后存入緩沖器B2。進程print將B2中的記錄取出打印輸出。緩沖器B1和B2每次只能存放一個記錄。要求三個進程協(xié)調(diào)完成任務(wù),使打印出來的與讀入的記錄的個數(shù),次序完全一樣。請用PV操作,寫出它們的并發(fā)程序。答:begin SR,SM1,SM2,SP:semaphore;B1,B2:record;SR:=1;SM1:=0;SM2:=1;SP:=0cobeginprocess readX:record;begin R: (接收來自輸入設(shè)備上一個記錄)X:=接收的一個記錄;P(SR);B1:=X;V(SM1);goto R;end;Process moveY:r
20、ecord;beginM:P(SM1);Y:=B1;V(SR)加工 YP(SM2);B2:=Y;V(SP);goto M;end;Process printZ:record;beginP:P(SP);Z:=B2;V(SM2)打印Zgoto P;end;coend;end;、某系統(tǒng)中有10臺打印機,有三個進程P1,P2,P3分別需要8臺,7臺和4臺。若P1,P2,P3已申請到4臺,2臺和2臺。試問:按銀行家算法能安全分配嗎?請說明分配過程。答:系統(tǒng)能為進程P3分配二臺打印機。因為盡管此時10臺打印機已分配給進程P1 4臺,P22臺和P34臺,全部分配完,但P3已分配到所需要的全部4臺打印機,它不
21、會對打印機再提出申請,所以它能順利運行下去,能釋放占用的4臺打印機,使進程P1,P2均可能獲得乘余的要求4臺和5臺,按銀行家算法是安全的。、有兩個用戶進程A和B,在運行過程中都要使用系統(tǒng)中的一臺打印機輸出計算結(jié)果。(1) 試說明A、B兩進程之間存在什么樣的制約關(guān)系?(2) 為保證這兩個進程能正確地打印出各自的結(jié)果,請用信號量和P、V操作寫出各自的有關(guān)申請、使用打印機的代碼。要求給出信號量的含義和初值。答:(1) A、B兩進程之間存在互斥的制約關(guān)系。因為打印機屬于臨界資源,必須一個進程使用完之后另一個進程才能使用。(2)mutex:用于互
22、斥的信號量,初值為1。 進程A 進程B . . . . P(mutex) P(mutex) 申請打印機 申請打印機 使用打印機 使用打印機 V(mutex) V(mutex)試以生產(chǎn)者消費者問題說明進程同步問題的實質(zhì)。答:一個生產(chǎn)者,一個消費者和一個產(chǎn)品之間關(guān)系是典型的進程同步問題。設(shè)信號量S為倉庫內(nèi)產(chǎn)品,P- V操作配對進行缺一不可。生產(chǎn)者進程將產(chǎn)品放人倉庫后通知消費者可用;消費者進程在得知倉庫有產(chǎn)品時取走,然后告訴生產(chǎn)者可繼續(xù)生產(chǎn)。、請描述產(chǎn)生死鎖的四個必要條件。答:互斥使用(資源獨占)一個資源每次只能給一個進程使用不可強占(不可剝奪)資源申請者不能強行的從資源占有者手中奪取資源,資源只能
23、由占有者自愿釋放請求和保持(部分分配,占有申請)一個進程在申請新的資源的同時保持對原有資源的占有(只有這樣才是動態(tài)申請,動態(tài)分配)循環(huán)等待存在一個進程等待隊列 P1 , P2 , , Pn, 其中P1等待P2占有的資源,P2等待P3占有的資源,Pn等待P1占有的資源,形成一個進程等待環(huán)路、兩個并發(fā)執(zhí)行的進程A和B的程序如下: 進程ARepeatN=N+5;Until false; 進程BRepeat打印N的值;N=0;Until false;其中N為整數(shù),初值為4。若進程A先執(zhí)行了三個循環(huán)后,進程A和進程B又并發(fā)執(zhí)行了一個循環(huán),寫出可能出現(xiàn)的打印值。正確的打印值應(yīng)該是多少?
24、請用P、V操作進行管理,使進程A和B并發(fā)執(zhí)行時不會出現(xiàn)與時間有關(guān)的錯誤。 答:因為N初值為4,若進程A先執(zhí)行了三個循環(huán),此時N的值為19。當進程A和進程B并發(fā)執(zhí)行時可能會有如下兩種執(zhí)行次序,即進程A先執(zhí)行一次循環(huán),然后再進程B執(zhí)行一次循環(huán),此時打印的是正確值24,執(zhí)行后N中的值為0。但若進程B先執(zhí)行一次循環(huán),然后再進程A執(zhí)行一次循環(huán),則打印的值是19,執(zhí)行后N中的值是5。這是錯誤的,即發(fā)生了與時間有關(guān)的錯誤。用P、V操作進行管理,使進程A和B并發(fā)時不會出現(xiàn)與時間有關(guān)的錯誤的程序如下:(S為互斥信號量,初值為1),進程ARepeatP(S);N=N+5;V(S);Until fals
25、e; 進程BRepeatP(S);打印N的值;N=0;V(S);Until false;、四個進程P0,P1,P2,P3和四個信箱M0,M1,M2,M3進程間借助相鄰的信箱傳遞消息: 每次從 中取出一條消息,經(jīng)加工送入 中。其中M0,M1,M2,M3分別設(shè)有3,3,2,2個格子,每個格子放一條消息,初始時,M0裝滿了三條消息,其余為空。寫出使用信號量實現(xiàn)進程 (i=0,1,2,3)同步及互斥的流程。答:mutex0 mutex3 : 分別用于控制互斥訪問M0 M 3,初值為1。full0 full3 : 分別用于控制同步訪問M0 M3 ,其中full0 初值為
26、3,full1 full3 初值為0,表示信箱中消息條數(shù)。empty0 empty3 : 分別用于同步控制對M0 M3的訪問。Empty0初值為0,empty2 empty3初值為2,empty1初值為3,分別用于表示信箱中空格子個數(shù)。另用send ( Mi , message )表示將消息送到(Mi mod 4)號信箱中;而用receive ( Mi,message )表示接收已存在于( Mi mod 4 )中的消息。則使用信號量實現(xiàn)進程Pi (i = 0 , 1 ,2 ,3 )同步及互斥的流程如下:mutex0 , m utex 1, m utex2 , m utex3 : semapho
27、re ;full0 , ful l1 , ful l2 , ful l3 : semaphore ;empty0 , em pty1 , em pty2 , em pty3 : semaphore ;begin mutex0 : = 1 ; mutex1 : = 1 ; mutex2 : = 1 ; mutex : = 1 ; full0 : = 3 ; full1 : = 0 ; full2 : = 0 ; fu
28、ll3 : = 0 ; empty0 : = 0 ; empty1 : = 3 ; empty2 : = 2 ; empty3 : = 2 ; Parbegin P0:beginrepeat P ( mutex0 ) ;P ( full0 ) ;Receive ( M0,message);V (empty0 ) ;Processing the message until finish
29、ed;P ( mutex1 ) ;P ( empty1 ) ;Send ( M1,message ) ;V ( full1 ) ;V ( mutex1 ) ; Until false ;
30、 end ; P1:可類似于P0實現(xiàn)之; P2:可類似于P0實現(xiàn)之; P3:可類似于P0實現(xiàn)之; Parend ; End;、設(shè)系統(tǒng)中僅有一類數(shù)量為M的獨占型資源,系統(tǒng)中N個進程競爭該類資源,其中各進程對該類資源的最大需求
31、量為W。當M、N、W分別取下列值時,試判斷哪些情況會發(fā)生死鎖?為什么? M=2,N=2,W=1 M=3,N=2,W=2 M=3,N=2,W=3 M=5,N=3,W=2 M=6,N=3,W=3答:可能會發(fā)生死鎖。只要一個進程占用了少于3個獨占型資源而另一個進程占用了其余的獨占型資源,兩個進程都會相互處于等待對方進程釋放資源的狀態(tài)。也可能會發(fā)生死鎖。當每個進程都分配了兩個資源時,3個進程都會彼此等待。、假定具有5個進程的進程集合PP0,P1,P2,P3,P4,系統(tǒng)中有三類資源A,B和C。其中A類資源有10個,B類資源有5個,C類資源有7個。假定
32、在某時刻有如下狀態(tài):Allocation Max Available A B C A
33、160; B C A B C P0 0 1 0 7 5 3
34、0; 3 3 2 P1 2 0 0 3 2 2
35、0; P2 3 0 2 9 0 2 P3 2 1 1
36、160; 2 2 2 P4 0 0 2 4 3 3 試給出Need,并說明當前系統(tǒng)是否處于安全狀態(tài),如果是,給出安全序列。如果不是,說明理由。答:當前系統(tǒng)處于
37、安全狀態(tài),安全序列如下求解:work = Available = (3 , 3 , 2 ) 尋找Needj <= work = ( 3 , 3 , 2 ) ( j = 0 , 1 , 2 , 3 , 4) j = 1 Need1 = (1 ,2 ,3 ) < = (3 , 3 , 2
38、) work : = (3 , 3 , 2 ) + (2 ,0 ,0 ) = (5 , 3 , 2 ) 尋找Needj <= work = ( 5 , 3 , 2 ) ( j = 0 , 2 , 3 , 4) j =
39、3 Need3 = (0 ,1 ,1 ) < = (5 , 3 , 2 ) work : = (5 , 3 , 2 ) + (2 ,1 ,1 ) = (7 , 4 , 3 ) 尋找Needj <= work = (7 , 4 , 3 ) ( j = 0 , 2 , 4) &
40、#160; j = 4 Need4 = (4 ,3 ,1 ) < = (7 , 4 , 3 ) work : = (7 , 4 , 3 ) + (0 ,0 ,2 ) = (7 , 4 , 5) 尋找Needj <= work = (7 , 4 , 5) (j
41、 = 0 , 2 ) j = 2 Need2 = (6 ,0 ,0 ) < = (7 , 4 , 5 ) work : = (7 , 4 , 5 ) + (3 ,0 ,2 ) = (10 , 4 , 7) 尋找Needj <= w
42、ork = (10 , 4 , 7) ( j = 0 ) j = 0 work : = (10 , 4 , 7 ) + (0 ,1 ,0 ) = (10 , 5 , 7) 所以安全序列為P1,P3,P4,P2,P0。、有一閱覽室,讀者進入時必須先在一張登記表上登記。該表中每個表項代表閱覽室中的一個座位。讀者離開時要消掉其登記信息。閱覽室共有50個座位。登記表每次僅允許一位讀者進行登
43、記或注銷。讀者登記時,發(fā)現(xiàn)登記表滿,他在閱覽室外等待,直至有空位再登記進入。試用類Pascal語言和P、V操作,描述讀者行為。答:Begin initial value of S is 50Parbegin Begin register P (S) ; Register and enter into the reading room ; End; Begin leave off R
44、egister off and leave ; V (S) ;End ; End ; 、考慮一個共有150個存儲單元的系統(tǒng),如下分配給三個進程,P1最大需求70,己占有25;P2最大需求60,己占有40;P3最大需求60,己占有45。使用銀行家算法,以確定下面的任何一個請求是否安全。(1)P4進程到達,P4最大需求60,最初請求25個。(2)P4進程到達,P4最大需求60,最初請求35。如果安全,找出所有的安全序列;如果不安全,給出結(jié)果分配情況。答:(1)由于系統(tǒng)目前還有150-25-40-4
45、5=40個單元,P4進程到達,把25個單元分給它。這時系統(tǒng)還余15個單元,可把15個單元分給P3,它執(zhí)行完后會釋放60個單元。于是可供P1(還要45個單元),P2(還要20個單元),P4(還要35個單元)任何一個執(zhí)行。安全序列為: P1,P2,P3,P4,P3,P1,P2,P4 P1,P2,P3,P4,P3,P1,P4,P2 P1,P2,P3,P4,P3,P2,P1,P4 P1,P2,P3,P4,P3,P2,P4,P1 P1,P2,P3,P4,P3,P4,P1,P2 P1,P2,P3,P4,P3,P4,P2,P1(2)P4進程到達,P4最大需求60,最初請求35。如果把35個單元分給P4,系統(tǒng)還余5個單元,不再能滿足任何一個進程的需求,系統(tǒng)進入不安全狀態(tài)。、在一個盒子里,混裝了數(shù)量相等的黑白圍棋子?,F(xiàn)在用自動分揀系統(tǒng)把黑子、白子分開,設(shè)分揀系統(tǒng)有二個進程P1和P2,其中P1揀白子;P2揀黑子。規(guī)定每個進程每次揀一子;當一個進程在揀時,不允許另一個進程去揀;當一個進程揀了一子時,必須讓另一個進程去揀。試寫出兩進程P1和P2能并發(fā)正確執(zhí)行的程序。答:實質(zhì)上是兩個進程的同步問題,設(shè)信號量S1和S2分別表示可揀白子和黑子,不失一般性,若令先揀白
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機硬件銷售合同管理與風(fēng)險防范考核試卷
- 窗簾面料的紅外線透過率考核試卷
- 船舶維修過程中的職業(yè)健康安全管理考核試卷
- 隧道機械化施工中的勞動保護考核試卷
- 胃小彎藥物代謝動力學(xué)研究-洞察分析
- 循環(huán)經(jīng)濟模式下的堿業(yè)優(yōu)化-洞察分析
- 貨運火車站財務(wù)管理與成本控制考核試卷
- 音頻修復(fù)中的自適應(yīng)算法-洞察分析
- 營養(yǎng)干預(yù)肥胖患者心理因素-洞察分析
- 山東省濱州市2024-2025學(xué)年高三上學(xué)期1月期末語文試題及答案解析
- 2024版房屋買賣合同范例:房屋質(zhì)量保證條款3篇
- 借用模具合同范例
- 測繪地理信息與地圖編制作業(yè)指導(dǎo)書
- 實驗診斷學(xué)練習(xí)題庫(附參考答案)
- 網(wǎng)絡(luò)加速器提供商服務(wù)合同
- 2024版新能源汽車充電站電線電纜采購合同2篇
- 轉(zhuǎn)讓押金協(xié)議合同范例
- 國家藥包材檢驗標準培訓(xùn)
- 腫瘤科危急重癥護理
- 江蘇省蘇州市2024-2025學(xué)年第一學(xué)期八年級英語期末模擬試卷(一)(含答案)
- 2024-2030年中國加速器行業(yè)發(fā)展趨勢及運營模式分析報告版
評論
0/150
提交評論