操作系統(tǒng)復(fù)習(xí):經(jīng)典進(jìn)程的同步問(wèn)題,處理機(jī)調(diào)度與死鎖,頁(yè)面置換問(wèn)題,填空選擇復(fù)習(xí)題
進(jìn)程的同步問(wèn)題
消費(fèi)者生產(chǎn)者問(wèn)題
Full:表示放有產(chǎn)品的緩沖區(qū)數(shù),其初值為0。
Empty:表示可供使用的緩沖區(qū)數(shù),其初值為N。
Mutex:互斥信號(hào)量,初值為1,表示各進(jìn)程互斥進(jìn)入臨界區(qū),保證任何時(shí)候只有一個(gè)進(jìn)程使用緩沖區(qū)。
類(lèi)比一下,mutex是廁所坑位(CPU的使用權(quán)限),初值1,規(guī)定只有一個(gè)坑位,而emptyg是則紙,N,上廁所前得先申請(qǐng)到紙才能去占坑,不然無(wú)紙占坑既做不了事還影響其他人,所以得先wait(empty),再wait(mutex)


SJF 非搶占式

例題(1)

短作業(yè)/進(jìn)程優(yōu)先調(diào)度算法: 每次調(diào)度時(shí)選擇當(dāng)前已到達(dá)且運(yùn)行時(shí)間最短的作業(yè)/進(jìn)程。因此,調(diào)度順序?yàn)?P1>P3>P2>P4周轉(zhuǎn)時(shí)間 = 完成時(shí)間—到達(dá)時(shí)間

周轉(zhuǎn)時(shí)間=完成時(shí)間-到達(dá)時(shí)間
帶權(quán)周轉(zhuǎn)時(shí)間 =周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間
等待時(shí)間=周轉(zhuǎn)時(shí)間—運(yùn)行時(shí)間
周轉(zhuǎn)時(shí)間P1=7-0=7; P3=8-4=4; P2=12-2=10; P4=16-5=11
帶權(quán)周轉(zhuǎn)時(shí)間P1=7/7=1; P3=4/1=4; P2=10/4=2.5; P4=11/4=2.75
等待時(shí)間P1=7-7=0: P3=4-1=3; P2=10-4=6; P4=11-4=7
平均周轉(zhuǎn)時(shí)間 =(7+4+10+11)/4 =8
平均帶權(quán)周轉(zhuǎn)時(shí)間=(1+4+2.5+2.75)/4 =2.56
平均等待時(shí)間=(0+3+6+7)/4 =4
SRT搶占式
最短剩余時(shí)間優(yōu)先算法: 每當(dāng)有進(jìn)程加入就緒隊(duì)列改變時(shí)就需要調(diào)度,如果新到達(dá)的進(jìn)程剩余時(shí)間比當(dāng)前運(yùn)行的進(jìn)程剩余時(shí)間更短,則由新進(jìn)程搶占處理機(jī),當(dāng)前運(yùn)行進(jìn)程重新回到就緒隊(duì)列。另外,當(dāng)一個(gè)進(jìn)程完成時(shí)也需要調(diào)度

當(dāng)有新進(jìn)程到達(dá)時(shí)就緒隊(duì)列就會(huì)改變,就要按照上述規(guī)則進(jìn)行檢查。以下 P。(m)表示當(dāng)前 P.進(jìn)程剩余時(shí)間為 m。各個(gè)時(shí)刻的情況如下:
0時(shí)刻 (P1到達(dá)) : P(7)
2時(shí)刻 (P2到達(dá)): P1(5)、P2(4)
4時(shí)刻(P3到達(dá)): P1(5)、P2(2)、P3(1)
5時(shí)刻 (P3完成且P4剛好到達(dá)) : P1(5)、P2(2)、P4 (4)
7時(shí)刻 (P2完成):P1(5)、P4 (4)
11時(shí)刻 (P4完成) :P1(5)
周轉(zhuǎn)時(shí)間 = 完成時(shí)間-到達(dá)時(shí)間
帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間
P1=16-0=16: 2=7-2=5; P3=5-4=1; P4=11-5=6
P1=16/7=2.28; P2=5/4=1.25; P3=1/1=1; P4=6/4=1.5
HRRF高響應(yīng)比算法
高響應(yīng)比優(yōu)先算法(HRRN,Highest Response Ratio Next)
考慮到各個(gè)作業(yè)的等待時(shí)間,也能兼顧運(yùn)行時(shí)間
高響應(yīng)比優(yōu)先算法:非搶占式的調(diào)度算法,只有當(dāng)前運(yùn)行的進(jìn)程主動(dòng)放棄CPU時(shí)(正常/異常完成,或主動(dòng)阻塞),才需要進(jìn)行調(diào)度,調(diào)度時(shí)計(jì)算所有就緒進(jìn)程的響應(yīng)比,選響應(yīng)比最高的進(jìn)程上處理機(jī)。

