




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、選擇題1.在進(jìn)度的組成部分之中,進(jìn)度在運(yùn)行中不能更正的部分是A.私用程序段B.共享程序段C.?dāng)?shù)據(jù)段D.進(jìn)度控制塊
_B_____。2.響應(yīng)比高者優(yōu)先作業(yè)調(diào)換算法是以計(jì)算時(shí)間和___D___來考慮的。A.輸入時(shí)間B.達(dá)成時(shí)間C.周轉(zhuǎn)時(shí)間D.等待時(shí)間3.在信息緩沖通信中,信息隊(duì)列屬于____A__資源。A.臨界B.共享C.永遠(yuǎn)D.可剝奪4.進(jìn)度間的同步是指進(jìn)度間在邏輯上的相互___B___關(guān)系。A.聯(lián)接B.限制C.連續(xù)D.調(diào)用5.最合適于分時(shí)系統(tǒng)的進(jìn)度調(diào)換算法是____D__。A.先來先服務(wù)(FCFS)B.最短作業(yè)優(yōu)先(SSJF)C.優(yōu)先數(shù)法D.輪轉(zhuǎn)法(RR)6.進(jìn)度A和進(jìn)度B經(jīng)過共享緩沖區(qū)協(xié)作達(dá)成數(shù)據(jù)辦理,進(jìn)度A負(fù)責(zé)生產(chǎn)數(shù)據(jù)并放入緩沖區(qū),進(jìn)度B從緩沖區(qū)中讀數(shù)據(jù)并輸出。進(jìn)度A和進(jìn)度B之間的關(guān)系是___B___。A.互斥關(guān)系B.同步關(guān)系C.互斥和同步D.無窮制關(guān)系7.在優(yōu)先級(jí)調(diào)換中,_____C_類進(jìn)度可能被“餓死”,即長時(shí)間得不到調(diào)換。A.短進(jìn)度B.進(jìn)步程C.低優(yōu)先級(jí)進(jìn)度D.大內(nèi)存進(jìn)度8.進(jìn)度從運(yùn)行狀態(tài)到擁塞狀態(tài)可能是由于____C__。A.進(jìn)度調(diào)換程序的調(diào)換B.現(xiàn)運(yùn)行進(jìn)度的時(shí)間片耗盡C.現(xiàn)運(yùn)行進(jìn)度執(zhí)行了wait操作D.現(xiàn)運(yùn)行進(jìn)度執(zhí)行了signal操作9.銀專家算法在解決死鎖問題中是用于_____B_的。A.預(yù)防死鎖B.防范死鎖C.檢測(cè)死鎖D.清除死鎖10.___D___不是進(jìn)度調(diào)換算法。A.時(shí)間片輪轉(zhuǎn)法B.先來先服務(wù)方法C.響應(yīng)比高者優(yōu)先法D.均衡調(diào)換算法11.下面關(guān)于線程的表達(dá)中正確的選項(xiàng)是___A___。A.線程包括CPU現(xiàn)場(chǎng),能夠獨(dú)立執(zhí)行程序B.每個(gè)線程有自己獨(dú)立的地址空間C.線程之間的通信必定使用系統(tǒng)調(diào)用函數(shù)D.進(jìn)度只能包括一個(gè)線程12.并發(fā)進(jìn)度之間____D__。A.相互沒關(guān)B.必定同步C.必定互斥D.可能需要同步或互斥13.當(dāng)一個(gè)進(jìn)度運(yùn)行時(shí),系統(tǒng)可能基于某種原則強(qiáng)行將其撤下,把辦理器分配給其他進(jìn)程,這種調(diào)換方式是_B_____。A.非剝奪方式B.剝奪方式C.中斷方式14.信號(hào)量S不能夠用于____D__操作。A.signalB.waitC.賦初值
D.盤問方式D.運(yùn)算表達(dá)式15.____D__是一種只能進(jìn)行A.調(diào)換B.進(jìn)度
wait
操作和signal操作的特別變量C.同步D.信號(hào)量16.分配給進(jìn)度占用辦理機(jī)的時(shí)間到而強(qiáng)迫進(jìn)度P讓出辦理器,或有更高優(yōu)先級(jí)的進(jìn)程要運(yùn)行,迫使正在運(yùn)行的進(jìn)度P讓出辦理器,則進(jìn)度P狀態(tài)變化的情況為___A___A.運(yùn)行態(tài)->就緒態(tài)B.運(yùn)行態(tài)->等待態(tài)C.就緒態(tài)->運(yùn)行態(tài)D.等待態(tài)->就緒態(tài)17.下面關(guān)于進(jìn)度的表達(dá)中正確的選項(xiàng)是
__A____。A.進(jìn)度獲得
CPU
運(yùn)行是經(jīng)過調(diào)換獲得的B.優(yōu)先級(jí)是進(jìn)度調(diào)換的重要依照,一旦確定就不能夠改變C.在單CPU的系統(tǒng)中,任何時(shí)刻都有一個(gè)進(jìn)度處于運(yùn)行狀態(tài)D.進(jìn)度申請(qǐng)CPU得不到滿足時(shí),其狀態(tài)變?yōu)閾砣?8.操作系統(tǒng)經(jīng)過___B___對(duì)進(jìn)度進(jìn)行管理。A.進(jìn)度B.進(jìn)度控制塊C.進(jìn)度啟動(dòng)程序D.進(jìn)度控制區(qū)若一個(gè)進(jìn)度擁有100個(gè)線程,這些線程屬于用戶級(jí)線程,它們?cè)谙到y(tǒng)調(diào)換執(zhí)行時(shí)間上占用的時(shí)間片個(gè)數(shù)是___A___。A.1B.100C.1/100D.0清除死鎖平時(shí)不采用的方法是__D____。到其他3種狀態(tài)的進(jìn)度狀態(tài)是__D____。A.就緒B.擁塞C.達(dá)成D.執(zhí)行22.信號(hào)量的初值為2,當(dāng)前值為-3,則表示等待進(jìn)度有__C____。A.1個(gè)B.2個(gè)C.3個(gè)D.5個(gè)23.wait操作可能以致__C____。A.進(jìn)度就緒B.進(jìn)度結(jié)束C.進(jìn)度擁塞(等待)24.在操作系統(tǒng)中為防范系統(tǒng)的死鎖采用___A___。A.銀專家算法B.破壞占有并等待條件C.死鎖檢測(cè)和恢復(fù)D.破壞非剝奪條件
D.新進(jìn)度創(chuàng)辦25.以下的進(jìn)度狀態(tài)變化中不能能發(fā)生的變化是A.等待→運(yùn)行B.運(yùn)行→等待
_A_____。C.運(yùn)行→就緒
D.等待→就緒26.若是有三個(gè)進(jìn)度共享同一互斥段,而且每次最多贊同兩個(gè)進(jìn)度進(jìn)入該互斥段,則信號(hào)量的初值應(yīng)設(shè)置為___C___。A.
3
B.
1
C.
2
D.
027.進(jìn)度之間交換數(shù)據(jù)不能夠經(jīng)過__C____路子進(jìn)行。A.共享文件B.信息傳達(dá)C.接見進(jìn)度地址空間D.接見共享儲(chǔ)藏地域28.進(jìn)度控制塊PCB不包括的內(nèi)容是___D___。A.CPU現(xiàn)場(chǎng)B.進(jìn)度優(yōu)先級(jí)C.進(jìn)度運(yùn)行狀態(tài)D.文件緩沖區(qū)29.PCB是描述進(jìn)度狀態(tài)和特色的數(shù)據(jù)結(jié)構(gòu),一個(gè)進(jìn)度__D____。A.能夠有多個(gè)PCBB.能夠和其他進(jìn)度共用一個(gè)PCBC.能夠沒有PCBD.只能有唯一的PCB30.資源次序分配法破壞了死鎖發(fā)生的A.互斥占用B.占有等待
___D___必要條件。C.非剝奪D.循環(huán)等待31.進(jìn)度和程序的實(shí)質(zhì)差異是_B_____。A.內(nèi)存和外存B.動(dòng)向和靜態(tài)特色C.共享和獨(dú)占使用計(jì)算機(jī)資源D.次序和非次序執(zhí)行指令32.設(shè)有兩個(gè)進(jìn)度共享3個(gè)同類資源,為使系統(tǒng)不死鎖,每個(gè)進(jìn)度最多能夠申請(qǐng)
__C____資源。A.0B.1C.2D.333.作業(yè)調(diào)換中的先來先服務(wù)算法是以____C__為出發(fā)點(diǎn)考慮的。A.作業(yè)執(zhí)行時(shí)間B.作業(yè)的周轉(zhuǎn)時(shí)間C.作業(yè)等待時(shí)間D.等待時(shí)間加運(yùn)行時(shí)同34.設(shè)m為同類資源數(shù),n為系統(tǒng)中的并發(fā)進(jìn)度數(shù)。當(dāng)每個(gè)進(jìn)度的最大需求是w。以下情況下,系統(tǒng)會(huì)死鎖的是
n個(gè)進(jìn)度共享_D_____。
m個(gè)互斥資源時(shí),A.
m=2,n=l,w=2
B.
m=2,n=2,w=1C.
m=4,n=3,W=2
D.
m=4,n=2,w=335.用于解決進(jìn)度間互斥的方法是___B___。①信號(hào)量及wait、signal操作②加鎖與解鎖④信息緩沖方式⑤特權(quán)指令方式
③信箱方式A.③、④和⑤
B.①和②
C.①和③
D.②和⑤36.在操作系統(tǒng)中,每個(gè)進(jìn)度擁有獨(dú)立性,進(jìn)度之間又擁有相互限制性。關(guān)于任何兩個(gè)并發(fā)進(jìn)度,它們__C____。A.必然沒關(guān)
B.必然相關(guān)
C.可能相關(guān)
D.可能相同二、簡答題1.什么是線程?進(jìn)度和線程的關(guān)系是什么?線程可定義為進(jìn)度內(nèi)的一個(gè)執(zhí)行單位,也許定義為進(jìn)度內(nèi)的一個(gè)可調(diào)換實(shí)體。在擁有多線程體系的操作系統(tǒng)中,辦理機(jī)調(diào)換的基本單位不是進(jìn)度而是線程。一個(gè)進(jìn)度能夠有多個(gè)線程,而且最少有一個(gè)可執(zhí)行線程。進(jìn)度和線程的關(guān)系是:線程是進(jìn)度的一個(gè)組成部分。進(jìn)度的多個(gè)線程都在進(jìn)度的地址空間活動(dòng)。資源是分給進(jìn)度的,而不是分給線程的,線程在執(zhí)行中需要資源時(shí),系統(tǒng)從進(jìn)度的資源分配額中扣除并分配給它。辦理機(jī)調(diào)換的基本單位是線程,線程之間競(jìng)爭辦理機(jī),真切在辦理機(jī)上運(yùn)行的是線程。(5)線程在執(zhí)行過程中,需要同步。2.進(jìn)度能自己將自己喚醒嗎?進(jìn)度能自己將自己撤掉嗎?喚醒進(jìn)度和撤消進(jìn)度都是要經(jīng)過CPU上運(yùn)行程序來實(shí)現(xiàn)的。一個(gè)進(jìn)度入睡了,它就不能能被調(diào)換到CPU上運(yùn)行;一個(gè)進(jìn)度在撤消前必定先進(jìn)入停止?fàn)顟B(tài),而處于停止?fàn)顟B(tài)的進(jìn)度不能能被調(diào)換到CPU上運(yùn)行。所以,進(jìn)度被喚醒、被撤消都不能夠由自己來達(dá)成,只能由其他進(jìn)度實(shí)現(xiàn)。3.父進(jìn)度創(chuàng)辦子進(jìn)度此后,父子進(jìn)度間的關(guān)系是什么?一個(gè)進(jìn)度創(chuàng)辦子進(jìn)度此后,進(jìn)度與產(chǎn)生的進(jìn)度之間的關(guān)系是父子關(guān)系,進(jìn)度。子進(jìn)度一經(jīng)產(chǎn)生就與你進(jìn)度并發(fā)執(zhí)行,子進(jìn)度共享父進(jìn)度和子進(jìn)度。
分別成為進(jìn)度和子子進(jìn)度一經(jīng)產(chǎn)生就與你進(jìn)度并發(fā)執(zhí)行,子進(jìn)度共享父進(jìn)度的正文段和已經(jīng)打開的文件。4.簡述引進(jìn)線程的好處。(1)以線程作為系統(tǒng)調(diào)換的基本單位,減少了系統(tǒng)的時(shí)空開銷。以進(jìn)度為系統(tǒng)調(diào)換的基本單位的系統(tǒng)中,進(jìn)度的切換是很頻頻的。在切換中由于要保留當(dāng)時(shí)的運(yùn)行環(huán)境,還要設(shè)置新選中的進(jìn)度的運(yùn)行環(huán)境,這既開銷了辦理機(jī)的時(shí)間,又增加了主存的空間,從而也限制了系統(tǒng)進(jìn)度的數(shù)量和進(jìn)度的切換速度。引進(jìn)線程提高了系統(tǒng)的并行能力。線程作為進(jìn)度內(nèi)的一個(gè)可執(zhí)行實(shí)體,減少了并行粒度。線程作為調(diào)換的基本單位而不是資源分配的基本單位,調(diào)換更為簡單,而且采用線程提高系統(tǒng)的并行能力比采用進(jìn)度更為有效。同一進(jìn)度的線程共享進(jìn)度的用戶地址空間,所以同一進(jìn)度的線程間的通信更簡單實(shí)現(xiàn)。5.當(dāng)一個(gè)進(jìn)度的父進(jìn)度被撤掉時(shí),該進(jìn)度是撤掉好還是不撤掉好?在實(shí)質(zhì)系統(tǒng)中,兩種辦理方法都是可行的,且各有優(yōu)缺點(diǎn)。若撤消,則該進(jìn)度的任務(wù)可能還沒有達(dá)成,這顯然是不利的,特別是當(dāng)該進(jìn)度的運(yùn)行結(jié)果對(duì)其他進(jìn)度的運(yùn)行很重要(如該進(jìn)度是其他進(jìn)度的前趨進(jìn)度,沒有它的運(yùn)行結(jié)果其他進(jìn)度無法運(yùn)行)時(shí);若不撤消,則該進(jìn)程又可能成為不能控的"孤兒",從而產(chǎn)生不能展望的結(jié)果。比較好的做法是,當(dāng)一個(gè)進(jìn)度的父進(jìn)度被撤消時(shí),能夠?qū)⒃撨M(jìn)度"過繼"給系統(tǒng)內(nèi)一個(gè)級(jí)別較高的進(jìn)度(如Unix中的1#進(jìn)度),讓它有一個(gè)"新的父親",這樣既能夠連續(xù)達(dá)成其任務(wù)又不會(huì)成為不能控的。6.為什么說進(jìn)度同步問題關(guān)系到OS的成敗?同步體系應(yīng)依照的準(zhǔn)則是什么?進(jìn)度同步問題若辦理不當(dāng),有可能會(huì)產(chǎn)生各樣"與時(shí)間相關(guān)性錯(cuò)誤",特別是當(dāng)兩個(gè)或多個(gè)進(jìn)度共享了公共變量而又沒有互斥地使用這些變量時(shí),極有可能以致用戶程序運(yùn)行結(jié)果的不正確,這量種災(zāi)禍性的結(jié)果。這種OS顯然是不能功的,是用戶不敢使用的。有以下四條準(zhǔn)則:悠閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待。7.進(jìn)度之間存在哪幾種相互限制關(guān)系?各是什么原因引起的?以下活動(dòng)分別屬于哪一種限制關(guān)系?1)若干同學(xué)去圖書館借書。2)兩隊(duì)舉行籃球比賽。3)流水線生產(chǎn)的各道工序。4)商品生產(chǎn)和開銷。進(jìn)度間存在著兩種相互限制的關(guān)系:直接限制關(guān)系(即同步問題)和間接限制關(guān)系(即互斥問題)。同步問題是存在邏輯關(guān)系的進(jìn)度之間相互等待產(chǎn)生的限制關(guān)系,互斥問題是相互無邏輯關(guān)系的進(jìn)度間競(jìng)爭使用相同的資源所發(fā)生的限制關(guān)系。1)屬于互斥關(guān)系,由于書的個(gè)數(shù)是有限的,一本書只能借給一個(gè)同學(xué)。2)屬于互斥關(guān)系,籃球只有一個(gè),兩隊(duì)都要強(qiáng)搶。3)屬于同步關(guān)系,各道工序的開始都依賴前道工序的達(dá)成。4)屬于同步關(guān)系,商品沒生產(chǎn)出來,開銷無法進(jìn)行,商品未開銷完,生產(chǎn)也無需進(jìn)行。8.高級(jí)調(diào)換和初級(jí)調(diào)換的主要任務(wù)是什么?為什么引入中級(jí)調(diào)換?(1)高級(jí)調(diào)換又稱為作業(yè)調(diào)換。它是批辦理系統(tǒng)中使用的一種調(diào)換。其主要任務(wù)是依照某種算法從外存的后備隊(duì)列上選擇一個(gè)或多個(gè)作業(yè)調(diào)入內(nèi)存,并為其創(chuàng)辦進(jìn)度、分配必要的資源,爾后再將所創(chuàng)辦的進(jìn)度控制塊插入就緒隊(duì)列中。(2)初級(jí)調(diào)換又稱進(jìn)度調(diào)換。它是距離硬件近來的一級(jí)調(diào)換。其主要任務(wù)是依照某種算法從就緒隊(duì)列上選擇一個(gè)(或多個(gè))進(jìn)度,使其獲得CPU。3)引入中級(jí)調(diào)換的目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。其功能是,讓那些暫時(shí)不能運(yùn)行的進(jìn)度不再占用難得的內(nèi)存資源,而是調(diào)其到外存上等待。此時(shí)的進(jìn)度狀態(tài)為掛起狀態(tài)。當(dāng)這些進(jìn)度重新具備運(yùn)行條件且內(nèi)存悠閑時(shí),由中級(jí)調(diào)換選擇一部分掛起狀態(tài)的進(jìn)度調(diào)入內(nèi)存并將其狀態(tài)變?yōu)榫途w狀態(tài)。9.在剝奪調(diào)換中,有哪些剝奪原則?1)時(shí)間片原則。在輪轉(zhuǎn)算法中,CPU輪流為諸多進(jìn)度服務(wù),每個(gè)進(jìn)度運(yùn)行完自己的時(shí)間片后,系統(tǒng)就將CPU剝奪過來,交給下一個(gè)進(jìn)度使用。2)優(yōu)先級(jí)原則。為緊迫的作業(yè)賜予較高的優(yōu)先級(jí),這種作業(yè)到達(dá)系統(tǒng)或由擁塞狀態(tài)被喚醒后,若其優(yōu)先級(jí)高于當(dāng)前運(yùn)行的進(jìn)度的優(yōu)先級(jí),能夠剝醒當(dāng)前運(yùn)行進(jìn)度的CPU。3)短作業(yè)(進(jìn)度)優(yōu)先原則。若一個(gè)作業(yè)(進(jìn)度)到達(dá)系統(tǒng),其運(yùn)行長度比當(dāng)前運(yùn)行的進(jìn)度長度顯然的短,則剝醒當(dāng)前運(yùn)行的進(jìn)度CPU。10.引起進(jìn)度調(diào)換的主要因素。1)一個(gè)進(jìn)度運(yùn)行達(dá)成。2)一個(gè)正在運(yùn)行的進(jìn)度被擁塞。3)在搶占式調(diào)換中,一個(gè)高優(yōu)先級(jí)的進(jìn)度被創(chuàng)辦。4)在搶占式調(diào)換中,一個(gè)高優(yōu)先級(jí)進(jìn)度由擁塞喚醒。5)在輪轉(zhuǎn)式調(diào)換中,正垢進(jìn)度運(yùn)行完一個(gè)時(shí)間片。11.何為死鎖?產(chǎn)生死鎖的原因和必要條件是什么?比較三種解決死鎖的方法?1)死鎖是指多個(gè)進(jìn)度因競(jìng)爭資源而造成的一種僵持狀態(tài)。若無外力作用,這些進(jìn)度都將永遠(yuǎn)處于擁塞狀態(tài),不能夠再運(yùn)行下去。2)產(chǎn)生死鎖的原因有:資源不足、進(jìn)度推進(jìn)次序不當(dāng)。3)產(chǎn)生死鎖的必要條件有:互斥條件、懇求和保持條件、非剝奪條件、環(huán)路等待條件。比較三種解決死鎖的方法:1)預(yù)防死鎖方法,主若是破壞產(chǎn)生死鎖的必要條件。該方法是最簡單實(shí)現(xiàn)的,但系統(tǒng)資源利用率較低。(2)防范死鎖方法,比較合用的有銀專家算法(BankerAlgorithm)。該算法需要很多的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)起來比較困難,但資源利用率最高。3)檢測(cè)死鎖方法是基于死鎖定理設(shè)計(jì)的。如期運(yùn)行該算法對(duì)系統(tǒng)的狀態(tài)進(jìn)行檢測(cè),發(fā)現(xiàn)死鎖便予以清除。其中,需要比較一下各咱死鎖清除方案的代價(jià),找到代價(jià)最小的方案。該方法最難實(shí)現(xiàn),資源利用率較高。12.試比較說明進(jìn)度和程序的差異有哪些?(1)每個(gè)進(jìn)度實(shí)體中包括了程序段和數(shù)據(jù)段這兩個(gè)部分,所以說進(jìn)度是與程序是親密相關(guān)的。但從結(jié)構(gòu)上看,進(jìn)度實(shí)體中除了程序段和數(shù)據(jù)段外,還必定包括一個(gè)數(shù)據(jù)結(jié)構(gòu),即進(jìn)度控制塊PCB。2)進(jìn)度是程序的一次執(zhí)行過程,所以是動(dòng)向的;動(dòng)向性還表現(xiàn)在進(jìn)度由創(chuàng)辦而產(chǎn)生、由調(diào)換而執(zhí)行、由撤消而消亡,即它擁有必然的生命周期。而程序則可是一組指令的有序會(huì)集,并和永遠(yuǎn)地存放在某種介質(zhì)上,其自己不擁有運(yùn)動(dòng)的含義,所以是靜態(tài)的。3)多個(gè)進(jìn)度實(shí)體可同時(shí)存放在內(nèi)存中并發(fā)地執(zhí)行,也正是引入進(jìn)度的目的。而程序(在沒有為它創(chuàng)辦進(jìn)度時(shí))的并發(fā)執(zhí)行擁有不能再現(xiàn)性,所以程序不能夠正確地并發(fā)執(zhí)行。4)進(jìn)度是一個(gè)能夠獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)換的基本單位。而因程序不擁有PCB,所以它是不能能在多道程序環(huán)境下獨(dú)立運(yùn)行的。5)程與程序不一一對(duì)應(yīng)。同一個(gè)程序的多次運(yùn)行,將形成多個(gè)不相同的進(jìn)度;同一個(gè)程序的一次執(zhí)行也能夠產(chǎn)生多個(gè)進(jìn)度;而一個(gè)進(jìn)度也能夠執(zhí)行多個(gè)程序。三、應(yīng)用題有一個(gè)理發(fā)師,一把理發(fā)椅和n把供等待理發(fā)的顧客坐的椅子。若是沒有顧客,則理發(fā)師便在理發(fā)椅子上睡覺;當(dāng)一個(gè)顧客到來時(shí),必定喚醒理發(fā)師,進(jìn)行理發(fā);若是理發(fā)師正在理發(fā)時(shí),又有顧客到達(dá),則若是有空椅子可坐,他就坐下來等,若是沒有空椅子,他就走開。為理發(fā)師和顧客各編一段程序描述他們的行為,要求不能夠帶有競(jìng)爭條件。#defineCHAIRS/*為等待的顧客準(zhǔn)備的椅子數(shù)*/semaphorecustomers=0;semaphorebarbers=0;semaphoremutex=1;/*用于互斥*/intwaiting=0;voidbarber(){while(1){wait(customers);wait(mutex);waiting=waiting-1;signal(mutex);理發(fā);signal(barbers);}}voidcustomers(){wait(mutex);if(waiting<CHAIRS){waiting=waiting+1;signal(mutex):signal(customers);坐低等待;wait(barbers);}else{signal(mutex);}}計(jì)算進(jìn)度PC和打印進(jìn)度P01、P02共享一個(gè)單緩沖區(qū),計(jì)算進(jìn)度負(fù)責(zé)計(jì)算,并把計(jì)算結(jié)果放入單緩沖中;打印進(jìn)度P01、P02則負(fù)責(zé)從單緩沖中取出計(jì)算結(jié)果進(jìn)行打印,而且對(duì)每個(gè)計(jì)算結(jié)果,P01和P02都需分別打印一次。請(qǐng)用記錄型信號(hào)量描述上述進(jìn)度間的同步關(guān)系。為了實(shí)現(xiàn)計(jì)算進(jìn)度和打印進(jìn)度之間的同步,并使單緩沖中的每個(gè)計(jì)算結(jié)果都被兩個(gè)打印進(jìn)度分別打印一次??稍O(shè)置四個(gè)信號(hào)量:full1表示緩沖中可否有可供P01打印的計(jì)算結(jié)果,full2表示緩沖中可否有可給P02打印的計(jì)算結(jié)果;emptypl、empty2則表示計(jì)算結(jié)果可否已被P01l、P02取走,只有當(dāng)一個(gè)結(jié)果被兩個(gè)打印進(jìn)度都取走后,緩沖區(qū)才變空,計(jì)算進(jìn)度才可將下一個(gè)計(jì)算結(jié)果放入單緩沖。相應(yīng)的同步算法可描述以下:Varempty1,enpty2,full1,full2:semaphore:=1,1,0,0;beginParbeginPC:beginRepeatcomputrtnextnumber;P(empty1):P(empty2);addthenumbertobufer;V(full1);V(full2);Untilfalse;endP01:beginrepeatP(full1);takefrombufer;V(emptyl):printlastnumber;untilflase;endP02:beginRepeatP(full2);takefrombuffer;V(empty2);printlastnumber;untilfalseendparendend設(shè)有三個(gè)進(jìn)度,輸入進(jìn)度(input)、計(jì)算進(jìn)度(compute)和輸出進(jìn)度(output),它們經(jīng)過共享兩個(gè)緩沖區(qū)buf1和buf2協(xié)作達(dá)成任務(wù)。以以下列圖所示輸入進(jìn)度buf1計(jì)算進(jìn)度buf2輸出進(jìn)度三個(gè)進(jìn)度之間的合作關(guān)系以下:(1)輸入進(jìn)度使用put()函數(shù)把數(shù)據(jù)送到buf1,供計(jì)算進(jìn)度調(diào)用calculate()函數(shù)計(jì)算;(2)計(jì)算進(jìn)度每次調(diào)用get()函數(shù)從buf1取出已輸入的可計(jì)算的數(shù)據(jù)進(jìn)行計(jì)算,算結(jié)果使用put()函數(shù)把數(shù)據(jù)送到buf2送入buf供輸出進(jìn)度打印;
并把計(jì)3)輸出進(jìn)度調(diào)用get()函數(shù)把buf2中的數(shù)據(jù)使用print()函數(shù)輸出。定義合適的信號(hào)量,并用偽代碼達(dá)成實(shí)現(xiàn)過程。信號(hào)量:
nonf1、none1:輸入進(jìn)度與計(jì)算進(jìn)度同步,nonf2、none1:計(jì)算進(jìn)度與輸出進(jìn)度同步,s1、s2:分別互斥使用buf1和buf2
buf1可否為空;buf2可否為空;procedureinputbeginwait(nonf1)wait(s1)put(data);signal(s1);signal(none1);untilfalseend;procedurecomputebeginwait(none1);wait(s1);data=get();data=calculate(data);signal(s1);signal(nonf1);wait(nonf2);wait(s2);put(data);signal(s2);signal(none2);untilfalseend;procedureoutputbeginwait(none2);wait(s2);data=get();print(data);signal(s2);signal(nonf2);untilfalseend;4.設(shè)系統(tǒng)中有三類資源
A、B
和
C,又設(shè)系統(tǒng)中有
5個(gè)進(jìn)度
P1,P2,P3,P4
和
P5。在
T0
時(shí)刻系統(tǒng)狀態(tài)以下:最大需求量
已分配資源量
節(jié)余資源量AB
C
ABC
ABCP11210003163P2175100P3235135P4064002P5065001(1)系統(tǒng)可否處于安全狀態(tài)?(請(qǐng)給出詳細(xì)的判斷過程)如是,則給出進(jìn)度安全序列。2)若是進(jìn)度P5申請(qǐng)1個(gè)資源類A和1個(gè)資源類C,可否推行分配?為什么?1)利用安全性算法對(duì)T0時(shí)刻的資源分配情況進(jìn)行解析,結(jié)果以下:WorkNeedAllocationWork+AllocationFinishP3163100135298trueP12981270032911trueP229110751003911trueP439110640023913trueP539130620013914true系統(tǒng)處于安全狀態(tài),安全序列為:P3,P1,P2,P4,P5。(2)P1發(fā)出央求向量Request1(1,0,1),系統(tǒng)按銀專家算法進(jìn)行檢查:Request1(1,0,1)<=Need1(1,2,6)Request1(1,0,1)<=Available(1,6,3)3)系統(tǒng)先假設(shè)可為P1分配資源,并更正Available、Allocation1、Need1向量,資源變化情況以下:maxAllocationAvailableNeedABCABCABCABCP11210004062016P2175100075P3235135100P4064002062P5065001064節(jié)余資源可滿足P4,分給P4給還后(0,6,4)可滿足P5,分配P5歸還后(0,6,5)不滿足其他進(jìn)度要求,即不能夠推行分配,由于分配后找不到安全序列,系統(tǒng)將處于不安全狀態(tài)。設(shè)有五道作業(yè),它們的提交時(shí)間和運(yùn)行時(shí)間見下表,試給出在以下表所示的三種調(diào)換算法下,作業(yè)的執(zhí)行次序,以及平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間:先來先服務(wù)調(diào)換算法;短作業(yè)優(yōu)先調(diào)換算法;響應(yīng)比高優(yōu)先調(diào)換算法。作業(yè)提交和運(yùn)行時(shí)間表作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/hJ110.10.8J210.30.5J310.50.4J410.60.3J510.70.2(1)采用先來先服務(wù)(FCFS)算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開始運(yùn)行時(shí)間/h達(dá)成時(shí)間/hJ110.10.310.110.4J210.30.510.410.9J310.50.410.911.3J410.60.311.311.6J510.70.211.611.8J1,J2,J3,J4,J5T=[(10.4-10.1)+(10.9-10.3)+(11.3-10.5)+(11.6-10.6)+(1l.8-10.7)]/5=3.8/5=0.76hT=[(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.3-10.5)/0.4+(11.6-10.6)/0.3+(1l.8-10.7)/0.2]/5=13.033/5=2.61短作業(yè)優(yōu)先調(diào)換(SJF)算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開始運(yùn)行時(shí)間/h達(dá)成時(shí)間/hJ110.10.310.110.4J210.30.510.410.9J310.50.411.411.8J410.60.311.111.4J510.70.210.911.1J1,J2,J5,J4,J3T=[(10.4-10.1)+(10.9-10.3)+(11.8-10.5)+(11.4-10.6)+(11.1-10.7)]/5=3.4/5=0.68hT=[(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.8-10.5)/0.4+(11.4-10.6)/0.3+(11.1-10.7)/0.2]/5=10.117/5=2.02高響應(yīng)比優(yōu)先調(diào)換算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開始運(yùn)行時(shí)間/h達(dá)成時(shí)間/hJ110.10.310.110.4J210.30.510.4/10.711.0J310.50.410.6/11.511.8J410.60.311.211.5J510.70.211.011.2J1,J2,J3,J2,J5,J4,J3T=[(10.4-10.1)+(11.0-10.3)+(11.8-10.5)+(11.5-10.6)+(11.2-10.7)]/5=3.7/5=0.72hT=[(10.4-10.1)/0.3+(11.0-10.3)/0.5+(11.8-10.5)/0.4+(11.5-10.6)/0.3+(11.2-10.7)/0.2]/5=11.15/5=2.23假設(shè)系統(tǒng)有同類資源10個(gè),供P,Q、R三個(gè)進(jìn)度共享,P、Q、R所需資源總數(shù)分別為8、4、9,它們申請(qǐng)資源的次序和數(shù)量以下表所示。進(jìn)度資源申請(qǐng)表次序進(jìn)度申請(qǐng)量1R22P43Q24P25R16
Q
2按銀專家算法為它們分配資源:寫出執(zhí)行完序號(hào)為6的申請(qǐng)時(shí),各進(jìn)度的狀態(tài)和已占的資源數(shù)。請(qǐng)估計(jì)系統(tǒng)可否會(huì)出現(xiàn)死鎖,并簡要說明原因。執(zhí)行完序號(hào)為6的申請(qǐng)時(shí),各進(jìn)度的狀態(tài)和已占的資源數(shù)如表所示;P等待已占用資源4個(gè)Q就緒或運(yùn)行已占用資源4個(gè)R等待已占用資源2個(gè)依照單項(xiàng)銀專家算法,過程為:1)R申請(qǐng)2個(gè)資源時(shí),節(jié)余資源可使各進(jìn)度運(yùn)行結(jié)束,所以這個(gè)分配是安全的,故將2個(gè)資源分給R;同理,P、Q分別申請(qǐng)4,2個(gè)資源時(shí),節(jié)余資源可使各進(jìn)度運(yùn)行結(jié)束,所以這個(gè)分配也是安全的,故將4、2個(gè)資源分給P、Q;3)P申請(qǐng)2個(gè)資源時(shí),系統(tǒng)現(xiàn)在節(jié)余資源數(shù)為2,若是將這兩個(gè)資源分給P,系統(tǒng)就沒有資源了。這時(shí)的P、Q、R都還需要資源才可運(yùn)行完,這樣,P、Q、R將都進(jìn)入擁塞狀態(tài),所以P申請(qǐng)的這兩個(gè)資源不能夠分配。同理,接下來R欲申請(qǐng)1個(gè)資源也是不安全的分配,故不能夠分給。Q申請(qǐng)2個(gè)資源時(shí),假設(shè)操作系統(tǒng)分給它,Q進(jìn)度將運(yùn)行結(jié)束,Q釋放的資源又可使P運(yùn)行結(jié)束;P運(yùn)行結(jié)束,釋放的資源又可使R運(yùn)行結(jié)束。所以這個(gè)分配是安全的,故將個(gè)資源分給Q。
2不會(huì)死鎖,由于銀專家算法在任何時(shí)候均保證最少有一個(gè)進(jìn)度能獲得所需的全部資源,這樣,獲得資源的進(jìn)度能及時(shí)歸還資源供其他進(jìn)度使用7.下面給出的兩個(gè)進(jìn)度互斥的算法是安全的嗎?為什么?definetrue;#definefalse;Intflag[2];flag[1]=flag[2]=false;enter-crtsec(i)inti;{While(flag[1-i])flag[i]=true;}leave-crtsec(i)Inti;{flag[i]=false;}processI;Enter-crtsec(i);Incriticalsection;Leave-crtsec(i);從看法上講,系統(tǒng)中各進(jìn)度在邏輯上是獨(dú)立的,它們能夠按各自的速度向前推進(jìn)。但由于它們共享某些臨界資源,所以產(chǎn)生了臨界區(qū)問題。關(guān)于擁有臨界區(qū)問題的并發(fā)進(jìn)度,它們之間必定互斥,以保證不會(huì)同時(shí)進(jìn)入臨界區(qū)。這種算法不是安全的。由于,在進(jìn)入臨界區(qū)的enter-crtsec()不是一個(gè)原語操作,若是兩個(gè)進(jìn)度同時(shí)執(zhí)行完其循環(huán)(此前兩個(gè)flag均為false),則這兩個(gè)進(jìn)度可同時(shí)進(jìn)入臨界區(qū)。設(shè)系統(tǒng)有三各種類的資源,數(shù)量為(4,2,2),系統(tǒng)中有進(jìn)度A,B,C按以下次序央求資源:進(jìn)度A申請(qǐng)(3,2,1)進(jìn)度B申請(qǐng)(1,0,1)進(jìn)度A申請(qǐng)(0,1,0)進(jìn)度C申請(qǐng)(2,0,0)請(qǐng)你給出一和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 掌握紡織工程師考試的核心內(nèi)容試題及答案
- 2024年紡織品檢驗(yàn)員考試觀點(diǎn)分享試題及答案
- 中級(jí)石作業(yè)工試題及答案
- 2024年廣告設(shè)計(jì)師幸福職業(yè)路徑試題及答案
- 2024年紡織品設(shè)計(jì)師證書考試范圍分析試題及答案
- DB44-T 2327-2021 中醫(yī)養(yǎng)生保健服務(wù)標(biāo)準(zhǔn)化工作指南
- 2024年廣告設(shè)計(jì)師考試口碑分享試題及答案
- 王鏞書法簡史試題及答案
- 3 素養(yǎng)提升課二 牛頓第二定律的綜合應(yīng)用(一)
- 助理廣告師考試流程介紹試題及答案
- 2024年05月北京北京銀行博士后科研工作站招考(514)筆試歷年參考題庫附帶答案詳解
- 口腔放射類知識(shí)培訓(xùn)課件
- JTG H30-2015 公路養(yǎng)護(hù)安全作業(yè)規(guī)程
- 形勢(shì)與政策(吉林大學(xué))知到智慧樹章節(jié)測(cè)試課后答案2024年秋吉林大學(xué)
- 質(zhì)量監(jiān)督員聘用合同
- 《電力建設(shè)工程施工安全管理導(dǎo)則》(NB∕T 10096-2018)
- 9.2解析三大訴訟 課件高中政治統(tǒng)編版選擇性必修二法律與生活
- 國家自然科學(xué)基金學(xué)科分類目錄及代碼表
- 藥企醫(yī)學(xué)事務(wù)部職責(zé)
- “雙碳”背景下船舶CCUS系統(tǒng)關(guān)鍵技術(shù)分析與應(yīng)用研究
- 競(jìng)聘班組長課件
評(píng)論
0/150
提交評(píng)論