操作系統(tǒng)模擬及部分答案_第1頁
操作系統(tǒng)模擬及部分答案_第2頁
操作系統(tǒng)模擬及部分答案_第3頁
操作系統(tǒng)模擬及部分答案_第4頁
操作系統(tǒng)模擬及部分答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)模擬習題一、 判斷( )文件可以看做是一種邏輯空間( )并發(fā)程序的執(zhí)行具有順序性,封閉性和不可再現(xiàn)性( )快表是高速緩存與硬件相關( )內(nèi)存只能順序存?。?)在采用樹型目錄結(jié)構(gòu)的文件系統(tǒng)中,各用戶的文件名必須互不相同( )在銀行家算法中,對某時刻的資源分配情況進行安全分析,如果該時刻狀態(tài)是安全的,則存在一個安全序列,且這個安全序列是唯一的。( )在文件目錄的目錄項中主要存放的是文件的名字、文件的類型和文件的物理地址等( )DMA傳輸主要用于連接低速設備二、 選擇題1.在下列操作系統(tǒng)的各個功能組成部分中,哪一個與中斷有關( )A進程上下文切換 B PCB大小 C快表尋址 D內(nèi)存管理2.一

2、個分段存儲管理系統(tǒng)中,地址長度為16位,其中段號占8位,則段長最大( )A2的8次方字節(jié)B.2的16次方字節(jié)C.2的24次方字節(jié)D.2的32次方字節(jié)3.下列選項中,導致創(chuàng)進新進程的操作是( )I用戶成功登陸 II設備分配 III啟動程序執(zhí)行A:僅I和II B:僅II和IIIC:僅I和III D:I,II,III4. 下列哪種通信方式不屬于:一個進程向中間實體發(fā)送消息,等待另一進程異步地接收。( )A. 共享存儲區(qū) B. 消息緩沖 C. 信箱方式 D. 共享文件5. SPOOLing技術可以實現(xiàn)設備的( )分配。A獨占 B共享C虛擬 D物理6. 在進行作業(yè)調(diào)度時要想兼顧作業(yè)等待時間和計算時間,應

3、選取( )。 A均衡調(diào)度算法 B高優(yōu)先級優(yōu)先調(diào)度算法 C先來先服務算法 D高響應比優(yōu)先算法三、 填空題1.操作系統(tǒng)是計算機系統(tǒng)最重要的_,它_了計算機硬件系統(tǒng)的功能;_ _了不同計算機系統(tǒng)硬件的差別,提供了應用程序使用計算機硬件強大處理功能的接口;2. 在UNIX系統(tǒng)中,文件的類型主要包括_, _,_。四簡答題1.試說明改進型Clock置換算法的基本原理2. 某操作系統(tǒng)的磁盤文件空間共有500塊,若用字長為32位的位示圖管理磁盤空間,試問: 位示圖需要多少字? 第i字第j位對應的塊號是多少?五、應用題銀行家算法如下:1. 安全狀態(tài): 是指系統(tǒng)能按某種進程順序(P1,P2,Pn)(稱序列為安全序

4、列),來為每個進程Pi分配某所需資源,直至滿足每個進程對資源的最大需求,使每個進程都可順利地完成如果系統(tǒng)無法找到這樣一個安全序列,則稱系統(tǒng)處于不安全狀態(tài)所謂安全序列P1,P2,Pn是指對于P2,都有它所需要剩余資源數(shù)量不大于系統(tǒng)掌握的剩余的空間資源與所有Pi(ji)所占的資源之和.2.不安全狀態(tài)可能產(chǎn)生死鎖. 目前狀態(tài) 最大需求 尚需P1 3 9 6P2 5 10 5P3 2 4 2 在每一次進程中申請的資源,判定一下,若實際分配的話,之后系統(tǒng)是否安全.3.銀行家算法的思路: 1)、進程一開始向系統(tǒng)提出最大需求量. 2)、進程每次提出新的需求(分期貸款)都統(tǒng)計是否超出它事先提出的最大需求量.

5、3)、若正常,則判斷該進程所需剩余剩余量(包括本次申請)是否超出系統(tǒng)所掌握的剩余資源量,若不超出,則分配,否則等待.4.銀行家算法的數(shù)據(jù)結(jié)構(gòu). 1)、系統(tǒng)剩余資源量An,其中An表示第I類資源剩余量. 2)、各進程最大需求量,Bmn,其中Bji表示進程j對i類資源最大需求. 3)、已分配資源量Cmn,其中Cji表示系統(tǒng)j程已得到的第i資源的數(shù)量. 4)、剩余需求量.Dmn,其中Dji對第i資源尚需的數(shù)目.5.銀行家算法流程:當某時刻,某進程時,提出新的資源申請,系統(tǒng)作以下操作: 1)、判定En是否大于Djn,若大于,表示出錯. 2)、判定En是否大于系統(tǒng)剩余量An,若大于,則該進程等待. 3)