相應(yīng)比 =(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間
0時(shí)刻:只有 P,到達(dá)就緒隊(duì)列,P上處理機(jī)7時(shí)刻(P1主動(dòng)放棄CPU): 就緒隊(duì)列中有 P2(響應(yīng)比=(5+4)/4=2.25)、P3((3+1)/1=3)、P4(2+4)/4=1.5),
8時(shí)刻 (P3完成): P3(2.5)、 P4(1.75)
12時(shí)刻 (P2完成):就緒隊(duì)列中只剩下P4
頁(yè)面置換算法
什么是頁(yè)面置換算法?
在進(jìn)程運(yùn)行的過(guò)程當(dāng)中,進(jìn)程所要訪(fǎng)問(wèn)的頁(yè)面不再內(nèi)存中,我們就需要把這個(gè)不存在的頁(yè)面調(diào)入內(nèi)存,但內(nèi)存已經(jīng)沒(méi)有空閑空間了,這時(shí)候就要求系統(tǒng)從內(nèi)存中調(diào)出一個(gè)頁(yè)面,將其移入磁盤(pán)的對(duì)換區(qū)中。將哪個(gè)頁(yè)面調(diào)出來(lái),就要通過(guò)算法來(lái)確定。我們把選擇換出頁(yè)面的算法就叫做頁(yè)面置換算法。
頁(yè)面置換算法的理論目標(biāo):
將那些以后不再會(huì)訪(fǎng)問(wèn)的頁(yè)面換出
把那些在較長(zhǎng)時(shí)間內(nèi)不會(huì)被訪(fǎng)問(wèn)的頁(yè)面換出
缺頁(yè)就是要訪(fǎng)問(wèn)的頁(yè)面并不在物理內(nèi)存中。
缺頁(yè)中斷訪(fǎng)問(wèn)的頁(yè)面已經(jīng)映射到了虛擬存儲(chǔ)空間中,但是物理內(nèi)存已滿(mǎn),這時(shí)候CPU的內(nèi)存存儲(chǔ)單元就會(huì)發(fā)出中斷。
缺頁(yè)中斷次數(shù)=進(jìn)程的物理塊數(shù)+頁(yè)面置換次數(shù)
最佳置換算法是一種理論上的算法,目前該算法還無(wú)法實(shí)現(xiàn),但我們可以用最佳置換算法OPT去評(píng)價(jià)其他算法。
最佳置換算法OPT(向后看)
選擇的被淘汰頁(yè)面是以后用不使用的,或者是在未來(lái)最長(zhǎng)一段時(shí)間內(nèi)不再被訪(fǎng)問(wèn)的頁(yè)面。
假定系統(tǒng)給某進(jìn)程分配了三個(gè)物理塊,頁(yè)面號(hào)引用串為"7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1"
最佳頁(yè)面置換算法舉例
步驟 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
頁(yè)面號(hào) 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
物理塊1 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7
物理塊2 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0
物理塊3 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1
頁(yè)面置換次數(shù):6次;分別是步驟4、6、8、11、14、18
缺頁(yè)次數(shù):9;分別是步驟1、2、3(插入新頁(yè)面3次)+頁(yè)面置換6次
先進(jìn)先出頁(yè)面置換算法FIFO
先進(jìn)先出算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,就是淘汰掉在內(nèi)存中駐留時(shí)間最久的頁(yè)面。
出發(fā)點(diǎn)是近期調(diào)入的頁(yè)面被再次訪(fǎng)問(wèn)的概率要大于早期調(diào)入頁(yè)面的概率實(shí)現(xiàn)簡(jiǎn)單
假定系統(tǒng)給某進(jìn)程分配了三個(gè)物理塊,頁(yè)面號(hào)引用串為"7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1"
最佳頁(yè)面置換算法舉例
步驟 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
頁(yè)面號(hào) 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
物理塊1 7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7
物理塊2 0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0 0
物理塊3 1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1
替換指針指向當(dāng)前存在時(shí)間最長(zhǎng)的頁(yè)面
頁(yè)面置換次數(shù):12次;分別是步驟4、6、7、8、9、10、11、14、15、18、19、20
缺頁(yè)次數(shù):15;分別是步驟1、2、3(插入新頁(yè)面3次)+頁(yè)面置換12次
FIFO算法,找替換指針(淘汰頁(yè)面)的小竅門(mén):看哪個(gè)頁(yè)面連續(xù)出現(xiàn)的次數(shù)最長(zhǎng),連續(xù)出現(xiàn)次數(shù)最長(zhǎng)的頁(yè)面就是在內(nèi)存中存在最久的頁(yè)面,即淘汰頁(yè)面。
LRU置換算法? 淘汰最近最久未使用的
LRU算法 least recently used
最近最少使用頁(yè)面置換算法?
思想:每次選擇內(nèi)存中離當(dāng)前時(shí)刻最久未使用過(guò)的頁(yè)面淘汰
依據(jù)的原理是局部性原理
頁(yè)面走向“4、3、2、1、4、3、5、4、3、2、1、5”,主存容量=3,采用LRU算法進(jìn)行頁(yè)面淘汰
步驟123456789101112
頁(yè)面432143543215
棧頂物理塊? 12143543215
物理塊? 233214354321
棧底物理塊3444321435432
步驟1:裝入頁(yè)面4
步驟2:裝入頁(yè)面3
步驟3:裝入頁(yè)面2
步驟4:裝入頁(yè)面1,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面2、3、4;當(dāng)前最久未使用的頁(yè)面是頁(yè)面4,所以將頁(yè)面4置換成頁(yè)面1;最久未使用頁(yè)面變?yōu)轫?yè)面3
步驟5:裝入頁(yè)面4,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面1、2、3;最久未使用的頁(yè)面是頁(yè)面3,所以將頁(yè)面3置換成頁(yè)面4;最久未使用頁(yè)面變?yōu)轫?yè)面2
步驟6:裝入頁(yè)面3,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面4、1、2;最久未使用的頁(yè)面是頁(yè)面2,所以將頁(yè)面2置換成頁(yè)面3;最久未使用頁(yè)面變?yōu)轫?yè)面1
步驟7:裝入頁(yè)面5,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面3、4、1;最久未使用的頁(yè)面是頁(yè)面1,所以將頁(yè)面1置換成頁(yè)面5;最久未使用頁(yè)面變成頁(yè)面4
步驟8:裝入頁(yè)面4,內(nèi)存中存在頁(yè)面4,當(dāng)前最久未使用的頁(yè)面是頁(yè)面4,裝入頁(yè)面4后,最久未使用頁(yè)面變成頁(yè)面3
步驟9:裝入頁(yè)面3,內(nèi)存中存在頁(yè)面3,當(dāng)前最久未使用的頁(yè)面是頁(yè)面3,裝入頁(yè)面3后,最久未使用頁(yè)面變成頁(yè)面5
步驟10:裝入頁(yè)面2,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面3、4、5;最久未使用的頁(yè)面是頁(yè)面5,所以將頁(yè)面5置換成頁(yè)面2;最久未使用頁(yè)面變成頁(yè)面4
步驟11:裝入頁(yè)面1,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面2、3、4;最久未使用的頁(yè)面是頁(yè)面4,所以將頁(yè)面4置換成頁(yè)面1;最久未使用頁(yè)面變成頁(yè)面3
步驟12:裝入頁(yè)面5,內(nèi)存容量不足,依據(jù)LRU算法,內(nèi)存中有三個(gè)頁(yè)面1、2、3;最久未使用的頁(yè)面是頁(yè)面3,所以將頁(yè)面3置換成頁(yè)面5;最久未使用頁(yè)面變成頁(yè)面2
產(chǎn)生死鎖必須同時(shí)滿(mǎn)足一下四個(gè)條件,只要其中任一條件不成立,死鎖就不會(huì)發(fā)生。
互斥條件:只有對(duì)必須互斥使用的資源的爭(zhēng)搶才會(huì)導(dǎo)致死鎖(如哲學(xué)家的筷子、打印機(jī)設(shè)備)像內(nèi)存、揚(yáng)聲器這樣可以同時(shí)讓多個(gè)進(jìn)程使用的資源是不會(huì)導(dǎo)致死鎖的(因?yàn)檫M(jìn)程不用阻塞等待這種資源)。
不剝奪條件:進(jìn)程所獲得的資源在未使用完之前,不能由其他進(jìn)程強(qiáng)行奪走,只能主動(dòng)釋放
請(qǐng)求和保持條件:進(jìn)程已經(jīng)保持了至少一個(gè)資源,但又提出了新的資源請(qǐng)求,而該資源又被其他進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程被阻塞,但又對(duì)自己已有的資源保持不放。
循環(huán)等待條件:存在一種進(jìn)程資源的循環(huán)等待鏈,鏈中的每一個(gè)進(jìn)程己獲得的資源同時(shí)被下一個(gè)進(jìn)程所請(qǐng)求。
注意!發(fā)生死鎖時(shí)一定有循環(huán)等待,但是發(fā)生循環(huán)等待時(shí)未必死鎖(循環(huán)等待是死鎖的必要不充分條件)
什么時(shí)候會(huì)發(fā)生死鎖?
1.對(duì)系統(tǒng)資源的競(jìng)爭(zhēng)。各進(jìn)程對(duì)不可剝奪的資源(如打印機(jī))的競(jìng)爭(zhēng)可能引起死鎖,對(duì)可剝奪的資源(CPU)的競(jìng)爭(zhēng)是不會(huì)引起死鎖的。
2.進(jìn)程推進(jìn)順序非法。請(qǐng)求和釋放資源的順序不當(dāng),也同樣會(huì)導(dǎo)致死鎖。例如,并發(fā)執(zhí)行的進(jìn)程P1、P2分別申請(qǐng)的資源被對(duì)方占有而阻塞,從而發(fā)生死鎖。
3.信號(hào)量的使用不當(dāng)也會(huì)造成死鎖。如生產(chǎn)者-消費(fèi)者問(wèn)題中,如果實(shí)現(xiàn)互斥的P操作在實(shí)現(xiàn)同步的P操作之前,就有可能導(dǎo)致死鎖。(可以把互斥信號(hào)量、同步信號(hào)量也看作是一種抽象的系統(tǒng)資源)
靜態(tài)策略:預(yù)防死鎖
?a.破壞互斥條件
互斥條件:只有對(duì)必須互斥使用的資源的爭(zhēng)搶才會(huì)導(dǎo)致死鎖
如果把只能互斥使用的資源改造為允許共享使用,則系統(tǒng)不會(huì)進(jìn)入死鎖狀態(tài)。比如:SPOOLing技術(shù)。操作系統(tǒng)可以采用SPOOLing技術(shù)把獨(dú)占設(shè)備在邏輯上改造成共享設(shè)備
b.破壞不剝奪條件
不剝奪條件:進(jìn)程所獲得的資源在未使用完之前,不能由其他進(jìn)程強(qiáng)行奪走,只能主動(dòng)釋放。
破壞不剝奪條件:
c.破壞請(qǐng)求和保持條件
請(qǐng)求和保持條件:進(jìn)程已經(jīng)保持了至少一個(gè)資源,但又提出了新的資源請(qǐng)求,而該資源又被其他進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程被阻塞,但又對(duì)自己已有的資源保持不放。
d.破壞循環(huán)等待條件
循環(huán)等待條件:存在一種進(jìn)程資源的循環(huán)等待鏈,鏈中的每一個(gè)進(jìn)程已獲得的資源同時(shí)被下一個(gè)進(jìn)
程所請(qǐng)求。
動(dòng)態(tài)策略:避免死鎖
什么是安全序列?
?所謂安全序列,就是指如果系統(tǒng)按照這種序列分配資源,則每個(gè)進(jìn)程都能順利完成。只要能找出一個(gè)安全序列,系統(tǒng)就是安全狀態(tài)。當(dāng)然,安全序列可能有多個(gè)。
如果分配了資源之后,系統(tǒng)中找不出任何一個(gè)安全序列,系統(tǒng)就進(jìn)入了不安全狀態(tài)。這就意味著之后可能所有進(jìn)程都無(wú)法順利的執(zhí)行下去。當(dāng)然,如果有進(jìn)程提前歸還了一些資源,那系統(tǒng)也有可能重新回到安全狀態(tài),不過(guò)我們?cè)诜峙滟Y源之前總是要考慮到最壞的情況。
安全序列、不安全狀態(tài)、死鎖的聯(lián)系
如果系統(tǒng)處于安全狀態(tài),就一定不會(huì)發(fā)生死鎖。如果系統(tǒng)進(jìn)入不安全狀態(tài),就可能發(fā)生死鎖(處于不安全狀態(tài)未必就是發(fā)生了死鎖,,但發(fā)生死鎖時(shí)一定是在不安全狀態(tài))
因此可以在資源分配之前預(yù)先判浙這次分配是否會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),以此決定是否答應(yīng)資源分配請(qǐng)求。這也是“銀行家算法”的核心思想。
系統(tǒng)處于不安全狀態(tài)后,不一定進(jìn)入死鎖狀態(tài),但是,只要系統(tǒng)處于安全狀態(tài),系統(tǒng)便一定不會(huì)進(jìn)入死鎖狀態(tài)。
相關(guān)數(shù)據(jù)結(jié)構(gòu)
Available ——可利用的資源數(shù) Available[j]=K 表示系統(tǒng)中現(xiàn)有Rj類(lèi)資源K個(gè)
Max ——資源最大需求數(shù) Max[i,j]=K 表示進(jìn)程i需要Rj類(lèi)資源的最大數(shù)目為K
Allocation ——已分配資源數(shù) Allocation[i,j]=K 表示進(jìn)程i當(dāng)前已分得Rj類(lèi)資源的數(shù)目為K
Need ——還需資源數(shù) Need[i,j]=K 表示進(jìn)程i還需要Rj類(lèi)資源K個(gè)
存在關(guān)系 —— Need[i,j] = MAx[i,j] - Allocation[i,j]

(1)該狀態(tài)是否安全?
(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
試問(wèn):
(1)該狀態(tài)是否安全?
(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?
題目中的資源數(shù)應(yīng)當(dāng)看作是對(duì)四種資源的不同請(qǐng)求數(shù),例如對(duì)于‘Available’=‘1 6 2 2’,我們應(yīng)理解為系統(tǒng)當(dāng)前四種資源可用個(gè)數(shù)分別為‘1’、‘6’、‘2’、‘2’。
?

首先根據(jù)目前系統(tǒng)中可用資源為‘1 6 2 2’,只滿(mǎn)足P0還需要的資源數(shù),故第一步先為P0分配資源。P0獲得運(yùn)行所需的全部資源后,完成執(zhí)行,歸還資源,此時(shí)系統(tǒng)中可用資源為‘Work + Allocation’=‘1 6 5 4’,即為下一步中的‘Work’。

此時(shí)系統(tǒng)中可用資源為‘1 6 5 4’,再查看各個(gè)進(jìn)程的‘Need’,只滿(mǎn)足P3,故為P3分配資源。P3執(zhí)行完成后歸還資源,此時(shí)系統(tǒng)中可用資源為‘Work + Allocation’=‘1 9 8 6’。

此時(shí)系統(tǒng)中可用資源為‘1 9 8 6’,再查看各個(gè)進(jìn)程的‘Need’,可以發(fā)現(xiàn)P1和P4均可滿(mǎn)足,此時(shí)我們可以任選一進(jìn)程為其分配資源,此處筆者選擇P1進(jìn)行資源分配。P1執(zhí)行完成后歸還資源,此時(shí)系統(tǒng)中可用資源為‘Work + Allocation’=‘2 9 8 6’。

此時(shí)系統(tǒng)中可用資源為‘2 9 8 6’,再查看各個(gè)進(jìn)程的‘Need’,可以發(fā)現(xiàn)P2和P4均可滿(mǎn)足,此時(shí)我們?nèi)匀皇强梢匀芜x一進(jìn)程為其分配資源,此處筆者選擇P2進(jìn)行資源分配。P2執(zhí)行完成后歸還資源,此時(shí)系統(tǒng)中可用資源為‘Work + Allocation’=‘3 12 13 10’。

此時(shí)系統(tǒng)中可用資源為‘3 12 13 10’,再查看各個(gè)進(jìn)程的‘Need’,可以發(fā)現(xiàn)P4可滿(mǎn)足,為P4進(jìn)行資源分配。P4執(zhí)行完成后歸還資源,此時(shí)系統(tǒng)中可用資源為‘Work + Allocation’=‘3 12 13 10’。
至此全部進(jìn)程均已成功分配資源并運(yùn)行結(jié)束。并且所有進(jìn)程的‘Finish’=true都滿(mǎn)足,系統(tǒng)處于安全狀態(tài),且系統(tǒng)的一個(gè)安全序列為<P0,P3,P1,P2,P4>。 該系統(tǒng)不止一個(gè)安全序列。
解題思路:按照銀行家算法對(duì)該請(qǐng)求進(jìn)行比較、判斷。
Request ≤ Need? 若不成立,則出錯(cuò),因?yàn)檎?qǐng)求的資源超過(guò)其最大資源需求。
Request ≤ Available? 若不成立,則等待,因?yàn)橄到y(tǒng)可供分配的資源個(gè)數(shù)無(wú)法滿(mǎn)足該進(jìn)程。
嘗試分配,并將‘Available’、‘Allocation’、‘Need’進(jìn)行修改,判斷安全性。
Available = Available - Request
Allocation = Allocation + Request
Need = Need - Request
Request(1,2,2,2)≤ Need(2,3,5,6)成立
Request(1,2,2,2)≤ Available(1,6,2,2)成立
做出如下修改:
Available = Available - Request 即Available =(0,4,0,0)
Allocation = Allocation + Request 即Allocation =(2,5,7,6)
Need = Need - Request 即Need =(1,1,3,4)
在嘗試分配的過(guò)程中,我們可以發(fā)現(xiàn)若滿(mǎn)足P2提出的請(qǐng)求Request(1,2,2,2),此時(shí)無(wú)進(jìn)程的‘Need’可被‘Available’滿(mǎn)足,該系統(tǒng)不存在一個(gè)安全序列。因此系統(tǒng)不會(huì)將資源分配給P2。
解題思路:
首先明白各個(gè)表頭的含義,Allocation——該進(jìn)程已分配的資源數(shù);Need——該進(jìn)程還需要的資源數(shù);Available——系統(tǒng)當(dāng)前可分配的資源數(shù)。
目前系統(tǒng)中的可用資源為‘1 6 2 2’,與各個(gè)進(jìn)程還需要的資源數(shù)進(jìn)行比較,尋找可為其進(jìn)行資源分配的進(jìn)程。試探性地為進(jìn)程分配資源,若系統(tǒng)存在安全序列,則證明安全。
a.死鎖的檢測(cè)
為了能對(duì)系統(tǒng)是否已發(fā)生死鎖進(jìn)行檢測(cè),必須:

