TEST ANSWER
一單項選擇題
[分析]第題可借助銀行家算法來檢測系統的安全性銀行家算法的實質是只要保證任何時刻至少有一個進程能得到所需的全部資源則系統不會死鎖由於每個進程最多申請k個資源因而最壞的情況是每個進程都已得到了(k—)個資源現均要申請最後一個資源只要系統至少還有一個資源可使其中的一個或幾個進程能得到所需的資源那麼在它們執行結束後歸還的資源可供其它進程使用因而就不會發生死鎖亦即只要不等式
n(k)+=<m
成立系統就不會發生死鎖
由於每個進程最多申請k個資源因而n個進程的最大需求量之和為nk於是只要從上述不等式中解出nk的值就行從不等式中可得到
nk=<m+n
顯然 nk<m+n因而本題的正確答案應選擇C
第題被創建的進程在它的生命周期中每一時刻總是處於三種基本狀態中的一種狀態當進程運行結束時該進程也就結束了它的生命而消亡因而不可能再進人就緒狀態一個進程調用P操作後只可能有兩種情況()該進程可繼續運行()該進程從運行態變為等待態因而不可能使處於等待態的進程進人就緒狀態若現運行進程時間片用完則它就從運行態變為就緒態故也不會使進程從等待態進人就緒態但是當現運行進程調用了V操作後則可能釋放一個等待信號量的進程這個被釋放的進程就從等待態進人了就緒態故本題應選擇C
[題解].C .D .B .A .D .D .C .B .A .C .D .D .D .B .B
二多項選擇題
[分析]第題中的BC兩個選項是錯誤的任何一個作業要執行的話必須經過兩級調度第一級為作業調度作業調度把選中的作業裝人主存儲器後相應的進程應處於就緒狀態第二級為進程調度處於就緒狀態的作業進程只有被進程調度選中後才能占用處理器運行一個作業在執行中要經歷若干個作業步每個作業步都是一個程序的執行因而每個作業步都是一個進程且這些進程執行時還會請求創建新的進程協助工作因而作業與進程並非是一一對應的
[題解].D E
.BC E
.B E
.AD E
.ABCD E
.B D
.A C
.A E
三填空題
[分析]第題在單道程序設計系統中每次只能執行一個作業因而處理器與外設不可能並行工作這兩道作業執行的總時間至少為(++)= (分鐘)而在多道程序設計的系統中可以利用處理器與外設的並行工作能力先讓第二道計算分鐘當它啟動了打印機後可讓第一道占用處理器去計算由於處理器和打印機的並行工作使得兩道作業執行的總時間可以減少它們最少需(+)= (分鐘)
[題解].就緒
.
.就緒
.移動
.位示圖
.打開文件建立文件
.邏輯絕對
.作業控制說明書
.發送(或send)接收(或receive)
.順序隨機
四簡答題
.[題解]設置進程控制塊的目的是為了區分各個不同的進程記錄各個進程執行時的情況
一般來說進程控制塊應包含四類信息
()標識信息——用於標識進程
()說明信息——用於說明進程的情況
()現場信息——用於保留進程存放在處理器中的各種信息
()管理信息——用於進程調度等
.[題解]LRU算法是一種頁面調度算法它總是選擇在最近一段時間裡最久沒有被訪問過的頁調出這是基於程序局部性原理認為最近經常被訪問的頁很可能馬上還要被訪問若把它調出的話則可能立即又要被調人這無疑會增加缺頁中斷率因此不能把它調出相反那些較久沒被訪問過的頁可能暫時也不會去訪問它因而將它調出是合適的
近似LRU算法總是從最近一段時間裡沒有被訪問過的頁面中去選擇一個頁面調出這種近似算法實現起來比較簡單但是若在一段時間裡所有的頁均被訪問過或沒有被訪問過的頁面很多就可能很難確切找出最近最久沒被訪問過的頁面
.[題解]操作系統為支持程序設計語言的工作而編制了一些功能子程序這些子程序稱為系統功能調用或簡稱系統調用供用戶程序執行中調用所以系統調用是操作系統為用戶程序提供的一種服務界面
訪管指令是一條可以在目態下執行的指令用戶程序中凡是要調用操作系統功能時就安排一條訪管指令當處理器執行到訪管指令時就產生一個中斷事件(自願中斷)暫停用戶程序的執行而讓操作系統來為用戶服務
.[題解]用戶申請分配設備時不是具體指定要哪台設備而是指出要申請哪一類設備多少台且在用戶程序中用設備類相對號的方式來提出使用設備的要求系統分配設備時只要從指定的那一類設備中找出好的且尚未分配的設備來進行分配所以用戶編制程序時使用的設備與實際可以使用的設備無關把這種特性稱為設備的獨立性
.[題解]系統出現死鎖一定同時保持了四個必要條件
()互斥條件每一個資源每次只能由一個進程使用即進程互斥使用資源
()占有且等待條件一個進程申請資源得不到滿足時處於等待資源的狀態且不釋放已占的資源
()非搶占條件任何一個進程不能搶奪其它進程所占用的資源即已被占用的資源只能由占用資源的進程自己來歸還
()循環等待條件系統中存在一組進程其中每一個進程分別等待另一個進程所占用的資源形成了循環等待資源的狀態
.[分析]采用響應比高者優先算法進行調度時必須對輸入井中所有滿足作業調度必要條件的作業計算出響應比從中選出響應比最高者優先裝人主存儲器本題中的三個作業都沒有提出資源要求因此在 進行調度時應計算出這三個作業的響應比由於在 時作業J等待了小時 分鐘(即 分鐘)作業 J等待了 小時 分鐘(即 分鐘)作業 J等待了 分鐘而每個作業需計算的時間依次分別為分鐘分鐘和分鐘故調度時這三個作業的響應比分別為
J的響應比=/=/
J的響應比=/=/
J的響應比=/=/
由於系統只有一台處理器且是一個單道系統因而只能從中選出響應比最高的作業J先裝人主存儲器執行待作業J執行結束後再次進行調度由於等待時間發生了變化故要重新計算響應比作業J和J的等待時間又增加了小時因此這時它們的響應比為
J的響應比=(+)/=/
J的響應比=(+)/=/
顯然作業J的響應比高於作業J的響應比因而作業J應最後執行當J能被選中時它的響應比應該為
J的響應比=(++)/=/
[題解]三個作業的執行次序為JJJ
它們被選中時的響應比為
J的響應比=(++)/=/
J的響應比=/=/
J的響應比=(+)/=/
五綜合題
.[分析]由於磁盤分塊的大小為個字節而文件中邏輯記錄的大小為個字節故一個磁盤塊中可容納兩個邏輯記錄多余的個字節可用來存放鏈接指針
當把兩個邏輯記錄作為一組存放在磁盤上構成鏈接文件後則第個邏輯記錄應在該文件的第四個磁盤塊上由於主存緩沖區的大小為個字節因此每次可以存放一個磁盤塊的信息
為了能得到第個邏輯記錄必須把該文件的第四個磁盤塊的信息讀到主存緩沖區文件按鏈接結構組織後只有讀出了前一塊的信息後才能從鏈接指針中獲得存放文件信息的下一塊地址每讀一塊信息都要啟動一次磁盤因而要讀出含有第個邏輯記錄的第四塊信息必須啟動四次磁盤
[題解]()采用成組操作時兩個邏輯記錄為一組較合適
()文件的鏈接結構示意圖如下
()要讀出第個邏輯記錄應啟動磁盤四次
.[題解]()對資源分配不加限制可能會發生死鎖因為每個進程都需要兩個資源如果它們各自都向系統先申請自己所需要的第一個資源那麼系統就會給進程PP和P分別分配資源SS和S於是三個資源都分配出去了以後任何一個進程再想要第二個資源時都得不到滿足它們之間形成了循環等待由於系統已無資源故這種循環等待永遠無法結束即形成了死鎖
()為保證進程能正常工作系統可采用按序分配策略規定進程總是先申請編號小的資源再申請編號大的資源因按序分配策略能破壞循環等待資源的條件可達到防止死鎖的目的在本題中只要讓進程P先申請S再申請S就不會引起死鎖
[討論]在本題中除了可采用按序分配策略外也可采用靜態分配策略來防止死鎖當采用靜態分配策略時每次只有一個進程能得到所需的資源但該進程在執行過程中不會再申請資源故不會出現等待資源的狀態且總能在有限的時間內執行結束並歸還所占的資源歸還的資源可供其它進程使用同樣地這些進程不會無限期地占用資源因而這些進程都不會卷人死鎖靜態分配保證了進程能正確地工作
.[分析]按照本題所規定的管理原則可見該自動管理系統僅是限制各進程(車輛)互斥地進人臨界區(AB路段)各進程之間沒有必然的依賴關系它們不需要互通消息所以進程之間的關系應該是互斥
用PV操作管理時只要定義一個互斥的信號量巨石的初值為任何一輛車到達A點後欲進入AB段行駛則應先調用P(S)來測試當前是否已有車輛在AB段行駛由於S的初值為故每次只有一輛車能進人AB段行駛其余欲進人AB段的車輛將在A點等待當在AB段行駛的車輛駛出B點後應調用V(S)<
From:http://tw.wingwit.com/Article/program/czxt/201311/24252.html