版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章處理器管理習(xí)題
1.1選擇題
1、下列選項(xiàng)中,不屬于進(jìn)程關(guān)鍵要素的是(D)<?
A.程序B.數(shù)據(jù)和棧
C.進(jìn)程控制塊D.原語
2、操作系統(tǒng)管理程序運(yùn)行的狀態(tài),具備較高的特權(quán)級別,稱為(C
A.用戶態(tài)B.目態(tài)
C.管態(tài)D.普通態(tài)
3、在操作系統(tǒng)中,PSW的中文全稱是(A)o
A.程序狀態(tài)字B.進(jìn)程標(biāo)識符
C.作業(yè)控制塊D.進(jìn)程控制塊
4、當(dāng)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件時(shí),CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后轉(zhuǎn)去執(zhí)行相
應(yīng)事件的處理程序,處理完成后返回?cái)帱c(diǎn),繼續(xù)執(zhí)行被打斷的進(jìn)程,這一過程稱為(D)。
A.作業(yè)調(diào)度B.頁面置換
C.磁盤調(diào)度D.中斷
5、以下關(guān)于進(jìn)程的說法,錯(cuò)誤的是(B)。
A.進(jìn)程是程序在處理器上的一次執(zhí)行過程
B.一個(gè)進(jìn)程是由若干作業(yè)組成的
C.在線程出現(xiàn)后,進(jìn)程仍然是操作系統(tǒng)中資源分配的基本單位
D.進(jìn)程具有創(chuàng)建其他進(jìn)程的功能
6、在下述關(guān)于父進(jìn)程和子進(jìn)程的敘述中,正確的是(D)<.
A.父進(jìn)程創(chuàng)建了子進(jìn)程,因此父進(jìn)程執(zhí)行完了,子進(jìn)程才能運(yùn)行
B.子進(jìn)程執(zhí)行完了,父進(jìn)程才能運(yùn)行
C.撤消子進(jìn)程時(shí),應(yīng)該同時(shí)撤消父進(jìn)程
D.一個(gè)子進(jìn)程只有一個(gè)父進(jìn)程,但一個(gè)父進(jìn)程可以有多個(gè)子進(jìn)程
7、任何兩個(gè)并發(fā)進(jìn)程之間(D)。
A.一定存在互斥關(guān)系B.一定存在同步關(guān)系
C.一定彼此獨(dú)立無關(guān)D.可能存在同步或互斥關(guān)系
8、調(diào)度程序每次把CPU分配給就緒隊(duì)列首進(jìn)程使用一個(gè)時(shí)間片,就緒隊(duì)列中的每個(gè)進(jìn)程輪
流地運(yùn)行一個(gè)時(shí)間片。當(dāng)這個(gè)時(shí)間片結(jié)束時(shí),強(qiáng)迫一個(gè)進(jìn)程讓出處理器,讓它排列到就緒隊(duì)
列的尾部,等候下一輪調(diào)度。這種進(jìn)程調(diào)度方式稱為(D)調(diào)度,
A.最高響應(yīng)比優(yōu)先B.先來先服務(wù)
C.短作業(yè)優(yōu)先D.時(shí)間片輪轉(zhuǎn)
9、若當(dāng)前進(jìn)程因時(shí)間片用完而讓出處理器時(shí),該進(jìn)程應(yīng)轉(zhuǎn)變?yōu)椋ˋ)狀態(tài)。
A.就緒B.等待
C.運(yùn)行D.完成
10、在一個(gè)單核單處理器的系統(tǒng)中,若有3個(gè)進(jìn)程,且假定當(dāng)前時(shí)刻有一個(gè)進(jìn)程處于運(yùn)行態(tài),
則處于就緒態(tài)的進(jìn)程最多有(B)個(gè)。
A.1B.2
C.3D.4
11、下列作業(yè)調(diào)度算法中,(D)與作業(yè)的運(yùn)行時(shí)間和等待時(shí)間有關(guān)。
A.先來先服務(wù)算法B.短作業(yè)優(yōu)先算法
C.均衡調(diào)度算法D.最高響應(yīng)比調(diào)度算法
12、一作業(yè)8:00到達(dá)系統(tǒng),估計(jì)運(yùn)行時(shí)間為1小時(shí),若9:00開始執(zhí)行該作業(yè),其響應(yīng)比
是(A
A.2B.1
C.3D.0.5
13、臨界區(qū)是指并發(fā)進(jìn)程中訪問共享變量的(D)段。
A.管理信息B.信息存儲(chǔ)
C.數(shù)據(jù)D.程序
14、設(shè)與某資源關(guān)聯(lián)的信號量初值為3,當(dāng)前值為若M表示該資源的可用個(gè)數(shù),N表示
等待該資源的進(jìn)程數(shù),則M、N分別是(A)。
A.0、1B.1、0
C.1、2D.2、0
15>設(shè)某個(gè)信號量S的初值為5。若執(zhí)行某個(gè)V(S)時(shí),發(fā)現(xiàn)(A)時(shí),則喚醒相應(yīng)等待
隊(duì)列中等待的一個(gè)進(jìn)程。
A.S的值小于或等于0B.S的值大于或等于5
C.S的值小于5D.S的值大于5
16、以下不屬于產(chǎn)生死鎖原因的是(B
A.因?yàn)橄到y(tǒng)資源不足
B.采用的進(jìn)程調(diào)度算法效率低下
C.進(jìn)程運(yùn)行推進(jìn)的順序不合適
D.資源分配不當(dāng)
17、在多進(jìn)程的并發(fā)系統(tǒng)中,不會(huì)因競爭(C)而產(chǎn)生死鎖。
A.打印機(jī)B.磁帶機(jī)
C.CPUD.磁盤
18、當(dāng)每類資源只有一個(gè)資源實(shí)例時(shí),下列說法中不正確的是(C)o
A.有環(huán)必死鎖B.死鎖必有環(huán)
C.有環(huán)不一定死鎖D.死鎖進(jìn)程一定全在環(huán)中
19、有關(guān)死鎖的論述中,(C)是正確的。
A.系統(tǒng)中僅有一個(gè)進(jìn)程進(jìn)入了死鎖狀態(tài)
B.多個(gè)進(jìn)程由于競爭CPU而進(jìn)入死鎖
C.多個(gè)進(jìn)程由于競爭互斥使用的資源又互不相讓而進(jìn)入死鎖
D.由于進(jìn)程調(diào)用V操作而造成死鎖
20、進(jìn)程.資源分配圖是用于(D)。
A.死鎖的預(yù)防B.解決死鎖的靜態(tài)方法
C.死鎖的避免D.死鎖的檢測與解除
1.2填空題
1、Linux操作系統(tǒng)按照事件來源和實(shí)現(xiàn)手段將中斷分為(硬中斷)、(軟中斷)o
2、系統(tǒng)調(diào)用是通過(中斷)來實(shí)現(xiàn)的;發(fā)生系統(tǒng)調(diào)用,處理器的狀態(tài)常從目態(tài)變?yōu)楣軕B(tài)。
3、在Linux系統(tǒng)中,創(chuàng)建進(jìn)程的原語是(fork)。
4、進(jìn)程的基本三狀態(tài)模型并不足夠描述進(jìn)程的真實(shí)的情況,進(jìn)程的五狀態(tài)模型增加了兩個(gè)
狀態(tài),包括(新建狀態(tài))和(終止?fàn)顟B(tài))o
5、系統(tǒng)中進(jìn)程存在的唯一標(biāo)志是(進(jìn)程控制塊PCB)。
6、進(jìn)程上下文包括了進(jìn)程本身和運(yùn)行環(huán)境,是對進(jìn)程執(zhí)行活動(dòng)全過程的靜態(tài)描述。進(jìn)程上
下文分成三個(gè)部分:(用戶級上下文(進(jìn)程的用戶地址空間內(nèi)容))、(寄存器級上下
文(硬件寄存器內(nèi)容))和(系統(tǒng)級上下文(與該進(jìn)程相關(guān)的核心數(shù)據(jù)結(jié)構(gòu)))o
7、進(jìn)程調(diào)度方式通常有(搶占)和(非搶占)兩種方式。
8、若信號量S的初值定義為10,則對S調(diào)用執(zhí)行了16次P操作和15次V操作后,S的值
應(yīng)該為(9)。
1.3簡答題
1、請簡單敘述進(jìn)程三態(tài)模型中的進(jìn)程狀態(tài)轉(zhuǎn)化情況。
答:
?就緒態(tài)一運(yùn)行態(tài):當(dāng)調(diào)度程序選擇一個(gè)新的進(jìn)程運(yùn)行時(shí),進(jìn)程會(huì)由就緒態(tài)切換到運(yùn)
行態(tài);
?運(yùn)行態(tài)一就緒態(tài):當(dāng)運(yùn)行進(jìn)程用完了獲得的時(shí)間片時(shí),進(jìn)程就會(huì)被中斷,由運(yùn)行態(tài)
切換到就緒態(tài),或是因?yàn)橐桓邇?yōu)先級進(jìn)程處于就緒狀態(tài),正在運(yùn)行的低優(yōu)先級進(jìn)程
會(huì)被中斷而由運(yùn)行態(tài)切換到就緒態(tài);
?運(yùn)行態(tài)一等待態(tài):以下幾種情況會(huì)導(dǎo)致進(jìn)程會(huì)由運(yùn)行態(tài)切換到等待態(tài),例如當(dāng)一進(jìn)
程必須等待時(shí),或是操作系統(tǒng)尚未完成服務(wù),進(jìn)程對一資源的訪問尚不能進(jìn)行時(shí),
還有初始化I/O且必須等待結(jié)果時(shí),在進(jìn)程間通信時(shí),進(jìn)程等待另一進(jìn)程提供輸入
時(shí)等;
?等待態(tài)一就緒態(tài):當(dāng)進(jìn)程所等待的事件發(fā)生時(shí),例如資源申請獲得滿足時(shí),或是等
待的數(shù)據(jù)或信號到來時(shí),進(jìn)程就可能由等待態(tài)切換到就緒態(tài)。
2、進(jìn)程創(chuàng)建來源于以下事件:提交一個(gè)批處理作業(yè);在終端上交互式的登錄;操作系統(tǒng)創(chuàng)
建一個(gè)服務(wù)進(jìn)程;進(jìn)程孵化新進(jìn)程;等等。請描述進(jìn)程的創(chuàng)建過程。
答:
①系統(tǒng)在進(jìn)程表中增加一項(xiàng),并從PCB池中取一個(gè)空白PCB;
②為新進(jìn)程的進(jìn)程映像分配地址空間。傳遞環(huán)境變量,構(gòu)造共享地址空間;
③為新進(jìn)程分配資源,除內(nèi)存空間外,還有其他各種資源;
④查找輔存,找到進(jìn)程正文段并裝到正文區(qū);
⑤初始化進(jìn)程控制塊,為新進(jìn)程分配進(jìn)程標(biāo)識符,初始化PSW;
?加入就緒進(jìn)程隊(duì)列,將進(jìn)程投入運(yùn)行;
⑦通知操作系統(tǒng)的某些模塊,如記賬程序、性能監(jiān)控程序。
3、請簡述時(shí)間片輪轉(zhuǎn)調(diào)度算法的工作流程和確定時(shí)間片大小需要考慮的因素。
答:
1、時(shí)間片輪轉(zhuǎn)調(diào)度算法的工作流程:
?系統(tǒng)將所有的就緒進(jìn)程按先來先服務(wù)的原則排成一個(gè)隊(duì)列,每次調(diào)度時(shí)把CPU分配給
隊(duì)首進(jìn)程,并令其執(zhí)行一個(gè)時(shí)間片。
?當(dāng)執(zhí)行的時(shí)間片用完時(shí),由系統(tǒng)中的定時(shí)器發(fā)出時(shí)鐘中斷請求,調(diào)度程序停止該進(jìn)程的
執(zhí)行,并將它送到就緒隊(duì)列的末尾,等待下一次執(zhí)行。
?進(jìn)行進(jìn)程切換,把處理器分配給就緒隊(duì)列中新的隊(duì)首進(jìn)程。
2、時(shí)間片大小的確定要從進(jìn)程個(gè)數(shù)、切換開銷、系統(tǒng)效率和響應(yīng)時(shí)間等方面考慮:
?時(shí)間片取值太小,多數(shù)進(jìn)程不能在一個(gè)時(shí)間片內(nèi)運(yùn)行完畢,切換就會(huì)頻繁,開銷顯著增
大,從系統(tǒng)效率來看,時(shí)間片取大一點(diǎn)好。
?時(shí)間片取值太大,隨著就緒隊(duì)列里進(jìn)程數(shù)目增加,輪轉(zhuǎn)一次的總時(shí)間增大,對進(jìn)程的響
應(yīng)速度放慢了。為滿足響應(yīng)時(shí)間要求,要么限制就緒隊(duì)列中進(jìn)程數(shù)量,要么采用動(dòng)態(tài)時(shí)
間片法,根據(jù)負(fù)載狀況及時(shí)調(diào)整時(shí)間片的大小。
4、有兩個(gè)優(yōu)先級相同的并發(fā)運(yùn)行的進(jìn)程P1和P2,各自執(zhí)行的操作如下,信號量S1和S2
初值均為0,y和z的初值為0。
Cobegin
Pl:P2:
beginbegin
y:=0;x:=2;
y:=y+4;x:=x+6;
V(S1);P(S1);
z:=y+3;x:=x+y;
P(S2);V(S2);
y:=z+yz:=z+x;
endend
Coend
試問Pl、P2并發(fā)執(zhí)行后,x、y、z的值有幾種可能,各為多少?
答:
1:x=12,y=ll,z=19o
2:x=12,y=23,z=19o
3:x=12>y=l1,z=7。
5、為什么說最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法是對先來先服務(wù)以及短作業(yè)優(yōu)先這兩種調(diào)度算法
的折中?
答:
先來先服務(wù)的作業(yè)調(diào)度算法,重點(diǎn)考慮的是作業(yè)在后備作業(yè)隊(duì)列里的等待時(shí)間,因此對短作
業(yè)不利;短作業(yè)優(yōu)先的調(diào)度算法,重點(diǎn)考慮的是作業(yè)所需的CPU時(shí)間,因此對長作業(yè)不利。
最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法,總是在需要調(diào)度時(shí),考慮作業(yè)已經(jīng)等待的時(shí)間和所需運(yùn)行時(shí)
間之比,即:
I+(作業(yè)已等待時(shí)間/作業(yè)所需CPU時(shí)間)
比值的分母是一個(gè)不變的量。隨著時(shí)間的推移,一個(gè)作業(yè)的“已等待時(shí)間”會(huì)不斷發(fā)生變化,
也就是分子在不斷地變化。
顯然,短作業(yè)比較容易獲得較高的響應(yīng)比。這是因?yàn)樗姆帜篙^小,只要稍加等待,整個(gè)比
值就會(huì)很快上升。另一方面,長作業(yè)的分母雖然很大,但隨著它等待時(shí)間的增加,比值也會(huì)
逐漸上升,從而獲得較高的響應(yīng)比。
可見最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法,既照顧到了短作業(yè)的利益,也照顧到了長作業(yè)的利益,
是對先來先服務(wù)以及短作業(yè)優(yōu)先這兩種調(diào)度算法的一種折中。
6、請對比操作系統(tǒng)中“死鎖”和“仇餓”問題。
答:
?死鎖是因進(jìn)程競爭資源,但系統(tǒng)擁有資源的數(shù)量有限,或并發(fā)進(jìn)程推進(jìn)的順序不當(dāng)而造
成的一種永遠(yuǎn)等待資源的僵局。
?饑餓是指每個(gè)資源占用者都在有限時(shí)間內(nèi)釋放占用的資源,但申請進(jìn)程仍然長時(shí)間得不
到資源的現(xiàn)象,常常是策略不公平的體現(xiàn)。
7、一個(gè)計(jì)算機(jī)有6臺(tái)設(shè)備X,有n個(gè)進(jìn)程競爭使用,每個(gè)進(jìn)程最多需要兩臺(tái)。n最多為多
少時(shí),系統(tǒng)不存在死鎖的危險(xiǎn)?
答:
由于每個(gè)進(jìn)程最多需要兩臺(tái)設(shè)備X,考慮極端情況:每個(gè)進(jìn)程已經(jīng)都申請了一臺(tái)。那么只要
還有一臺(tái)空閑,就可以保證所有進(jìn)程都可以完成。也就是說當(dāng)有條件:n+l=6(即n=5)時(shí),
系統(tǒng)就不存在死鎖的危險(xiǎn)。
8、3個(gè)進(jìn)程P|、P2和P3并發(fā)工作。進(jìn)程Pi需用資源S3和S"進(jìn)程P2需用資源與和S2;
進(jìn)程P3需用資源S2和S3。
(1)若對資源分配不加限制,會(huì)發(fā)生死鎖情況,請畫出發(fā)生死鎖時(shí),3個(gè)進(jìn)程和3個(gè)資源
之間的進(jìn)程資源分配圖。
(2)為保證進(jìn)程正確工作,應(yīng)采用怎樣的資源分配策略。
答:
(1)不加限制會(huì)出現(xiàn)死鎖情況:
(2)可以采用的方法有多種,下面是幾種可行的方法:
?分配資源時(shí),一次性分配該進(jìn)程運(yùn)行過程中所需的所有資源。破壞了死鎖的必要條件之
一”請求和保持條件
?申請資源時(shí),如果不能立即獲得新的資源,則釋放已經(jīng)獲得的資源。破壞死鎖的必要條
件之一”不可剝奪條件
?對所有的資源進(jìn)行編號,每個(gè)進(jìn)程在申請資源時(shí),嚴(yán)格按照資源編號遞增的次序申請資
源。這種方法是破壞了死鎖的必要條件之一“環(huán)路等待條件
1.4解答題
1、某系統(tǒng)有三個(gè)作業(yè):
作業(yè)到達(dá)時(shí)間所需CPU時(shí)間
18.81.5
29.00.4
39.51.0
系統(tǒng)確定在它們?nèi)康竭_(dá)后,開始采用響應(yīng)比高者優(yōu)先調(diào)度算法,并忽略系統(tǒng)調(diào)度時(shí)間。試
問對它們的調(diào)度順序是什么?各自的周轉(zhuǎn)時(shí)間是多少?請寫出計(jì)算過程,并填寫下面表格。
答:
三個(gè)作業(yè)是在9.5時(shí)全部到達(dá)的。這時(shí)它們各自的響應(yīng)比如下:
作業(yè)1的響應(yīng)比=(9.5-8.8)/1.5=0.46
作業(yè)2的響應(yīng)比=(9.5-9.0)/0.4=1.25
作業(yè)3的響應(yīng)比二(9.5-9.5)/1.0=0
因此,最先應(yīng)該調(diào)度作業(yè)2運(yùn)行,因?yàn)樗捻憫?yīng)比最高。它運(yùn)行了0.4后完成,這時(shí)的時(shí)間
是9.9。再計(jì)算作業(yè)1和3此時(shí)的響應(yīng)比:
作業(yè)1的響hk比=(9.9一8.8)/1.5=0.73
作業(yè)3的響應(yīng)比=(9.9-9.5)/1.0=0.40
因此,第二個(gè)應(yīng)該調(diào)度作業(yè)1運(yùn)行,因?yàn)樗捻憫?yīng)比最高。它運(yùn)行了1.5后完成,這時(shí)的時(shí)
間是11.4。第三個(gè)調(diào)度的是作業(yè)3,它運(yùn)行了1.0后完成,這時(shí)的時(shí)間是12.4。整個(gè)實(shí)施過
程如下。
作業(yè)到達(dá)時(shí)間所需CPU時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間
18.81.59.911.42.6
29.00.49.59.90.9
39.51.011.412.42.9
作業(yè)的調(diào)度順序是2—1—3。各自的周轉(zhuǎn)時(shí)間為:作業(yè)1為0.9;作業(yè)2為2.6;作業(yè)3為2.9。
2、有一個(gè)具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的非搶式調(diào)度算法,進(jìn)程
調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法,在下表所示的作業(yè)序列中,作業(yè)優(yōu)先數(shù)即
為進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)越小優(yōu)先級越高。
作業(yè)到達(dá)時(shí)間所需CPU時(shí)間優(yōu)先數(shù)
A10:0040分鐘5
B10:2030分鐘3
C10:3050分鐘4
D10:5020分鐘6
列出所有作業(yè)進(jìn)入內(nèi)存時(shí)間及結(jié)束時(shí)間,并計(jì)算平均作業(yè)周轉(zhuǎn)時(shí)間。
答:
(1)每個(gè)作業(yè)運(yùn)行將經(jīng)過兩個(gè)階段:作業(yè)調(diào)度(SJF算法)和進(jìn)程調(diào)度(優(yōu)先數(shù)搶占式)。另
外,批處理最多容納2道作業(yè),更多的作業(yè)將在后備隊(duì)列等待。
時(shí)間(分鐘)10:0010:2010:3010:5011:,1012:p012二0.
111
!AB!ACD.
CPU,;__________1
ADD.
進(jìn)程就緒隊(duì)列.1_____1
作業(yè)后備隊(duì)列.C~
a)10:00,作業(yè)A到達(dá)并投入運(yùn)行。
b)10:20,作業(yè)B到達(dá)且優(yōu)先權(quán)高于作業(yè)A,故作業(yè)B投入運(yùn)行而作業(yè)A在就緒
隊(duì)列等待。
010:30,作業(yè)C到達(dá),因內(nèi)存中已有兩道作業(yè),故作業(yè)C進(jìn)入作業(yè)后備隊(duì)列等待。
d)10:50,作業(yè)B運(yùn)行結(jié)束,作業(yè)D到達(dá),按短作業(yè)優(yōu)先算法,作業(yè)D被裝入內(nèi)
存進(jìn)入就緒隊(duì)列。而由于作業(yè)A的優(yōu)先級高于作業(yè)D,故作業(yè)A投入運(yùn)行。
e)11:10,作業(yè)A運(yùn)行結(jié)束,作業(yè)C被調(diào)入內(nèi)存,且作業(yè)C的優(yōu)先級高于作業(yè)D,
故作業(yè)C投入運(yùn)行。
D12:00,作業(yè)C運(yùn)行結(jié)束,作業(yè)D投入運(yùn)行。
g)12:20,作業(yè)D運(yùn)行結(jié)束。
各作業(yè)周轉(zhuǎn)時(shí)間為:作業(yè)A70,作業(yè)B30,作業(yè)C90,作業(yè)D90。
(2)平均作業(yè)周轉(zhuǎn)時(shí)間為70分鐘。
作業(yè)進(jìn)入內(nèi)存時(shí)間運(yùn)行結(jié)束時(shí)間作業(yè)周轉(zhuǎn)時(shí)間平均作業(yè)周轉(zhuǎn)時(shí)間
A10:0011:107070
B10:2010:5030
C11:1012:0090
D10:5012:2090
3、有一個(gè)垃圾分揀機(jī)器人系統(tǒng),擁有兩個(gè)機(jī)器手臂,可分別自動(dòng)在垃圾箱里面分揀可回收
易拉罐和塑料瓶。設(shè)分揀系統(tǒng)有二個(gè)進(jìn)程P1和P2,其中P1驅(qū)動(dòng)左臂揀易拉罐;P2驅(qū)動(dòng)右
臂揀塑料瓶。規(guī)定每個(gè)手臂每次只能揀一個(gè)物品;當(dāng)一個(gè)手臂在揀時(shí),不允許另一個(gè)手臂去
揀;當(dāng)一個(gè)手臂揀了一個(gè)物品后,必須讓另一個(gè)手臂去揀。試用信號量和P、V操作實(shí)現(xiàn)兩
進(jìn)程PI和P2能并發(fā)正確執(zhí)行的程序。
答:
實(shí)質(zhì)上是兩個(gè)進(jìn)程的同步問題,設(shè)信號量S1和S2分別表示可揀易拉罐和塑料瓶,不失一
般性,若令先揀易拉罐。
varSl,S2:scmaphorc;Sl:=l;S2:=0;
cobegin
{
processPl
begin
repeat
P(S1);
揀易拉罐
V(S2);
untilfalse;
end
processP2
begin
repeat
P(S2);
揀塑料瓶
V(S1);
untilfalse;
end
)
coend.
4.桌上有一只空盤子,允許存放一只水果。爸爸可向盤中放蘋果和桔子,兒子專等著取盤
中的桔了然后吃掉,女兒專等著取盤中的蘋果然后吃掉。規(guī)定盤了??次只能放只水果,盤
子中水果沒有被取走時(shí),爸爸不可放新水果;盤子中沒有水果時(shí),女兒和兒子來取水果時(shí)將
需等待。請用信號量和P、V原語實(shí)現(xiàn)爸爸、兒子、女兒3個(gè)并發(fā)進(jìn)程的同步。
答:
設(shè)置3個(gè)信號量:
inlS=l;〃盤子是否為空,開始為空
intSa=0;//盤子是否有蘋果
intSb=0;//盤子是否有桔子
Cobegin
Father()
{
While(l)
(
P(S);
水果放入盤中;
If(放入的是桔子)V(Sb);
ElseV(Sa);
)
Son()
(
While(l)
(
P(Sb);
從盤中取出桔子;
V(s);
吃桔子;
)
}
Daughter()
{
While(l)
{
P(Sa);
從盤中取出蘋果;
V(S);
吃蘋果;
1
)
Coend
5、內(nèi)存中有一組緩沖區(qū)被多個(gè)生產(chǎn)者進(jìn)程、多個(gè)消費(fèi)者進(jìn)程共享使用,總共能存放10個(gè)數(shù)
據(jù),生產(chǎn)者進(jìn)程把生成的數(shù)據(jù)放入緩沖區(qū),消費(fèi)者進(jìn)程從緩沖區(qū)中取出數(shù)據(jù)使用。緩沖區(qū)滿
時(shí)生產(chǎn)者進(jìn)程就停止將數(shù)據(jù)放入緩沖區(qū),緩沖區(qū)空時(shí)消費(fèi)者進(jìn)程停止取數(shù)據(jù)。數(shù)據(jù)的存入和
取出不能同時(shí)進(jìn)行,試用信號量及P、V操作來實(shí)現(xiàn)該方案。
答:
semaphoremutex,empty,full;
mutex=l;〃互斥信號量
empty=10;〃生產(chǎn)者進(jìn)程的同步信號量
full=0;〃消費(fèi)者進(jìn)程的同步信號量
cobegin
processPi//生產(chǎn)者進(jìn)程
(
while(1){
生產(chǎn)數(shù)據(jù)x;
P(empty)〃看看是否還有空間可放
P(mutex);〃互斥使用
放入;
V(full);///增1(可能喚醒一個(gè)消費(fèi)者)
V(mutcx);
}
)
processCj〃消費(fèi)者進(jìn)程
(
while(1){
P(full)〃看看是否有數(shù)據(jù)
P(mutex);〃互斥使用
取出;
V(cmtpy);〃增1(可能喚醒一個(gè)生產(chǎn)者)
V(mutex);
coend
6、假定系統(tǒng)有三個(gè)并發(fā)進(jìn)程read,move和print共享緩沖器B1和B2。進(jìn)程read負(fù)責(zé)從輸
入設(shè)備上讀信息,每讀出一個(gè)記錄后把它存放到緩沖器B1中。進(jìn)程move從緩沖器B1中
取出一記錄,加工后存入緩沖器B2.進(jìn)程prim將B2中的記錄取出打印輸出。緩沖器B1
和B2每次只能存放一個(gè)記錄。要求三個(gè)進(jìn)程協(xié)調(diào)完成任務(wù),使打印出來的與讀入的記錄的
個(gè)數(shù),次序完全一樣。請用信號量和P、V操作,寫出它們的并發(fā)程序。
答:
beginSR,SMI,SM2,SP:semaphore;
Bl,B2:record;
SR:=1;SMl:=0;SM2:=l;SP:=O
cobegin
processread
X:record;
beginR:(接收來自輸入設(shè)備上一個(gè)記錄)
X:=接收的一個(gè)記錄;
P(SR);
Bk=X;
V(SM1);
gotoR;
end;
Processmove
Y:record;
begin
M:P(SM1);
Y:=B1;
V(SR)
加工Y
P(SM2);
B2:=Y;
V(SP);
gotoM;
end;
Processprint
Z:record;
begin
P:P(SP);
Z:=B2;
V(SM2)
打印Z
gotoP;
end;
coend;
end;
7、用銀行家算法避免系統(tǒng)死鎖:
進(jìn)程已占有資源數(shù)最大需求數(shù)
ABCDABCD
P130114111
P201000212
P311104210
P411011111
P500002110
當(dāng)前系統(tǒng)資源總量為A類6個(gè)、B類3個(gè)、C類個(gè)4、D類2個(gè)。
(1)系統(tǒng)是否安全?請分析說明理由。
(2)若進(jìn)程B請求(0,0J0),可否立即分配?請分析說明理由。
答:
(1)
由已知條件可得Need和Avaiable矩陣如下:
進(jìn)程分配矩陣尚需矩陣(Need)可用資源數(shù)向量(Avaiable)
P1301111001020
P201000112
P311103100
P411010010
P500002110
利用銀行家算法對此時(shí)刻的資源分配情況進(jìn)行分析如下表:
進(jìn)程WorkNeedAllocationWork+AIlocationFinish
P41020001011012121true
PI2121110030115132true
P25132011201005232true
P35232310011106342true
P56342211000006342true
從上述分析可知,存在一個(gè)安全序列D,A,B,C,E,(答案不唯一),故當(dāng)前系統(tǒng)是
否安全的。
(2)若進(jìn)程B請求(0,0』,0),試分配并修改相應(yīng)的數(shù)據(jù)結(jié)構(gòu),則系統(tǒng)狀態(tài)變?yōu)?
進(jìn)程分配矩陣尚需矩陣(Need)可用資源數(shù)向量(Avaiable)
Pl301111001010
P201100102
P311103100
P411010010
P500002110
利用銀行家算法對此時(shí)刻的資源分配情況進(jìn)行分析如下表:
進(jìn)程WorkNeedAllocationWork+AIlocationFinish
P41010001011012111true
P12111110030115122true
P25122010201105232true
P35232310011106342true
P56342211000006342true
從上述分析可知,存在安全序列D,A,B,C,E,(答案不唯一)故系統(tǒng)仍是否安全的,
因此可以立即分配。
8、假定系統(tǒng)中有五個(gè)進(jìn)程{PO、Pl、P2、P3、P4}和三種類型資源{A、B、C},A、B、C
資源的總數(shù)量分別為10、5、7。各
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝卸承包合同協(xié)議年
- 建筑裝飾裝修行業(yè)指南
- 2023年寶安區(qū)積分入學(xué)規(guī)則
- 精裝修公寓裝修合同
- 貨物運(yùn)輸代理合同書
- 醫(yī)療器械與藥品研發(fā)技術(shù)作業(yè)指導(dǎo)書
- (高清版)DB2105∕T 001-2022 地理標(biāo)志產(chǎn)品 連山關(guān)刺五加
- 2025年荊門道路客貨運(yùn)輸從業(yè)資格證b2考試題庫
- 2025年岳陽道路貨運(yùn)駕駛員從業(yè)資格考試題庫
- 2025年日喀則貨運(yùn)運(yùn)輸駕駛員從業(yè)資格證考試試題
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細(xì))
- DB43-T 2142-2021學(xué)校食堂建設(shè)與食品安全管理規(guī)范
- 橋梁頂升移位改造技術(shù)規(guī)范
- 浙江省杭州市2022-2023學(xué)年五年級下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 介紹人提成方案
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學(xué)習(xí)資料
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評”一體化研究
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計(jì)專題實(shí)踐》課件-知識點(diǎn)5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動(dòng)扶梯安裝過程記錄
評論
0/150
提交評論