如果這個(gè)進(jìn)程執(zhí)行結(jié)束了把資源歸還系統(tǒng),就可能使某些正在等待資源的進(jìn)程被激活,并順利地執(zhí)行 相應(yīng)的,這此被激活的進(jìn)程執(zhí)行完了之后又會(huì)歸還一些資源,這樣可能又會(huì)激活另外一些阻塞的進(jìn)程..
如果按上述過(guò)程分析,最終能消除所有邊,就稱(chēng)這個(gè)圖是可完全簡(jiǎn)化的。此時(shí)一定沒(méi)有發(fā)生死鎖(相當(dāng)于能找到一個(gè)安全序列)
如果最終不能消除所有邊,那么此時(shí)就是發(fā)生了死鎖。最終還連著邊的那些進(jìn)程就是處于死鎖狀態(tài)的進(jìn)程。
b.死鎖的解除
一旦檢測(cè)出死鎖的發(fā)生,就應(yīng)該立即解除死鎖。
補(bǔ)充:并不是系統(tǒng)中所有的進(jìn)程都是死鎖狀態(tài),用死鎖檢測(cè)算法化簡(jiǎn)資源分配圖后,還連著邊的那些進(jìn)程就是死鎖進(jìn)程
解除死鎖的主要方法有:
1.資源剝奪法。掛起(暫時(shí)放到外存上)某些死鎖進(jìn)程,并搶占它的資源,將這些資源分配給其他的死鎖進(jìn)程。但是應(yīng)防止被掛起的進(jìn)程長(zhǎng)時(shí)間得不到資源而饑餓。
2.撤銷(xiāo)進(jìn)程法(或稱(chēng)終止進(jìn)程法)。強(qiáng)制撤銷(xiāo)部分、甚至全部死鎖進(jìn)程,并剝奪這些進(jìn)程的資源。這種方式的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,但所付出的代價(jià)可能會(huì)很大。因?yàn)橛行┻M(jìn)程可能已經(jīng)運(yùn)行了很長(zhǎng)時(shí)間,已經(jīng)接近結(jié)束了,一.旦被終止可謂功虧一簣,以后還得從頭再來(lái)。
3. 進(jìn)程回退法。讓一個(gè)或多個(gè)死鎖進(jìn)程回退到足以避免死鎖的地步。這就要求系統(tǒng)要記錄進(jìn)程的歷史信息,設(shè)置還原點(diǎn)。
1.?一個(gè)完整的計(jì)算機(jī)系統(tǒng)由兩大部分組成:計(jì)算機(jī)硬件和計(jì)算機(jī)軟件;
2.?計(jì)算機(jī)硬件系統(tǒng)的基本組成 : 運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備。馮 諾依曼結(jié)構(gòu)??運(yùn)算器和控制器統(tǒng)稱(chēng)為中央處理器;
3.?軟件分為系統(tǒng)軟件和應(yīng)用軟件?并發(fā)性、共享性、虛擬性、異步性
4.?共享可分為 互斥共享、同時(shí)共享兩種方式
5.?OS的五大管理功能:處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理、文件管理、用戶(hù)接口
1、以下給出的操作系統(tǒng)中交互性最強(qiáng)的是(C)
?????A.批量處理系統(tǒng) ?????B.實(shí)時(shí)系統(tǒng)
?????C.分時(shí)系統(tǒng) ?????????D.網(wǎng)絡(luò)操作系統(tǒng)
?
2、OS的主要功能是管理計(jì)算機(jī)系統(tǒng)中的(D)
A.程序 ?????B.數(shù)據(jù) ????C.文件 ????D.資源
?
3、下列作業(yè)類(lèi)型中,適合在分時(shí)系統(tǒng)中運(yùn)行的有(A)和(C);適合在批處理系統(tǒng)中運(yùn)行的有(B)和(D)。
????A.學(xué)習(xí)編程 ?????????B.數(shù)據(jù)統(tǒng)計(jì)
C.發(fā)送電子郵件 ?????D.整理磁盤(pán)
?
4、以下(B)不是設(shè)計(jì)實(shí)時(shí)OS主要的追求目標(biāo)。
??A.安全可靠 ???????B.資源利用率
???C.及時(shí)響應(yīng) ???????D.快速處理
?
5.下列選擇中, (D)不是操作系統(tǒng)關(guān)心的主要問(wèn)題。
?A.管理計(jì)算機(jī)裸機(jī)
?B.設(shè)計(jì)、提供用戶(hù)程序與計(jì)算機(jī)硬件系統(tǒng)的界面
?C.管理計(jì)算機(jī)系統(tǒng)資源
?D.高級(jí)程序設(shè)計(jì)語(yǔ)言的編譯器
?
6.下面哪個(gè)資源不是操作系統(tǒng)應(yīng)該管理的__D__ 。
?A.CPU ???B.內(nèi)存 ???C.外存 ???D.源程序
?
8、判斷:多道程序技術(shù)的實(shí)現(xiàn)需要多處理機(jī)支持。(錯(cuò))
?
9、多道程序技術(shù)能提高CPU的使用效率,這是因?yàn)榘l(fā)揮了?CPU ?與?I/O設(shè)備???之間的并行工作能力。
?
10、操作系統(tǒng)的基本類(lèi)型主要有?分時(shí)操作系統(tǒng)?????、?實(shí)時(shí)操作系統(tǒng)????、和?批處理操作系統(tǒng)????。
11、雖然不同的操作系統(tǒng)具有各自的特點(diǎn),但它們都具有以下4個(gè)基本特征?異步???、??共享???、?虛擬?????、和???并發(fā)性???。
?并發(fā)和并行的區(qū)別
?并行性是兩個(gè)或多個(gè)事件在同一個(gè)時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。
分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)區(qū)別
系統(tǒng)的設(shè)計(jì)目標(biāo)不同。分時(shí)系統(tǒng)是設(shè)計(jì)成一個(gè)多用戶(hù)的通用系統(tǒng),交互能力強(qiáng);而實(shí)時(shí)系統(tǒng)大都是專(zhuān)用系統(tǒng)。
交互性的強(qiáng)弱不同。分時(shí)系統(tǒng)是多用戶(hù)的通用系統(tǒng),交互性強(qiáng);而實(shí)時(shí)系統(tǒng)是專(zhuān)用系統(tǒng),僅允許操作并訪(fǎng)問(wèn)的有限的專(zhuān)用程序,不能隨便修改,且交互能力差。
響應(yīng)時(shí)間的敏感程度不同。分時(shí)系統(tǒng)是以用戶(hù)能接收的等待時(shí)間為系統(tǒng)的設(shè)計(jì)依據(jù),而實(shí)時(shí)系統(tǒng)是以被測(cè)物體所能接受的延遲為系統(tǒng)設(shè)計(jì)依據(jù)。實(shí)時(shí)系統(tǒng)對(duì)響應(yīng)時(shí)間的敏感程度更強(qiáng)。
分時(shí)系統(tǒng)按相等的時(shí)間片調(diào)度進(jìn)程輪流運(yùn)行,通用性強(qiáng),交互性強(qiáng),及時(shí)響應(yīng)性要求一般(通常數(shù)量級(jí)為秒);有調(diào)度程序自動(dòng)計(jì)算進(jìn)程的優(yōu)先級(jí),而非用戶(hù)控制優(yōu)先級(jí)。不能實(shí)時(shí)響應(yīng)外部異常事件。適于科學(xué)計(jì)算、信息查詢(xún)等。
實(shí)時(shí)系統(tǒng)往往是專(zhuān)用的,系統(tǒng)與應(yīng)用很難分離,常常緊密結(jié)合在一起,實(shí)時(shí)系統(tǒng)并不強(qiáng)調(diào)資源利用率,而更關(guān)心及時(shí)響應(yīng)性(通常數(shù)量級(jí)為毫秒或微秒)、可靠性等。與分時(shí)系統(tǒng)相比,實(shí)時(shí)系統(tǒng)要求有更高的可靠性和更嚴(yán)格的及時(shí)性。限定時(shí)間完成監(jiān)控功能和響應(yīng)外部異常。適于:過(guò)程控制、數(shù)據(jù)采集、通信、多媒體信息處理等。
?操作系統(tǒng)定義
計(jì)算機(jī)系統(tǒng)中的一種軟件。是具有特定功能的程序模塊的集合,能有效管理軟硬件資源,合理組織工作流程,向用戶(hù)提供服務(wù),使用戶(hù)方便地使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能高效運(yùn)行。
:多道程序設(shè)計(jì)技術(shù)是指把多個(gè)程序同時(shí)存放在內(nèi)存中,使它們同時(shí)處于運(yùn)行狀態(tài)。這些作業(yè)共享處理器時(shí)間和外部設(shè)備以及其他資源。
多道程序設(shè)計(jì)技術(shù)的主要特點(diǎn)是:多道、宏觀(guān)上并行、微觀(guān)上串行。多道是指計(jì)算機(jī)內(nèi)存中同時(shí)存放多道相互獨(dú)立的程序。宏觀(guān)上并行是指同時(shí)進(jìn)入系統(tǒng)中的多道程序都處于運(yùn)行過(guò)程中。微觀(guān)上串行是指在單處理機(jī)環(huán)境中,內(nèi)存中的多道程序輪流占有CPU,交替執(zhí)行
?
第二章
1、在進(jìn)程管理中,當(dāng)(C)時(shí),進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。 ?
A.進(jìn)程被進(jìn)程調(diào)度程序選中 ?B.等待某一事件
????C.等待的事件發(fā)生 ?????????D.時(shí)間片用完
2、分配到必要的資源并獲得處理器是的進(jìn)程狀態(tài)是(B)
????A.就緒狀態(tài) ????B.執(zhí)行狀態(tài)
C.阻塞狀態(tài) ????D.撤消狀態(tài)
3、一個(gè)運(yùn)行的進(jìn)程用完了分配給它的時(shí)間片后,它的狀態(tài)變?yōu)椋ˋ)
A.就緒 ??B.等待 ??C.運(yùn)行 ???D.由用戶(hù)自己確定
4、進(jìn)程的特征有(ABCDE)。
????A.動(dòng)態(tài)性 ?B.靜態(tài)性 ?C.并發(fā)性 ??D.獨(dú)立性
E.異步性 ?F.結(jié)構(gòu)特性
5、在進(jìn)程狀態(tài)轉(zhuǎn)換時(shí),下列哪一種狀態(tài)轉(zhuǎn)換是不可能發(fā)生的?(D)
?????A.就緒態(tài)→運(yùn)行態(tài) ???????B.運(yùn)行態(tài)→就緒態(tài)????
C.運(yùn)行態(tài)→等待態(tài) ???????D.阻塞態(tài)→運(yùn)行態(tài)
?
6、某進(jìn)程在運(yùn)行過(guò)程中需要等待從磁盤(pán)上讀入數(shù)據(jù),此時(shí)該進(jìn)程的狀態(tài)將(C)。
???A.從就緒變?yōu)檫\(yùn)行 ???????B.從運(yùn)行變?yōu)榫途w
C.從運(yùn)行變?yōu)樽枞????????D.從阻塞變?yōu)榫途w ?
7、對(duì)進(jìn)程的管理和控制使用(B)
A.指令 ?B.原語(yǔ) ?C.信號(hào)量 ??D.信箱通信
8、操作系統(tǒng)通過(guò)(B)對(duì)進(jìn)程進(jìn)行管理。
????A.進(jìn)程 ????B.進(jìn)程控制塊 C.進(jìn)程啟動(dòng)程序 ????D.進(jìn)程控制區(qū)
9、OS中有一組常稱(chēng)為特殊系統(tǒng)調(diào)用的程序,它不能被系統(tǒng)中斷,在OS中稱(chēng)為(B)
A.初始化程序 ?B.原語(yǔ) ??C.子程序 ???D.控制模塊
10、一個(gè)進(jìn)程被喚醒意味著(B)
????A.該進(jìn)程重新占有了CPU ?B.進(jìn)程狀態(tài)變?yōu)榫途w
C.它的優(yōu)先權(quán)變?yōu)樽畲????D.其PCB移至就緒隊(duì)列的隊(duì)首
11、下列選項(xiàng)中,導(dǎo)致創(chuàng)進(jìn)新進(jìn)程的操作是(C)
I 用戶(hù)成功登陸 ?II 設(shè)備分配???III 啟動(dòng)程序執(zhí)行
A:僅 I 和 II
B:僅 II 和 III
C:僅 I 和 III
D:I,II,II
12、設(shè)與某資源相關(guān)聯(lián)的信號(hào)量初值為 3,當(dāng)前值為 1,若 M 表示該資源的可用個(gè)數(shù),N 表示等待資源的進(jìn)程數(shù),則 M,N 分別是(B)
A:0,1
B:1,0
C:1,2
D:2,0?
分析:信號(hào)量初值為3,代表臨界區(qū)內(nèi)資源共有3個(gè);
當(dāng)前值為1,說(shuō)明已有2個(gè)進(jìn)程進(jìn)入臨界區(qū),還剩下1個(gè)資源,因此M=1;
由于信號(hào)量>0,故無(wú)等待進(jìn)程,因此N=0。
第三章
1、設(shè)4個(gè)作業(yè)同時(shí)到達(dá),每個(gè)作業(yè)的執(zhí)行時(shí)間均為2小時(shí),它們?cè)谝慌_(tái)處理器上按單道方式運(yùn)行,則平均周轉(zhuǎn)時(shí)間為(B)
A.1小時(shí) ?B.5小時(shí) ?C.6.5小時(shí) ?D.8小時(shí)
2、作業(yè)調(diào)度算法常考慮的因素之一是使系統(tǒng)有最高的吞吐率,為此應(yīng)(B)。
????A.不讓處理器空閑 ??????B.能處理盡可能多的作業(yè)
C.使各類(lèi)用戶(hù)都滿(mǎn)意 ????D.不使系統(tǒng)過(guò)于復(fù)雜
3、在各類(lèi)調(diào)度算法中,如果所有作業(yè)同時(shí)到達(dá),則平均等待時(shí)間最短的算法是(C)
A.FCFS ?B.HRRF ? ??C.SJF ? ??D.優(yōu)先數(shù)
4、下列調(diào)度算法中不屬于作業(yè)調(diào)度算法的有(A)
A.輪轉(zhuǎn)法 ?B.優(yōu)先數(shù)法 ??C.FCFS ??D.SJF
5、在多道批處理系統(tǒng)中,為充分利用各種資源,作業(yè)調(diào)度程序應(yīng)選擇的作業(yè)類(lèi)型是(D)。
????A.適應(yīng)于內(nèi)存分配的 ???B.計(jì)算量大的
C.I/O量大的 ??????????D.計(jì)算型和I/O型搭配的
6、實(shí)時(shí)系統(tǒng)中的進(jìn)程調(diào)度,通常采用(D)算法
A.FCFS B.HRRF C.時(shí)間片輪轉(zhuǎn) D.搶占式優(yōu)先數(shù)高者優(yōu)
7、分時(shí)系統(tǒng)中的進(jìn)程調(diào)度,通常采用(C)算法
A.FCFS B.RR ?C.SJF ????D.最高優(yōu)先權(quán)
8、下面列出的是進(jìn)程調(diào)度算法中選擇進(jìn)程的準(zhǔn)則,其中面向用戶(hù)的有(CD)
??A.吞吐量高 ?B.公平性原則 ?C.響應(yīng)時(shí)間快 ?D.周轉(zhuǎn)時(shí)間短
??E.各類(lèi)資源的平衡利用
9、(C)進(jìn)程算法綜合考慮了CPU密集型進(jìn)程和I/O密集型進(jìn)程 ???
A.時(shí)間片輪轉(zhuǎn) ?B.優(yōu)先級(jí) ?C.多重隊(duì)列 ?D.彩票
10、某計(jì)算機(jī)系統(tǒng)中有8臺(tái)打印機(jī),有K個(gè)進(jìn)程競(jìng)爭(zhēng)使用,每個(gè)進(jìn)程最多需要3臺(tái)打印機(jī)。該系統(tǒng)可能會(huì)發(fā)生死鎖的K的最小值是?(C)(?不會(huì)發(fā)生死鎖的最大值是?)
A.2???? ?B.3???? ?C.4?????D.5??
本題目考查資源、進(jìn)程數(shù)和死鎖之間的關(guān)系。據(jù)題意,不會(huì)出現(xiàn)死鎖的的條件為2K+1≤8,得K≤3.5,即K的值最大為3時(shí),不會(huì)出現(xiàn)死鎖。因此,系統(tǒng)可能會(huì)發(fā)生死鎖的K的最小值是4。因此,應(yīng)該選擇C死鎖的K的最小值是4。因此,應(yīng)該選擇C。
11、對(duì)資源編號(hào),要求進(jìn)程按照序號(hào)順序申請(qǐng)資源,是破壞了死鎖必要條件中的哪一條?(D)
A. 互斥??????B. 請(qǐng)求與保持?????C. 不可剝奪?????D. 循環(huán)等待
?
12、某系統(tǒng)采用了銀行家算法,則下列敘述正確的是(B)。
A.系統(tǒng)處于不安全狀態(tài)時(shí)一定會(huì)發(fā)生死鎖??
B.系統(tǒng)處于不安全狀態(tài)時(shí)可能會(huì)發(fā)生死鎖
C.系統(tǒng)處于安全狀態(tài)時(shí)可能會(huì)發(fā)生死鎖??
D.系統(tǒng)處于安全狀態(tài)時(shí)一定會(huì)發(fā)生死鎖
13、下列關(guān)于銀行家算法的敘述中,正確的是(B)。
???A. 銀行家算法可以預(yù)防死鎖
???B. 當(dāng)系統(tǒng)處于安全狀態(tài)時(shí),系統(tǒng)中一定無(wú)死鎖進(jìn)程
???C. 當(dāng)系統(tǒng)處于不安全狀態(tài)時(shí),系統(tǒng)中一定會(huì)出現(xiàn)死鎖進(jìn)程
???D. 銀行家算法破壞了死鎖必要條件中的“請(qǐng)求和保持”條件
14、若系統(tǒng)S1 采用死鎖避免方法,S2 采用死鎖檢測(cè)方法,下列敘述中正確的是(C)
???Ⅰ.S1 會(huì)限制用戶(hù)申請(qǐng)資源的順序
???Ⅱ.S1 需要進(jìn)程所需資源總量信息,而S2 不需要
???Ⅲ.S1 不會(huì)給可能導(dǎo)致死鎖的進(jìn)程分配資源,S2 會(huì)
A.僅Ⅰ Ⅱ??????B.僅Ⅱ Ⅲ??????C.僅Ⅰ Ⅲ??????D.Ⅰ Ⅱ Ⅲ
15. 某時(shí)刻進(jìn)程的資源使用情況如下所示。此時(shí)的安全序列是(D)
A. P1, P2, P3, P4 ???????? B. P1, P3, P2, P4
C. P1, P4, P3, P2 ???????? D. 不存在