6、、若以上兩步?jīng)]有問題,嘗試分配,即各變量作調(diào)整. 4)、按照安全性推測算法,判斷,分配過后,系統(tǒng)是否安全,若安全,則實際分配,否則,撤消分配,讓進程等待.6.安全性檢測算法 1)、先定義兩個變量,用來表示推算過程的數(shù)據(jù). Fn=An,表示推算過程中,系統(tǒng)中剩余資源量的變化. Jn=False表示推算過程中各進程是否假設已完成 2)、流程:在剩余的進程中(在推算)過程中,一些進程假設已完成,查找Djn0)countb-;V(qb);elseif(countc0)countc-;V(qc);elseif(counta0)counta-V(qa);else free=1;3. 設系統(tǒng)中有5臺類型相同

7、的打印機,依次編號為15。 又設系統(tǒng)中有n個使用打印機的進程,使用前申請,使用后釋放。 每個進程有一個進程標識,用于區(qū)別不同的進程。 每個進程還有一個優(yōu)先數(shù),不同進程的優(yōu)先數(shù)各異。當有多個進程同時申請時,按照進程優(yōu)先數(shù)由高到低的次序?qū)嵤┓峙洹?試用信號燈和PV操作實現(xiàn)對于打印機資源的管理,即要求編寫如下函數(shù)和過程:(1) 函數(shù) require(pid,pri): 申請一臺打印機。參數(shù)pid為進程標識,其值為1到n的整數(shù); pri為進程優(yōu)先數(shù),其值為正整數(shù); 函數(shù)返回值為所申請到打印機的編號,其值為1到5的整數(shù);(2) 過程 return(prnt): 釋放一臺打印機。參數(shù)prnt為所釋放打印機

8、的編號,其值為1到5的整數(shù)。解:#define N 5bool flagN+1;/flag0表示可用打印機數(shù),/flagi表示第i號打印機的狀態(tài)(1=i0)flag0-;for(int i=1;iN+1;i+)if(flagi=1)flagi=0;break;V(mutex_flag);return i;elseV(mutex_flag);p(mutex_queue);將進程pid按其優(yōu)先數(shù)插入到等待隊列queue中;V(mutex_queue);return(int print)P(mutex_flag);if(queue=NULL)flag0+;flagprint=1;V(mutex_fl

9、ag);elseV(mutex_flag);p(mutex_queue);將print分配給queue隊首進程;queue下移;V(mutex_queue);4. 在銀行家算法中,若出現(xiàn)如下資源分配情況: Allocation NeedAvailableABCDABCDABCDP0:3P1:P2:P3:P4:試問:(1)當前狀態(tài)是否安全?(2)如果進程P2提出安全請求Request2=(1,2,2,2),系統(tǒng)能否將資源分配給它?說明原因解:(1)當前狀態(tài)是安全狀態(tài)。運行安全性檢查算法如下:1)Work = Available;Finish = false;2)尋找滿足如下條件的i:Finish

10、i=false并且NeediWorki;如果不存在,則轉(zhuǎn)步驟4);3)Work = Work + Allocationi;Finishi = true;轉(zhuǎn)步驟2)4)如果對于所有i,F(xiàn)inishi = true,則系統(tǒng)處于安全狀態(tài),否則處于不安全狀態(tài)。令Work = Available=(1, 6, 2, 3)運行安全性檢測算法,F(xiàn)inish0=false并且Need0=(0 0 1 2)Work,則Work = Work + Allocation0=(1, 6, 2, 3)+(0, 0, 3, 2)=(1, 6, 5, 5);Finish0 = true;Finish3=false并且Nee

11、d3=(0, 6, 5, 2)Work,則Work = Work + Allocation3=(1, 6, 5, 5)+(0, 3, 3, 2)=(1, 9, 8, 7);Finish3 = true;Finish4=false并且Need4=(0, 6, 5, 6)Work,則Work = Work + Allocation4=(1, 9, 8, 7)+(0, 0, 1, 4 )=(1, 9, 9, 11);Finish4 = true;Finish1=false并且Need1=(1, 7, 5, 0)Work,則Work = Work + Allocation4=(1, 9, 9, 1)+

12、(1, 0, 0, 0 )=(2, 9, 9, 11);Finish1 = true;Finish2=false并且Need2=(2, 3, 5, 6)Work,則Work = Work + Allocation4=(2, 9, 9, 11)+(1, 3, 5, 4 )=(3, 12, 14, 15);Finish2 = true;可以找到一個安全進程序列,它使Finishi=true,對于所有0i4,因而可以斷言系統(tǒng)當前處于安全狀態(tài)(2)運行銀行家算法,由于Request2=(1, 2, 2, 2)Need2=(2, 3, 5, 6),因而請求合法。進一步,Request2=(1, 2, 2, 2)Available=(1, 6, 2, 3),故該請求是可以滿足的。假設將資源分配給p2,則系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論