?
16. 假設(shè)5個(gè)進(jìn)程P0、P1、P2、P3、P4共享三類(lèi)資源R1、R2、R3,這些資源總數(shù)分別為18、6、22。T0時(shí)刻的資源分配情況如下表所示,此時(shí)存在的一個(gè)安全序列是(D)。
?????A. ?P0, P1, P2, P3, P4???????? B. P1, P0, P3, P4, P2
?C. P2, P1, P0, P3, P4 ???????? D. P3, P4, P2, P1, P0

?
第四章
1、分頁(yè)存儲(chǔ)管理方式提供?一維 地址結(jié)構(gòu);分段管理提供?二維 的地址結(jié)構(gòu)。
2、頁(yè)式存儲(chǔ)管理每取一次數(shù)據(jù),要訪(fǎng)問(wèn)?2 次內(nèi)存;段頁(yè)式管理每取一次數(shù)據(jù),要訪(fǎng)問(wèn)?3 次內(nèi)存。
3、?在段頁(yè)式存儲(chǔ)管理系統(tǒng)中,面向?用戶(hù)??的地址空間是段式劃分,面向?物理實(shí)現(xiàn)?的地址空間是頁(yè)式劃分。
4、在頁(yè)式管理中,頁(yè)表的作用是實(shí)現(xiàn)從?頁(yè)號(hào) 到?物理塊號(hào) 的地址映射,存儲(chǔ)頁(yè)表的作用是記錄內(nèi)存頁(yè)面的分配情況。
5.分區(qū)分配內(nèi)存管理方式的主要保護(hù)措施是(A)??
??????A. 界地址保護(hù)???? ???B. 程序代碼保護(hù)?
???? ?C. 數(shù)據(jù)保護(hù)???? ???????D. 棧保護(hù)??
6.一個(gè)分段存儲(chǔ)管理系統(tǒng)中,地址長(zhǎng)度為32位,其中段號(hào)占8位,則段長(zhǎng)最大?(C)
??????A. 2的8次方字節(jié)?? ???????B. 2的16次方字節(jié)??
??????C. 2的24次方字節(jié)?? ?????D. 2的32次方字節(jié)?
7、某基于動(dòng)態(tài)分區(qū)存儲(chǔ)管理的計(jì)算機(jī),其主存容量為55mb(初始為空),采用最佳適配(Best fit)算法,分配和釋放的順序?yàn)椋悍峙?/strong>15mb,分配30mb,釋放15mb,分配8mb,分配6mb,此時(shí)主存中最大空閑分區(qū)的大小是(B)
A:7mb ??????B:9mb ??????C:10mb ??????????D:15mb
8、設(shè)一個(gè)頁(yè)式存儲(chǔ)管理系統(tǒng),頁(yè)號(hào)為0,1,2,3,被分別裝入主存的2,1,3,7塊中。若頁(yè)面大小為4KB,則地址轉(zhuǎn)換機(jī)構(gòu)將邏輯地址0轉(zhuǎn)換成物理地址是(A)
A.8192 ?????B.8193 ??????C.2048 ?????D.2049
9、段頁(yè)式存儲(chǔ)管理汲取了頁(yè)式管理和段式管理的長(zhǎng)處,其實(shí)現(xiàn)原理結(jié)合了頁(yè)式和段式管理的基本思想,即(B)。
????A. 用分段方法來(lái)分配和管理物理存儲(chǔ)空間,用分頁(yè)方法來(lái)管理用戶(hù)地址空間。
????B. 用分段方法來(lái)分配和管理用戶(hù)地址空間,用分頁(yè)方法來(lái)管理物理存儲(chǔ)空間。
????C. 用分段方法來(lái)分配和管理主存空間,用分頁(yè)方法來(lái)管理輔存空間。
D. 用分段方法來(lái)分配和管理輔存空間,用分頁(yè)方法來(lái)管理主存空間。
10. 某進(jìn)程的段表內(nèi)容如下所示。
當(dāng)訪(fǎng)問(wèn)段號(hào)為2、段內(nèi)地址為400的邏輯地址時(shí),進(jìn)行地址轉(zhuǎn)換的結(jié)果是(D)。
A. 段缺失異常
B. 得到內(nèi)存地址4400
C. 越權(quán)異常
D. 越界異常
??
第五章
1、系統(tǒng)抖動(dòng)是指(B)。
A. 使用機(jī)器時(shí)的屏幕閃爍現(xiàn)象
B. 剛被調(diào)出的頁(yè)面又立刻被調(diào)入所形成的頻繁調(diào)入調(diào)出現(xiàn)象
C. 系統(tǒng)盤(pán)不凈造成的系統(tǒng)不穩(wěn)定現(xiàn)象
D. 由于內(nèi)存分配不當(dāng)偶然造成內(nèi)存不夠的現(xiàn)象
2. 在虛擬內(nèi)存管理中,地址變換機(jī)構(gòu)將邏輯地址變換為物理地址,形成該邏輯地址的階段是(C)。
???A. 編輯?????B. 編譯???????C. 鏈接???????D. 裝載
3.下列關(guān)于虛擬存儲(chǔ)器的敘述中,正確的是(B)。
??A. 虛擬存儲(chǔ)只能基于連續(xù)分配技術(shù)
??B. 虛擬存儲(chǔ)只能基于非連續(xù)分配技術(shù)
??C. 虛擬存儲(chǔ)容量只受外存容量的限制
??D. 虛擬存儲(chǔ)容量只受內(nèi)存容量的限制
4. 在頁(yè)式虛擬存儲(chǔ)管理系統(tǒng)中,采用某些頁(yè)面置換算法,會(huì)出現(xiàn)Belady異?,F(xiàn)象,即進(jìn)程的缺頁(yè)次數(shù)會(huì)隨著分配給該進(jìn)程的頁(yè)框個(gè)數(shù)的增加而增加。下列算法中,可能出現(xiàn)Belady異?,F(xiàn)象的是(A) 。
???I. LRU算法?????II. FIFO算法?????III. OPT算法
????A. 僅II ????B. 僅I、II ??????C. 僅I、III ????D. 僅II、III
?5.系統(tǒng)為某進(jìn)程分配了4個(gè)頁(yè)框,該進(jìn)程已訪(fǎng)問(wèn)的頁(yè)號(hào)序列為2,0,2,9,3,4,2,8,2,4,8,4,5。若進(jìn)程要訪(fǎng)問(wèn)的下一頁(yè)的頁(yè)號(hào)為7,依據(jù)LRU算法,應(yīng)淘汰頁(yè)的頁(yè)號(hào)是?(B)。
????A. 2 ?????B. 3 ??????C. 4 ??????D. 8?
第六章
1.在下面的I/O控制方式中,需要CPU干預(yù)最少的方式是(D)。
(A)程序I/O方式 (B)中斷驅(qū)動(dòng)I/O控制方式 ?
(C)直接存儲(chǔ)器訪(fǎng)問(wèn)DMA控制方式 (D)I/O通道控制方式
2.某操作系統(tǒng)中,采用中斷驅(qū)動(dòng)I/O控制方式,設(shè)中斷時(shí),CPU用1ms來(lái)處理中斷請(qǐng)求,其它時(shí)間CPU完全用來(lái)計(jì)算,若系統(tǒng)時(shí)鐘中斷頻率為100HZ ,則,CPU的利用率為(D)。
(A)60% ? (B)70% ?(C)80% ? (D)90%
3.下列哪一條不是磁盤(pán)設(shè)備的特點(diǎn)(B)。
(A)傳輸速率較高,以數(shù)據(jù)塊為傳輸單位 ?
(B)一段時(shí)間內(nèi)只允許一個(gè)用戶(hù)(進(jìn)程)訪(fǎng)問(wèn) ?
(C)I/O控制方式常采用DMA方式 ?
(D)可以尋址,隨機(jī)地讀/寫(xiě)任意數(shù)據(jù)塊
4.利用通道實(shí)現(xiàn)了(C)之間數(shù)據(jù)的快速傳輸。
(A)CPU和外設(shè)(B)內(nèi)存和CPU
(C)內(nèi)存和外設(shè)(D)外設(shè)和外設(shè)?
5.假脫機(jī)技術(shù)中,對(duì)打印機(jī)的操作實(shí)際上是用對(duì)磁盤(pán)存儲(chǔ)實(shí)現(xiàn)的,用以替代打印機(jī)的部分是指(C)。
(A)共享設(shè)備(B)獨(dú)占設(shè)備(C)虛擬設(shè)備(D)物理設(shè)備
6.設(shè)從磁盤(pán)將一塊數(shù)據(jù)傳送到緩沖區(qū)所用時(shí)間為80μs,將緩沖區(qū)中數(shù)據(jù)傳送到用戶(hù)區(qū)所用時(shí)間為40μs,CPU處理數(shù)據(jù)所用時(shí)間為30μs,則處理該數(shù)據(jù),采用單緩沖傳送某磁盤(pán)數(shù)據(jù),系統(tǒng)所用總時(shí)間為(A)。
(A)120μs ?(B)110μs (C)150μs ?(D)70μs
7.下列關(guān)于通道、設(shè)備、設(shè)備控制器三者之間的關(guān)系敘述中正確的是(C)。
(A)設(shè)備控制器和通道可以分別控制設(shè)備
(B)設(shè)備控制器控制通道和設(shè)備一起工作 ?
(C)通道控制設(shè)備控制器,設(shè)備控制器控制設(shè)備 ?
(D)設(shè)備控制器控制通道,通道控制設(shè)備
8.下列哪一個(gè)選項(xiàng)不是引入緩沖的原因(C)。
(A)緩和CPU和I/O設(shè)備間速度不匹配的矛盾 ?
(B)減少對(duì)CPU的中斷頻率,放寬對(duì)中斷響應(yīng)時(shí)間的限制 ?
(C)減少CPU對(duì)I/O控制的干預(yù) ?
(D)提高CPU和I/O設(shè)備之間的并行性
9.在操作系統(tǒng)中,下列選項(xiàng)不屬于軟件機(jī)制的是(D)。
(A)緩沖池 ? (B)通道技術(shù) ?
(C)覆蓋技術(shù) ? (D)Spooling技術(shù)
10.CPU對(duì)通道的請(qǐng)求形式是(C)。
(A)自陷 (B)中斷(C) I/O指令 (D)跳轉(zhuǎn)指令
11.通道對(duì)CPU的請(qǐng)求形式是(B) 。
(A)自陷 (B)中斷(C)通道命令 ?(D)跳轉(zhuǎn)指令
12.下列不屬于“通道”特征的是 _ABC。
(A)負(fù)責(zé)數(shù)據(jù)輸入輸出工作 ?????(B)可以與CPU并行工作
(C)一個(gè)通道可連接多個(gè)控制器 ?(D)是一種軟件
13.下列有關(guān)設(shè)備的敘述中不正確的是__C_________。
(A)緩沖區(qū)的引入,使得CPU和外設(shè)之間速度的不匹配現(xiàn)象得到了緩解
(B)打印機(jī)通過(guò)SPOOLING技術(shù)改造后,可以成為供多個(gè)用戶(hù)同時(shí)使用的虛擬設(shè)備
(C)通道程序是由發(fā)出I/O設(shè)備請(qǐng)求的用戶(hù)編制的,所以,該用戶(hù)必須指出通道程序在內(nèi)存的存放位置
(D)緩沖區(qū)是外設(shè)在進(jìn)行數(shù)據(jù)傳輸期間專(zhuān)門(mén)用來(lái)暫存這些數(shù)據(jù)的主存區(qū)域
14. 程序員利用系統(tǒng)調(diào)用打開(kāi)I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識(shí)是(A) ?
??????A. 邏輯設(shè)備名?? B. 物理設(shè)備名??
??????C. 主設(shè)備號(hào)?? ????????????D. 從設(shè)備號(hào)??
15. 某文件占10個(gè)磁盤(pán)塊,現(xiàn)要把該文件磁盤(pán)塊逐個(gè)讀入主存緩沖區(qū),并送用戶(hù)區(qū)進(jìn)行分析。假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤(pán)塊大小相同,把一個(gè)磁盤(pán)塊讀入緩沖區(qū)的時(shí)間為100μs,將緩沖區(qū)的數(shù)據(jù)傳送到用戶(hù)區(qū)的時(shí)間是50μs,CPU對(duì)一塊數(shù)據(jù)進(jìn)行分析的時(shí)間為50μs。在單緩沖區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析該文件的時(shí)間分別是(B)。
?????A. 1500μs、1000μs B. 1550μs、1100μs
?????C. 1550μs、1550μs D. 2000μs、2000μs
16、從資源分配的角度看,可以把設(shè)備分為???獨(dú)享 ??設(shè)備(如打印機(jī))、???共享 ?設(shè)備(如磁盤(pán))和????虛擬 ??????設(shè)備。?
17、虛擬設(shè)備是通過(guò)??spooling ????????技術(shù)把???獨(dú)享 ??????設(shè)備變成能為若干用戶(hù)????????????的???共享 ?????設(shè)備。?
第七、八章
1.在樹(shù)形目錄中,文件的絕對(duì)路徑?A 。
???A、肯定從根目錄開(kāi)始 ???????B、肯定不從根目錄開(kāi)始 ???
???C、肯定從當(dāng)前目錄開(kāi)始 ?????D、肯定不從當(dāng)前目錄開(kāi)始
2.磁帶上的文件一般只能采用?B 方法。
???A、隨機(jī)存取 ???B、順序存取 ??
???C、索引存取 ???D、鏈?zhǔn)酱嫒?/strong>
3.磁盤(pán)上的文件以?A 為單位進(jìn)行讀寫(xiě)。
???A、物理塊 ?B、磁頭 ?C、柱面 ?D、磁道
4.樹(shù)形文件目錄中,不同目錄下的文件?A 。
??A、可以同名 ???B、必須同名
??C、必須不同名 ?D、不可以同名
5.操作系統(tǒng)實(shí)現(xiàn)文件管理后,允許用戶(hù)對(duì)記錄式文件進(jìn)行存取的最小單位是?B 。
???A、文件 B、記錄 C、數(shù)據(jù)項(xiàng)D、字符串
6.通常文件的各種屬性存放在?D 。
???A、文件分配表B、索引文件C、文件鏈接表D、文件目錄
7.文件的二級(jí)目錄結(jié)構(gòu)由主文件目錄和?C 組成。
???A、根目錄 B、子目錄 C、用戶(hù)文件目錄 D、當(dāng)前目錄
8.在現(xiàn)代操作系統(tǒng)中,文件的目錄結(jié)構(gòu)是?A 。
??A、樹(shù)形目錄結(jié)構(gòu) ?B、環(huán)形目錄結(jié)構(gòu)
??C、一級(jí)目錄結(jié)構(gòu) ?D、二級(jí)目錄結(jié)構(gòu)
9.文件系統(tǒng)的主要目的是?A 。
??A、實(shí)現(xiàn)對(duì)文件的按名存取 ?B、實(shí)現(xiàn)虛擬存儲(chǔ)
??C、提高外存的讀寫(xiě)速度 ???D、用于存儲(chǔ)系統(tǒng)文件
10.文件的存取方式與文件的物理結(jié)構(gòu)有關(guān),常見(jiàn)的文件物理結(jié)構(gòu)是?C 。
??A、順序結(jié)構(gòu)、線(xiàn)性結(jié)構(gòu)、鏈接結(jié)構(gòu)
??B、線(xiàn)性結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)
??C、順序結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)
??D、順序結(jié)構(gòu)、線(xiàn)性結(jié)構(gòu)、索引結(jié)構(gòu)
11.特殊文件是與?C 有關(guān)的文件。
??A、文本 ?B、圖像 C、硬件設(shè)備 ??D、二進(jìn)制數(shù)據(jù)
12.在文件管理中,采用位示圖主要是實(shí)現(xiàn)?B 。
??A.磁盤(pán)的驅(qū)動(dòng)調(diào)度???B.磁盤(pán)空間的分配和回收????
??C.文件目錄的查找???D.頁(yè)面置換
13.文件的成組和分解操作可?BC 。
???A.縮短檢索文件的時(shí)間?
???B.提高文件存儲(chǔ)空間的利用率
????C.減少啟動(dòng)存儲(chǔ)設(shè)備的次數(shù)???
???D.減少文件存儲(chǔ)空間的利用率
第九章
1、操作系統(tǒng)提供給程序員的接口是(B)
A.進(jìn)程 B.系統(tǒng)調(diào)用 C.庫(kù)函數(shù) D.系統(tǒng)調(diào)用和庫(kù)函數(shù)
2、用戶(hù)使用操作系統(tǒng)通常有三種手段,它們是終端命令、系統(tǒng)調(diào)用和(C)
A.計(jì)算機(jī)高級(jí)指令 B.宏命令 C.JCL ?D.匯編語(yǔ)言
3、用戶(hù)在程序一級(jí)獲得系統(tǒng)幫助,必須通過(guò)(B)
A.進(jìn)程調(diào)度 ?B.系統(tǒng)調(diào)用 ?C.作業(yè)調(diào)度 ??D.設(shè)備調(diào)度
4、系統(tǒng)調(diào)用的目的是(A)
????A.請(qǐng)求系統(tǒng)服務(wù) ????B.終止系統(tǒng)服務(wù)
????C.申請(qǐng)系統(tǒng)資源 ????D.釋放系統(tǒng)資源
8、某系統(tǒng)有n臺(tái)互斥使用的同類(lèi)設(shè)備,三個(gè)并發(fā)進(jìn)程分別需要3、4、5臺(tái)設(shè)備,可確保系統(tǒng)不發(fā)生死鎖的設(shè)備數(shù)最小數(shù)n為10
9、在一個(gè)交通繁忙的十字路口,每個(gè)方向只有一個(gè)車(chē)道,如果車(chē)輛只能向前直行,而不允許轉(zhuǎn)彎和后退,并未采用任何方式進(jìn)行交通管理,下列敘述正確的是
該十字路口可能會(huì)發(fā)生死鎖,規(guī)定南北方向的兩個(gè)車(chē)隊(duì)和東西方向的兩個(gè)車(chē)隊(duì)互斥使用十字路口是最有效的方法
11、在動(dòng)態(tài)分區(qū)式內(nèi)存管理中,每次分配時(shí),把既能滿(mǎn)足要求、又是最小的空閑區(qū)分配給進(jìn)程的算法是最佳適應(yīng)算法
12、下面算法中不屬于頁(yè)式虛擬存儲(chǔ)管理中的頁(yè)面調(diào)度算法的是優(yōu)先數(shù)調(diào)度算法
13、在頁(yè)面置換策略中,什么策略可能引起抖動(dòng)?所有
FIFO一般指先入先出隊(duì)列,這是一種傳統(tǒng)的按序執(zhí)行方法,先進(jìn)入的指令先完成并引退,跟著才執(zhí)行第二條指令
LRU 最近最少使用算法
14、現(xiàn)有一個(gè)容量為10GB的磁盤(pán)分區(qū),磁盤(pán)空間以簇為單位進(jìn)行分配,簇的大小為4KB,若采用位圖法管理該分區(qū)的空閑空間,即用一位標(biāo)識(shí)一個(gè)簇是否被分配,則存放該位圖所需簇的個(gè)數(shù)為???80
15、在可變分區(qū)管理中,采用拼接技術(shù)的目的是??合并空閑區(qū)
16、產(chǎn)生內(nèi)存抖動(dòng)的原因是??頁(yè)面置換算法不合理
17、多進(jìn)程在主存中彼此互不干擾的環(huán)境下運(yùn)行,操作系統(tǒng)是通過(guò)? 內(nèi)存保護(hù)
18、當(dāng)出現(xiàn)?多個(gè)進(jìn)程競(jìng)爭(zhēng),資源出現(xiàn)了循環(huán)等待???情況時(shí),系統(tǒng)可能會(huì)出現(xiàn)死鎖
19、在虛擬分頁(yè)存儲(chǔ)管理系統(tǒng)中,若進(jìn)程訪(fǎng)問(wèn)的頁(yè)面不在主存,且主存中沒(méi)有可用的空閑幀系統(tǒng),正確的處理順序?yàn)?缺頁(yè)中斷-->決定淘汰頁(yè)-->頁(yè)面調(diào)出-->頁(yè)面調(diào)入
20、下列措施中,能加快虛實(shí)地址轉(zhuǎn)換的是???1、增大快表(TLB)容量? ?2、讓頁(yè)表常駐內(nèi)存
21、對(duì)主存儲(chǔ)器的訪(fǎng)問(wèn),是?以字節(jié)或字為單位
22、在動(dòng)態(tài)分區(qū)式內(nèi)存管理中,能使內(nèi)存空間中空用區(qū)分布較均勻的算法是??循環(huán)首次適應(yīng)算法
23、在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,采用LRU頁(yè)面置換算法時(shí),假如一個(gè)作業(yè)的頁(yè)面走向?yàn)?,3,2,1,4,3,5,4,3,2,1,5
當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算訪(fǎng)問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率
M = 3時(shí),采用LRU算法,共發(fā)生10次缺頁(yè)中斷 缺頁(yè)率 = 10/12? 83.3%
M = 4 時(shí),采用LRU算法,共發(fā)生8次缺頁(yè)中斷 缺頁(yè)率 = 8/12 = 66.7%
增加分配給作業(yè)的內(nèi)存塊數(shù)出現(xiàn)缺頁(yè)次數(shù)減少的現(xiàn)象
?


24、下列關(guān)于存儲(chǔ)管理的敘述中,正確的是
1)存儲(chǔ)保護(hù)的目的不是限制內(nèi)存分配
2)實(shí)現(xiàn)虛存管理必須要有相應(yīng)的硬件支持
?
25、以下存儲(chǔ)管理方式中,不適合多道程序設(shè)計(jì)系統(tǒng)的是?單一連續(xù)分配
26、某時(shí)刻進(jìn)程的資源使用情況見(jiàn)下表,此時(shí)的安全序列是 不安全

?
?27、某系統(tǒng)的空閑分區(qū)表如下,采用可變式分區(qū)管理策略,現(xiàn)有如下作業(yè)序列:96KB、20KB、200KB。若用首次適應(yīng)算法和最佳適應(yīng)算法來(lái)處理這些作用序列,則該作業(yè)序列請(qǐng)求
判斷首次適應(yīng)算法和最佳適應(yīng)算法的滿(mǎn)足問(wèn)題
?
28、死鎖檢測(cè)時(shí)檢查的是 資源有向圖
29、若用8個(gè)字(字長(zhǎng)32位,且字號(hào)從0開(kāi)始計(jì)數(shù))組成的位示圖管理內(nèi)存,用戶(hù)歸還一個(gè)塊號(hào)為100的內(nèi)存塊時(shí),它對(duì)應(yīng)位示圖的位置為
字號(hào)為3、位號(hào)為4
30、進(jìn)程在執(zhí)行中發(fā)生了缺頁(yè)中斷,經(jīng)操作系統(tǒng)處理后,應(yīng)讓其執(zhí)行指令?被中斷的那一條
31、請(qǐng)求分頁(yè)存儲(chǔ)管理的主要特點(diǎn)是?擴(kuò)充了內(nèi)存
?
32、為使虛存系統(tǒng)有效地發(fā)揮其預(yù)期的作用,所運(yùn)行的程序應(yīng)具有的特性是 該程序應(yīng)具有較好的局部性
33、假設(shè)5個(gè)進(jìn)程P0、P1、P2、P3、P4共享三類(lèi)資源RI、R2、R3,這些資源總數(shù)分別為18、6、22.T0時(shí)刻的資源分配情況如下表所示,此時(shí)存在的一個(gè)安全序列是P3、P4、P2、P1、P0
34、虛擬存儲(chǔ)技術(shù)是?補(bǔ)充內(nèi)存物理空間的技術(shù)
35、下列關(guān)于頁(yè)表的敘述中,正確的是?
在頁(yè)式管理中,頁(yè)表的作用是實(shí)現(xiàn)從虛頁(yè)號(hào)到物理塊號(hào)的地址映射
每個(gè)進(jìn)程擁有一張頁(yè)表,且進(jìn)程的頁(yè)表駐留在內(nèi)存中
36、在段式分配中,CPU每次從內(nèi)存中取一次數(shù)據(jù)需要2次訪(fǎng)問(wèn)內(nèi)存
37、在請(qǐng)求調(diào)頁(yè)系統(tǒng)中,若邏輯地址中的頁(yè)號(hào)超過(guò)頁(yè)表控制器寄存器指定的頁(yè)表長(zhǎng)度,則會(huì)引起?缺頁(yè)中斷
38、下列關(guān)于死鎖的說(shuō)法正確的是
1)死鎖狀態(tài)一定是不安全狀態(tài)
2)產(chǎn)生死鎖的根本原因是系統(tǒng)資源分配不足和進(jìn)程推進(jìn)順序不合理
3)資源的有序分配策略可以破壞死鎖的循環(huán)等待條件
4)采用資源剝奪法可以解除死鎖,還可以采用撤銷(xiāo)進(jìn)程方法解除死鎖
39、一個(gè)進(jìn)程虛擬存儲(chǔ)的最大容量是? 由作業(yè)的地址空間決定
40、在請(qǐng)求分頁(yè)存儲(chǔ)管理中,若采用FIFO頁(yè)面淘汰算法,則當(dāng)可供分配的頁(yè)幀數(shù)增加時(shí),缺頁(yè)中斷的次數(shù)? ?竟然是可能增加可能減少
41、某基于動(dòng)態(tài)分區(qū)存儲(chǔ)管理的計(jì)算機(jī),其主存容量為55MB(初始為空),采用最佳適配算法(BestFio),分配和釋放的順序?yàn)榉峙?5MB、分配30MB、釋放15MB、分配8MB、分配6MB,此時(shí)主存中最大空閑分區(qū)的大小是
9MB
42、段頁(yè)式存儲(chǔ)管理中,地址映射表是??每個(gè)進(jìn)程一張段表,每個(gè)段一張頁(yè)表
43、在缺頁(yè)處理過(guò)程中,操作系統(tǒng)可執(zhí)行的操作可能是??1)修改頁(yè)表 2)磁盤(pán)I/O 3)分配頁(yè)框
44、某系統(tǒng)中有三個(gè)并發(fā)進(jìn)程都需要四個(gè)同類(lèi)資源,則該系統(tǒng)必然不會(huì)發(fā)生死鎖的最少資源是10
45、采用資源剝奪法可以解除死鎖,還可以采用什么方法解除死鎖 ,即撤銷(xiāo)進(jìn)程
46、下面關(guān)于請(qǐng)求頁(yè)式系統(tǒng)的頁(yè)面調(diào)度算法中,說(shuō)法正確的是
1)一個(gè)好的頁(yè)面調(diào)度算法應(yīng)減少和避免抖動(dòng)現(xiàn)象
2)FIFO算法實(shí)現(xiàn)簡(jiǎn)單,選擇最先進(jìn)入主存儲(chǔ)器的頁(yè)面調(diào)出
3)LRU算法基于局部性原理,首先調(diào)出最近一段時(shí)間內(nèi)最長(zhǎng)時(shí)間內(nèi)未被訪(fǎng)問(wèn)過(guò)的頁(yè)面
?
47、在虛擬存儲(chǔ)器系統(tǒng)的頁(yè)表項(xiàng)中,決定是否會(huì)發(fā)生頁(yè)故障的是存在位,也叫做合法位
48、設(shè)主存容量為1B,外存容量為400MB,計(jì)算機(jī)系統(tǒng)的地址寄存器有24位,那么虛存的最大容量是16MB
49、假定某頁(yè)式管理系統(tǒng)中,主存為128KB,分成32塊,塊號(hào)為0、1、2、3、.....、31;某作業(yè)有5塊,其頁(yè)號(hào)為0、1、2、3、4,被分別裝入主存的3、8、4、6、9塊中。有一邏輯地址為[3,70]。試求出相應(yīng)的物理地址(其中方括號(hào)中的第一個(gè)元素為頁(yè)號(hào),第二個(gè)元素為頁(yè)內(nèi)地址,按十進(jìn)制計(jì)算)
相應(yīng)的地址為24646.
分析;塊大小為128KB/32 =4KB,因?yàn)閴K與頁(yè)面大小相等,所以每頁(yè)為4KB,第三頁(yè)被裝入主存第6塊中,故邏輯地址[3,70]對(duì)應(yīng)的物理地址為4KB*6+70=24576+70=24646
第三次考試內(nèi)容結(jié)束
結(jié)束
?
第四次考試內(nèi)容
1、下列()不是樹(shù)形目錄的優(yōu)點(diǎn) C
1)解決了文件重名問(wèn)題
2)提高了文件的檢索速度
3)根目錄到任何文件有多條通路
4)便于進(jìn)行存儲(chǔ)權(quán)限控制
?
2、在下圖所示的樹(shù)形目錄結(jié)構(gòu)中,能提高檢索速度并簡(jiǎn)化操作過(guò)程的是
將這個(gè)文件鏈接到Wang目錄下,但不能使用原來(lái)的文件名
3、位示圖可用于?磁盤(pán)空間的管理
4、通道是一種特殊的?處理器
5、下列文件物理結(jié)構(gòu)中,適合隨機(jī)訪(fǎng)問(wèn)且易于文件擴(kuò)展的是?索引結(jié)構(gòu)?,或許也叫做文件分配表結(jié)構(gòu)
6、用戶(hù)對(duì)流式文件進(jìn)行存取的最小單位是?字節(jié)
7、在文件系統(tǒng)中,“open”系統(tǒng)調(diào)用的主要功能是??把文件控制信息從外存儲(chǔ)器讀入到內(nèi)存
8、文件系統(tǒng)采用二級(jí)目錄結(jié)構(gòu),這樣可以
解決不同不同用戶(hù)文件名沖突
?
9、一般情況下,I/O設(shè)備在處理時(shí),發(fā)布IO請(qǐng)求的進(jìn)程處于 阻塞 狀態(tài)
10、文件系統(tǒng)中若文件的物理結(jié)構(gòu)采用連續(xù)結(jié)構(gòu),則FCB中有關(guān)文件的物理位置的信息應(yīng)包括
1)首塊地址? 2)文件長(zhǎng)度
12、設(shè)備緩沖技術(shù)中的緩沖池在主存
13、在一個(gè)文件被用戶(hù)進(jìn)程首次打開(kāi)的過(guò)程中,操作系統(tǒng)需做的是將文件控制塊讀到內(nèi)存中
14、有些操作系統(tǒng)將文件描述信息從目錄項(xiàng)中分離出來(lái),這樣做的好處?減少查找文件時(shí)的I/O信息量
15、已知某磁盤(pán)的平均轉(zhuǎn)速為r秒轉(zhuǎn),平均尋找時(shí)間為T(mén)秒,每個(gè)磁道可以存儲(chǔ)的字節(jié)數(shù)為N,現(xiàn)向該磁盤(pán)讀寫(xiě)b字節(jié)的數(shù)據(jù),采用隨機(jī)尋道的方法,每道的所有扇區(qū)組成一個(gè)簇,則平均訪(fǎng)問(wèn)時(shí)間為?b/N *(r+T)
16、下列選項(xiàng)中,不能改善磁盤(pán)設(shè)備I/O性能的是?在一個(gè)磁盤(pán)上設(shè)置多個(gè)分區(qū)
17、用戶(hù)程序發(fā)出磁盤(pán)I/O請(qǐng)求后,系統(tǒng)的正確處理流程是 用戶(hù)程序-->系統(tǒng)調(diào)用程序-->設(shè)備驅(qū)動(dòng)程序-->中斷處理程序
18、UNIX操作系統(tǒng)中,輸入輸出設(shè)備看做是?特殊文件
19、從用戶(hù)的觀(guān)點(diǎn)來(lái)看,操作系統(tǒng)中引入文件系統(tǒng)的目的是 實(shí)現(xiàn)對(duì)文件的按名存取
20、在下列幾種類(lèi)型的系統(tǒng)中,()采用忙等待I/O是合適的
1)作為一個(gè)負(fù)載很大的網(wǎng)絡(luò)服務(wù)器的工作站
21、文件系統(tǒng)采用多級(jí)目錄結(jié)構(gòu)的目的是??解決命名沖突
22、將系統(tǒng)調(diào)用參數(shù)翻譯成設(shè)備操作命令的工作由()完成??設(shè)備無(wú)關(guān)的操作系統(tǒng)軟件
23、磁盤(pán)調(diào)度的目的是為了縮短()時(shí)間??尋道
24、文件絕對(duì)路徑名是?從根目錄到該文件所經(jīng)歷的路徑中各符號(hào)名的集合
25、假設(shè)磁頭當(dāng)前位于第105道,正在向磁道序號(hào)增加的方向移動(dòng),現(xiàn)有一個(gè)磁道訪(fǎng)問(wèn)請(qǐng)求序列為35、45、12、68、110、180、170、195,采用SCAN調(diào)度(電梯調(diào)度)算法得到的磁道訪(fǎng)問(wèn)序列是??110、170、180、195、68、45、35、12
26、某磁盤(pán)組的每個(gè)盤(pán)面上有200個(gè)磁道,格式化時(shí)每個(gè)磁道被分成4個(gè)扇區(qū),整個(gè)盤(pán)組共有8000個(gè)物理塊,那么該盤(pán)組的磁盤(pán)數(shù)為?5
27、在文件系統(tǒng)中,以下不屬于文件保護(hù)的方法時(shí)?讀寫(xiě)之后使用關(guān)閉命令
28、在磁盤(pán)中讀取數(shù)據(jù)的下列時(shí)間中,影響最大的是?尋道時(shí)間
29、在以下文件的物理結(jié)構(gòu)中,不利于文件長(zhǎng)度動(dòng)態(tài)增長(zhǎng)的是?連續(xù)結(jié)構(gòu)或者順序結(jié)構(gòu)
30、文件的邏輯結(jié)構(gòu)是未來(lái)方便()而設(shè)計(jì)的??用戶(hù)
31、物理文件的組織方式是由()確定的?存儲(chǔ)介質(zhì)和操作系統(tǒng)
32、下面說(shuō)法中,錯(cuò)誤的是
1)一個(gè)文件在同一系統(tǒng)中,不同的存儲(chǔ)介質(zhì)上的復(fù)制文件,應(yīng)采用同一種物理結(jié)構(gòu) 錯(cuò)
2)對(duì)一個(gè)文件的訪(fǎng)問(wèn),常由用戶(hù)訪(fǎng)問(wèn)權(quán)限和用戶(hù)優(yōu)先級(jí)共同限制? 錯(cuò)
3)文件系統(tǒng)采用樹(shù)形目錄結(jié)構(gòu)后,對(duì)于不同用戶(hù)的文件,其文件名應(yīng)該不同 錯(cuò)
4)為防止系統(tǒng)故障造成系統(tǒng)內(nèi)文件受損,常采用存取控制矩陣方法保護(hù)文件 錯(cuò)
33、DMA 方式是在()之間建立一條直接數(shù)據(jù)通路??I/O設(shè)備和主存
34、下列哪個(gè)文件和其他3種文件在邏輯結(jié)構(gòu)上是根本不同的? ?數(shù)據(jù)庫(kù)文件
1)庫(kù)函數(shù)文件
2)數(shù)據(jù)庫(kù)文件
3)可執(zhí)行文件
4)源程序文件
35、中斷發(fā)生后,應(yīng)保留 關(guān)鍵寄存器內(nèi)容
36、緩存技術(shù)的緩沖池在?主存,也就是外存中
37、下列算法中,用于磁盤(pán)調(diào)度的是?最短尋道優(yōu)先算法
補(bǔ)充:時(shí)間片輪轉(zhuǎn)調(diào)度算法--進(jìn)程調(diào)度算法
LRU算法--頁(yè)面淘汰算法
優(yōu)先級(jí)高者優(yōu)先算法--進(jìn)程調(diào)度和作業(yè)調(diào)度
?
38、SPOOLIng技術(shù)的主要目的是?提高獨(dú)占設(shè)備的利用率
39、提高單機(jī)資源利用率的關(guān)鍵技術(shù)是?多道程序設(shè)計(jì)技術(shù)
40、假設(shè)一臺(tái)計(jì)算機(jī)讀/寫(xiě) 一個(gè)存儲(chǔ)字需花10ns,每處理一個(gè)中斷時(shí),需要把所有的32個(gè)CPU寄存器,以及程序計(jì)數(shù)器和PSW壓入棧中,則這臺(tái)機(jī)器每秒最多能處理()個(gè)中斷 待想
1)1.47*10^3
2) 2.94*10^3
3) 1.47*10^6
4) 2.94 *10 ^6
?
41、既可以隨機(jī)訪(fǎng)問(wèn)又可以順序訪(fǎng)問(wèn)的有?光盤(pán)、磁盤(pán)、U盤(pán)
42、設(shè)置當(dāng)前目錄的主要目的是為了? ?加快文件查找速度
43、若用8個(gè)字(字長(zhǎng)32位)組成的位示圖管理內(nèi)存,假定用戶(hù)歸還一個(gè)塊號(hào)為100的內(nèi)存塊時(shí),它對(duì)應(yīng)位圖的位置為?字號(hào)為4,位號(hào)為4
44、在程序I/O方式中,對(duì)于輸出設(shè)備,準(zhǔn)備就緒是指??? 輸出緩存R已空
45、程序員利用系統(tǒng)調(diào)用打開(kāi)I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識(shí)是()邏輯設(shè)備名
46、下列關(guān)于驅(qū)動(dòng)程序的論述中,正確的是?
對(duì)于一臺(tái)多用戶(hù)機(jī),配置了相同的8個(gè)中端,此時(shí)可只用一個(gè)由多個(gè)終端共享的驅(qū)動(dòng)程序
47、設(shè)磁盤(pán)的I/O請(qǐng)求隊(duì)列中的柱面號(hào)為55、58、39、18、90、160、150、38、184,磁頭的起始位置為100,若采用SSTF(最短尋道時(shí)間優(yōu)先算法),則磁頭移動(dòng)()個(gè)磁道? ??248
48、由字符序列組成,文件內(nèi)的信息不再劃分結(jié)構(gòu),這是指??流式文件
50、操作系統(tǒng)為了管理文件,設(shè)計(jì)了文件控制塊(FCB),磁盤(pán)上的文件控制塊的建立是?在調(diào)用create()時(shí)
?
?
補(bǔ)充:
10、分區(qū)管理中采用最佳適應(yīng)分配算法時(shí),把空閑區(qū)按()次序登記在空閑區(qū)表中? ?長(zhǎng)度遞增
6、下列關(guān)于頁(yè)式存儲(chǔ)正確的是?
1)在頁(yè)式存儲(chǔ)管理中,若關(guān)閉TLB,則每當(dāng)訪(fǎng)問(wèn)一條指令或存取一個(gè)操作數(shù)時(shí),都要訪(fǎng)問(wèn)2次內(nèi)存?對(duì)
1.?程序順序執(zhí)行時(shí)的特征:順序性、封閉性、可再現(xiàn)性
2.?前驅(qū)圖 有向無(wú)循環(huán)圖 ?初始結(jié)點(diǎn)和終止結(jié)點(diǎn)
3.?程序并發(fā)執(zhí)行時(shí)的特征 ?間斷性、失去封閉性、不可再現(xiàn)性
4.?(1)進(jìn)程是程序的一次執(zhí)行。
(2)進(jìn)程是可以和其他計(jì)算并發(fā)執(zhí)行的計(jì)算。
(3)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理器上順序執(zhí)行時(shí)發(fā)生的活動(dòng)。
(4)進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。
(5)進(jìn)程是進(jìn)程實(shí)體的一次活動(dòng)。?
5.?進(jìn)程的五個(gè)特性:動(dòng)態(tài)性、并發(fā)性、獨(dú)立性、異步性、結(jié)構(gòu)特性
6.?進(jìn)程和程序的區(qū)別
(1)從定義上看,進(jìn)程是程序處理數(shù)據(jù)的過(guò)程,而程序是一組指令的有序集合;
(2)進(jìn)程具有動(dòng)態(tài)性、并發(fā)性、獨(dú)立性和異步性等,而程序不具有這些特性;
(3)從進(jìn)程結(jié)構(gòu)特性上看,它包含程序(以及數(shù)據(jù)和PCB);
(4)進(jìn)程和程序并非一一對(duì)應(yīng)。
7.?在操作系統(tǒng)中引入“進(jìn)程”概念的主要目的是( )。
A. 改善用戶(hù)編程環(huán)境
B. 描述程序動(dòng)態(tài)執(zhí)行過(guò)程的性質(zhì)
C. 使程序與計(jì)算過(guò)程一一對(duì)應(yīng)
D. 提高程序的運(yùn)行速度
8.?進(jìn)程的三種基本狀態(tài) 就緒(Ready)狀態(tài)、執(zhí)行(Running)狀態(tài)、阻塞(Blocked)狀態(tài)
9.?進(jìn)程的就緒狀態(tài)分為:活動(dòng)就緒狀態(tài)(未被掛起的就緒進(jìn)程)和靜止就緒狀態(tài)(被掛起的就緒進(jìn)程)兩種;把進(jìn)程的阻塞狀態(tài)也細(xì)分為活動(dòng)阻塞狀態(tài)(未被掛起的阻塞進(jìn)程)和靜止阻塞狀態(tài)(被掛起的阻塞進(jìn)程)。
10.?PCB ( Process ?Control ?Block )是系統(tǒng)為了描述和控制進(jìn)程的運(yùn)行而為進(jìn)程定義的一種數(shù)據(jù)結(jié)構(gòu),是進(jìn)程存在的唯一標(biāo)志。
11.?PCB的作用:標(biāo)識(shí)進(jìn)程的存在、為系統(tǒng)提供可并發(fā)執(zhí)行的獨(dú)立單位、為系統(tǒng)控制和管理進(jìn)程提供所需的一切信息
12.?原語(yǔ)的作用是為了實(shí)現(xiàn)進(jìn)程的通信和控制
1.?多道程序系統(tǒng)中,系統(tǒng)中可能有許多進(jìn)程,在這些進(jìn)程之間可能存在以下兩種關(guān)系:資源共享關(guān)系、相互合作關(guān)系
2.?進(jìn)程同步是多道程序系統(tǒng)中進(jìn)程之間存在的一種主要源于進(jìn)程間合作的制約關(guān)系,也稱(chēng)直接制約關(guān)系
3.?計(jì)算機(jī)系統(tǒng)中可剝奪性使用的資源主要有CPU、內(nèi)存和磁盤(pán)等
實(shí)現(xiàn)進(jìn)程的同步互斥實(shí)際就是給進(jìn)程的并發(fā)執(zhí)行增加一定的限制,以保證被訪(fǎng)問(wèn)的共享數(shù)據(jù)的完整性和進(jìn)程執(zhí)行結(jié)果的可再現(xiàn)性。
17.根據(jù)通信實(shí)施的方式和數(shù)據(jù)存取的方式,分為:1、共享存儲(chǔ)器系統(tǒng)包括共享內(nèi)存變量(如信號(hào)量機(jī)制)和共享內(nèi)存區(qū)兩種通信方式。2、消息傳遞系統(tǒng)包括消息緩沖和信箱兩種通信方式。3、管道通信方式
1.存儲(chǔ)器包括寄存器、快速緩存 (cache)、主存(內(nèi)存)磁芯存儲(chǔ)器、 輔存(外存)磁盤(pán)、可移動(dòng)存儲(chǔ)介質(zhì)
2.主存 系統(tǒng)區(qū) (存放OS程序和數(shù)據(jù)) 、用戶(hù)區(qū) (存放用戶(hù)程序、數(shù)據(jù))
3.作業(yè)運(yùn)行時(shí)不能按其相對(duì)地址訪(fǎng)問(wèn)內(nèi)存單元,而應(yīng)按相應(yīng)的物理地址訪(fǎng)問(wèn),需要進(jìn)行相對(duì)地址到物理地址的轉(zhuǎn)換。
4.多道程序系統(tǒng)一般都采用多個(gè)分區(qū)的存儲(chǔ)管理,具體可分為固定分區(qū)和可變分區(qū)兩種方式
5.分區(qū)存儲(chǔ)管理算法題(選擇填空)
假定主存中按地址順序依次有五個(gè)空閑區(qū)??臻e區(qū)大小依次為:32k,10k,15k,228k,100k.現(xiàn)有五個(gè)作業(yè)J1,J2,J3,J4,J5。他們各需要主存1k,10k,128k,28k,115k。判斷用最先適應(yīng)分配算法,最壞適應(yīng)分配算法,最佳分配適應(yīng)算法能否將這五個(gè)作業(yè)順序裝入?
6.移動(dòng)(緊湊)技術(shù)。分頁(yè)存儲(chǔ)管理是解決存儲(chǔ)零頭的一種方法
7.頁(yè)面的劃分完全是一種系統(tǒng)硬件的行為,一個(gè)邏輯地址放到這種地址結(jié)構(gòu)中,自然就分成了頁(yè)號(hào)和頁(yè)內(nèi)單元號(hào)兩部分。
設(shè)考慮一個(gè)由8個(gè)頁(yè)面,每頁(yè)有1024個(gè)字節(jié)組成的邏輯空間,把它裝入到有32個(gè)物理塊的存儲(chǔ)器中,問(wèn): ?CH4 p41
1)邏輯地址需要多少位表示?
(2)絕對(duì)地址需要多少位表示?
(3)內(nèi)存用戶(hù)區(qū)有多大(KB)?
解答:解答:因?yàn)轫?yè)面數(shù)為8,故需要3位二進(jìn)制數(shù)表示。每頁(yè)有1024個(gè)字節(jié),于是頁(yè)內(nèi)地址需要10位二進(jìn)制數(shù)表示。32個(gè)物理塊,需要5位二進(jìn)制數(shù)表示。
(1)頁(yè)的邏輯地址由頁(yè)號(hào)和頁(yè)內(nèi)地址組成,所以需要3+10=13位二進(jìn)制數(shù)表示。
(2)絕對(duì)地址由塊號(hào)和頁(yè)內(nèi)地址的拼接,所以需要5+10=15位二進(jìn)制數(shù)表示。
?
8.?地址變換機(jī)構(gòu)的任務(wù),關(guān)鍵是將邏輯地址中的頁(yè)號(hào)轉(zhuǎn)換為內(nèi)存中的物理塊號(hào);頁(yè)表的作用就是從頁(yè)號(hào)到物理塊號(hào)的轉(zhuǎn)換 ?(地址映射)
?
1、分頁(yè)存儲(chǔ)管理方式提供一維地址結(jié)構(gòu);分段管理提供二維的地址結(jié)構(gòu)。
2、頁(yè)式存儲(chǔ)管理每取一次數(shù)據(jù),要訪(fǎng)問(wèn)?2 次內(nèi)存;段頁(yè)式管理每取一次數(shù)據(jù),要訪(fǎng)問(wèn)?3 次內(nèi)存。
3、在段頁(yè)式存儲(chǔ)管理系統(tǒng)中,面向用戶(hù)的地址空間是段式劃分,面向物理實(shí)現(xiàn)的地址空間是頁(yè)式劃分。
4、在頁(yè)式管理中,頁(yè)表的作用是實(shí)現(xiàn)從頁(yè)號(hào)到物理塊號(hào)的地址映射,存儲(chǔ)頁(yè)表的作用是記錄內(nèi)存頁(yè)面的分配情況。
1.I/O系統(tǒng)的功能:狀態(tài)跟蹤、?確定設(shè)備分配策略、設(shè)備分配與回收、設(shè)備控制
2.I/O系統(tǒng)的設(shè)計(jì)目標(biāo):提高設(shè)備利用率、方便用戶(hù)使用、設(shè)備處理的一致性
?
1.?SPOOLing全名是Simultaneous Peripheral Operation On Line,聯(lián)機(jī)同時(shí)外圍操作,也稱(chēng)為虛擬設(shè)備技術(shù),是關(guān)于慢速字符設(shè)備如何與計(jì)算機(jī)主機(jī)交換信息的一種技術(shù)。也叫:假脫機(jī)技術(shù)。
2.?SPOOLing系統(tǒng)的組成:輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進(jìn)程和輸出進(jìn)程
5.?Spooling系統(tǒng)由三部分程序組成,即:預(yù)輸入程序、井管理程序、緩輸出程序。
6.?SPOOLing系統(tǒng)的特點(diǎn):提高了I/O的速度、將獨(dú)占設(shè)備改造為共享設(shè)備、實(shí)現(xiàn)了虛擬設(shè)備功能
已知某磁盤(pán)的進(jìn)程訪(fǎng)問(wèn)磁道的序列為55、58、39、18、90、160、150、38、184;當(dāng)前磁頭的位置在100號(hào)磁道,由48磁道而來(lái);求最短尋道時(shí)間優(yōu)先算法和電梯算法的平均尋道長(zhǎng)度。
??SSTF算法:存取臂移動(dòng)順序?yàn)?0,58,55,39,38,18,150,160,184
??平均尋道長(zhǎng)度:(10+32+3+16+1+20+132+10+24)/9
????????????????=248/9=27.6道;
??SCAN算法:存取臂移動(dòng)順序?yàn)?50,164,184,90,58,55,39,38,18
??平均尋道長(zhǎng)度:(50+14+20+94+32+3+16+1+2)/9
????????????????=250/9=27.8道。