
1、請舉例說明單用戶單任務的操作系統與多用戶多任務的操作系統之間的區別?
2、 死鎖產生的4個必要條件是什么?它們是彼此獨立的嗎?
3、 當系統中的地址空間非常大時(例如 32位),會給頁表的設計帶來什么問題?請給岀一個方案并分析 其優缺
點。
4、 文件在磁盤上存放的形式有幾種?它們與存取方法有何關系?
5、 試比較進程與程序的異同。
6、 脫機命令接口和聯機命令接口有什么不同?
1、答案:DOS是單用戶單任務的操作系統,通常這種操作系統沒有進程調度,內存管理也比較簡單,只劃
分為系統區和用戶區,是單道的程序運行環境。 Unix是多用戶多任務的操作系統,有進程管理,內存管理
也比較復雜。它們都具有設備管理系統和文件管理系統,但功能也有差別。
2、 互斥,請求和保持,不剝奪,環路等待。
不是相互獨立的,前三個條件是必要條件,而環路等待實際上是在前三者基礎上的一種可能的結果,是死
鎖的一種現象。
3、 會導致頁表過長從而很難找到一塊連續的存儲空間存放頁表, 此外如果頁表中的行不連續也會加大訪問 頁表
的查找時間。
可以用多級頁表解決這個問題,將頁表分頁,離散地存儲在不同區域,同時建立另一張頁表映射原來
頁表的每一頁。優點是不需要大塊的連續空間,但并沒有減少頁表的空間,同時也增加了訪存次數。
4、 三種存儲結構的特點略。
順序結構 鏈接結構 索引結構
順序 順序 順序
隨機 隨機
1)每個進程實體中包含了程序段和數據段這 5、答案:進程與程序是緊密相關而又完全不同的兩個概念:
兩個部分,因此他們是緊密相關的。但從結構上看,進程實體中除了程序段和數據段外,還必須包含一個 數據結構,
即進程控制塊 PCB 2)進程是程序的一次執行過程,因此是動態的;動態性還表現在進程由創 建而產生、由調度而進
行、由撤銷而消亡,即它具有一定的生命周期。而程序只是一組指令的有序集合, 并可以永久的駐留在某種介質上,
其本身不具有運動的含義,是靜態的。 3 )多個進程實體可同時存放在內
存中并發執行,其實這正是引入進程的目的。而程序的并發執行具有不可再現性,因此程序不能正確并發 執行。4)進
程是一個能夠獨立運行、獨立分配資源和獨立接受調度的基本單位,而程序不可能在多道環境 下獨立運行。5)進程與
程序不一一對應,同一個程序多次運行,將形成不同的進程;同一個程序的一次執 行也可以產生多個進程;而一個進
程也可以執行多個程序。
6、答案:脫機命令接口是 OS提供給批處理作業用戶的作業控制語言。批處理用戶不能直接與自己的運行 作業進行交
互,只能向系統提供用作業控制語言編寫的作業說明書,并委托系統按照作業說明書中的作業 控制命令來對它們的作
業進行控制和管理。聯機命令接口則不要求用戶填寫作業說明書,此時,系統將向 用戶提供一組鍵盤命令或其他操作
方式的命令,用戶可通過這些命令來交互的控制自己程序的運行并獲得 操作系統的服務。
1、 簡述分頁和分段的區別。
2、 用戶級線程與內核級線程的區別是什么?
3、 死鎖產生的4個必要條件是什么?它們是彼此獨立的嗎?
4、 文件在磁盤上存放的形式有幾種?它們與存取方法有何關系?
5、 在什么情況下需要進行重定位?為什么要引入動態重定位?
6、 命令接口和圖形用戶接口分別有什么優缺點?
1、 答案:分頁和分段有許多相似之處, 但是在概念上兩者完全不通, 主要表現在:①頁是信息的物理單位, 分頁是
為了系統管理內存的方便而進行的,故對用戶而言,分頁是不可見的,是透明的;段是信息的邏輯
單位,分段是作業邏輯上的要求,對用戶而言,分段是可見的。
②頁的大小是固定的,由系統決定;段的大小是不固定的,由用戶作業本身決定。
③從用戶角度看,分頁的地址空間是一維的,而段的地址空間是二維的。
2、 答案:比較如下:
⑴ 程的調度與切換速度;對于內核級線程, OS負責以線程為單位的調度,對于用戶級線程, OS的調度單
位是進程,同一個進程內部的線程切換是自己完成的。
⑵ 統調用;內核級線程的系統調用時只會引起該線程的阻塞,用戶級線程的系統調用將引起整個進程的 阻塞。
⑶線程執行時間;內核級線程執行時間以線程為單位, 用戶級線程執行時間以進程為單位, 內部線程共享。
3、 答案:互斥,請求和保持,不剝奪,環路等待。不是相互獨立的,前三個條件是必要條件,而環路等待 實際上是在
前三者基礎上的一種可能的結果,是死鎖的一種現象。
4、 答案:三種存儲結構的特點如下表:
順序結構 鏈接結構 索引結構
順序 順序 順序
隨機 隨機
5、 答案:源程序經過編譯產生的目標模塊一般總是從 0開始編址的,其中的地址都是相對于起始地址的相
0,因此指令和數 對地址。在將目標模塊經過鏈接裝入內存時,其分配到的內存空間的起始地址通常不為
據的實際物理地址與裝入模塊中的相對地址是不同的。此時,為了使程序能夠正確執行,必須將相對地址
轉換成物理地址,即進行重定位。
進程在運行過程中經常要在內存中移動位置,引入動態重定位的目的就是為了滿足程序的這種需要,
動態重定位的實現需要一定的硬件支持, 重定位的過程是由硬件地址變換機構在程序執行每條指令時
自動完成的。
6、 答案:命令接口的優點:功能強,速度快,靈活性好,屏幕開銷??;缺點:顯示不直觀,難學,難記。
圖形用戶接口的優點:顯示直觀,操作簡便,易學;缺點:實現的代碼規模大,對內外存容量、 CPU速度
和顯示器的要求較高。
1、 何謂死鎖?為什么將所有資源按類型賦予不同的序號,并規定所有進程按資源序號遞增的順序申請資 源后,系統便
不會產生死鎖?
2、 簡述分頁和分段的區別。
3、 簡述分時系統的特征?
4、 一個比較完善的文件系統應該具備哪些功能?
5、 微內核結構具有哪些優點?
6、 請說明中斷驅動I/O方式和DMA方式有什么不同?
1、 答案:死鎖是指多個進程在運行過程中因競爭資源而造成的一種僵局,若無外力作用,這些進程都將無 法再向前推
進。原因是死鎖的必要條件環路等待條件不可能成立。因為多個進程之間只可能存在占據較低 序號資源的進程等待占
據較高序號資源的進程釋放資源的情況,但不可能存在反向的等待,因此不能形成 循環等待鏈。
2、 答案:分頁和分段有許多相似之處,但是在概念上兩者完全不通,主要表現在:
① 頁是信息的物理單位,分頁是為了系統
管理內存的方便而進行的, 故對用戶而言,分頁是不可見的,
是透明的;段是信息的邏輯單位,分段是作業邏輯上的要求,對用戶而言,分段是可見的。
② 頁的大小是固定的,由系統決定;段的大小是不固定的,由用戶作業本身決定。
③ 從用戶角度看,分頁的地址空間是一維的,而段的地址空間是二維的。
3、 答案:多路性;允許一臺主機連接多臺終端,系統按分時原則為每個用戶服務,每個用戶以時間片為單 位輪流運
行。
獨立性;每個用戶各占一個終端,彼此獨立操作互不干擾。 及時性;用戶的請求能在很短的時間內得到響應,用戶可
以接受。
交互性;用戶可通過終端與系統進行人機對話。
4、答案 :文件存儲空間的管理;目錄管理;文件的讀寫管理;文件的安全性管理;提供用戶接口。
5、 答案:微內核結構的優點如下:1)提高了系統的靈活性和可擴充性。在微內核結構中, OS的大部分功
能都是相對獨立的服務器來實現的,用戶可以根據需要選配器中的部分或全部服務器,還可以隨著計算機
硬件和OS技術的發展,相應的更新若干服務器或增加一些新的服務器。 2)提高了 OS的可靠性。由于所有
的服務器都是運行在用戶態,它們不能直接訪問硬件,因此,當某個服務器出現錯誤時,通常只會影響到 它自己,但
不會引起內核和其他服務器的損壞和崩潰。 3)適用于分布式系統。對用戶進程而言,如果它通
過消息傳遞與服務器通信,那么他只須發送一個請求,然后等待服務器發來的響應,而無須知道這條消息 是在本地機
就處理還是通過網絡送給遠地機上的服務器。
6、 答案 :不同之處主要有: 1)中斷頻率。在中斷方式中,每當輸入數據緩沖寄存器中裝滿輸入數據或將 輸出數據
緩沖寄存器中的數據輸出之后,設備控制器便發生一次中斷。由于設備控制器中配置的數據緩沖
寄存器通常較小,因此中斷比較頻繁;而 DMA方式下,在DMA控制器的控制下,一次能完成一批連續數據
CPU處理I/O中斷的時間。2)數據的傳 的傳輸,并在整批數據傳送完后才發生一次中斷,因此可大大減少
送方式。在中斷方式下,由 CPU直接將輸入數據寫入控制器的數據緩沖寄存器供設備輸出,或在中斷發生 后直接從
數據緩沖寄存器中取出輸入數據供進程處理,即數據傳送必須經過 CPU而在DMA方式中,數據
的傳輸在DMA控制器的控制下直接在內存和 I/O設備間進行,CPU只需將數據傳輸的磁盤地址、內存地址
和字節數傳給DMA空制器即可。
1. 設備分配與那些因素有關?( 4 分)
2. 某系統中磁盤的每個盤塊大小為 1KB,外存分配方法采用中的混合索引結構,
其中索引節點中直接地址 6項,一級索引地址 2項,二級索引地址 1 項,每個盤塊號占用 4個字節,請問 該系統中
允許的文件最大長度是多少?( 6 分)
3.為了能夠查找到文件的位置, 在采用連續文件、 鏈接文件和索引文件時, 在目錄中需要登記那些內容? (6
分)
4?某采用分頁存儲管理的系統中,物理地址占 20位,邏輯地址中頁號占6位,頁大小為1KB,問:該系 統的內存空
間大小為多少?每塊的大小為多少?邏輯地址共幾位,每個作業最大長度為多少?若 0頁放在
3塊中, 1 頁放在 7塊中, 2頁放在 9塊中,邏輯地址 0420H 對應的物理地址是多少?( 5分)
5. 試述缺頁中斷與一般中斷的主要區別。 (4分)
6. 進程的基本狀態包括哪幾種?并畫出其狀態轉換圖。
7. 在一個批處理單道系統中,采用響應比高者
優先的作業調度算法。 當一個作業進入系統后就可以開始調
度,假定作業都是僅計算,忽略調度花費的時間?,F有三個作業,進入系統的時間和需要計算的時間如表
所示:
作業 進入系統時間 需要計算時間 開始時間 完成時間 周轉時間
1 9:00 60分鐘 9:00 ⑴ ⑵
2 9:10
3 9:15
45分鐘 ⑶ ⑷ ⑸
25分鐘 ⑹ ⑺ ⑻
求岀每個作業的開始時間、完成時間及周轉時間并填入表中
1. 答案:設備分配策略與下列因素有關:
(1) I/O設備的固有屬性,對于獨占設備,共享設備、虛擬設備等具有不同屬性的設備,通常采用相應的 分配算法。
(2) 設備分配算法,常見的有先來先服務算法、優先級高者優先算法
(3) 設備分配的安全性,即避免死鎖的產生。
(4) 設備獨立性,設備獨立性指應用程序獨立于具體使用的物理設備。
評分標準:共4個要點,每個要點1分
2、答案:66054KB解題步驟及其評分標準:
直接地址可用的磁盤空間為 1KB6= 6KB (1分);
X
1級索引項可用的磁盤空間為 1KB2562=512KB(2分);
XX
2級索引項可用的磁盤空間為 1KB256256=64MB(2分);
XX
求和:6KB+512KB+64MB=66054KB
3、 答案:連續文件:第一個磁盤塊的塊號和文件長度;鏈接文件:第一個磁盤塊的塊號;索引文件:索引 盤塊號。
4、 答案:內存空間大小為1MB每塊的大小為1KB;每個作業最大長度為 64KB;邏輯地址0420H對應的物 理地址是
1C20H.
解題步驟及其評分標準:邏輯地址0420H對應的頁號為1,主存塊號為7,頁內地址20H,得到物理地址1C20H
5、 答案:缺頁中斷與一般中斷的主要區別: ①在指令執行期間產生和處理中斷信號。②一條指令在執 行期
間,可能產生多次缺頁中斷。
評分標準:共2個要點,每個要點2分
6、答案:進程的三種基本狀態:就緒狀態執行狀態阻塞狀態
7、答案: ⑴ 10: 00⑵60 分鐘⑶ 10: 25(4) 11:10 ⑸ 120 分鐘⑹ 10: 00(7) 10: 25(8)70 分鐘
1 ?簡述具有通道的系統中獨占設備的一般分配過程。 (3分)
2. 比較電梯調度算法和最短尋找時間優先調度算法。 (6分)
4分) 3. 為了實現虛擬頁式存儲管理,頁表應該包含哪些內容? (
4. 簡述一種LRU頁面置換算法的實現方案。(5分)
6. 列舉引起進程創建的事件。簡述進程創建的過程。 (6分)
7. 若系統有某類資源 mn+1個,允許進程執行過程中動態申請該類資源,但在該系統上運行的每一個進
x
程對該資源的占有量任何時刻都不會超過 m+1個。當進程申請資源時只要有資源尚未分配完則滿足它的申
請,但用限制系統中可同時執行的進程數來防止發生死鎖,你認為進程調度允許同時執行的最大進程數應 該是多少?
并證明之。(7分)
1、 答案:可按下述步驟進行設備分配: ①分配設備。②分配控制器。③分配通道。
2、 答案:①“電梯調度”與“最短尋找時間優先”都是要盡量減少移動臂移動時所花的時間;②不同的是
“最短尋找時間優先”不考慮臂的移動方向,總是選擇離當前讀寫磁頭最近的那個柱面的訪問者,這種選 擇可能導致
移動臂來回改變移動方向; “電梯調度”是沿著臂的移動方向去選擇離當前讀寫磁頭最近的那個
柱面的訪問者,僅當沿臂移動方向無等待訪問者時才改變臂的移動方向;③由于移動臂改變方向是機械動 作,速度相
對較謾。相比之下,電梯調度算法是一種簡單、實用且高效的調度算法。但是,在實現時除了 要記住讀寫磁頭的當前
位置外,還必須記住移動臂的移動方向。
3、 答案:在分頁虛擬存儲管理時使用的頁表, 最少包括以下內容:物理塊號、 狀態位、修改位、外存地址
4、 答案:方案多個,下面僅是其一:為了實現 LRU必須在主存維護一張作業所有頁的鏈表,表中各項按 訪問時間
先后排序,最近訪問的頁排在表頭,最久末用的頁排在表尾,這就是所謂的棧式算法。每當要置
換一頁時,必須對鏈表中的各項進行修改。若被訪問的頁在主存,則將其移到表頭,調整相應項。若不在 主存,則將
新調的頁放表頭,其它項依次后移,將表尾一項擠掉。
6、答案:引起進程創建的典型事件有①分時系統中的用戶登錄、②批處理系統中的作業調度、③系統提供
服務、④應用進程本身的應用請求等。創建進程:①申請空白 PCB②為新進程分配資源。③初始化進程
控制塊。④將新進程插入就緒隊列。
7、答案:假設系統中有x個進程的進程,則資源至少要有 mx+1個,由于系統資源有 論n+1個,則可列
x
n。 出不等式:mx+1 < mn+1解不等式,得到x < n,所以系統允許同時執行的最大進程數為
x x
證明:假設在系統允許同時執行的最大進程數為 n時,仍然出現了死鎖,此時應該存在一組進程進程都在
m個資源, 等待資源,而且系統已無資源可用。 則此時該組進程最多 n個,每個進程沒有執行完時最多占用
所以現在系統分配出去的資源最多 mn,少于系統資源 mn+1,所以不可能有死所出現。
x x
n時系統不會有死鎖發生 因此,系統允許同時執行的最大進程數為
1、有一個具有兩道作業的批處理系統,有如下表所示的作業序列(表中所列作業優先級即為進程優先級,
數值越小優先級越高)。分別列岀下面兩種情況下所有作業進入內存時刻及結束時刻, 并計算其平均周轉時
間。
作業名 到達時刻 估計運行時間(分)
A 40 5
B 30 3
C 50 4
D 20 6
10 : 00
10 : 20
10 : 30
10 : 40
優先級
(6分)10: 00 A到達, 假設采用短作業優先的調度算法,進程調度采用優先級為基礎的剝奪式算法。
無競爭, A開始運行
10: 20 B到達,進入內存,B的優先級高于 A, A停止,B運行(1分)
10: 30 C到達,不能進入內存(1分)
10: 40 D到達,不能進入內存
10: 50 B運行結束,C和D競爭進入內存,D進入,A運行(1分)
:
11
10 A運行結束,C進入內存,C運行(1分)
12: 00 C運行結束,D運行
12: 20全部結束
T=( 70 + 30 + 90+ 100) /4 = 72.5 分鐘(2 分)
2、在一分頁存儲管理系統中,邏輯地址長度為 16位,頁面大小為4096字節,現有一邏輯地址為 2F6AH
6分) 且第0、1、2頁依次存放在物理塊 5、10、11中,問相應的物理地址為多少?(
由題意可知,本頁式系統的邏輯地址結構為: (3分)
頁號P
頁內位移W
15 12 11 0
(1分) 邏輯地址2F6AH的二進制表示:0010 0
頁號為2,在第11塊中,故物理地址為 BF6AH (2分)
3、有一個倉庫,可以存放 A和B兩種產品,但要求:1)每次只能存入一種產品(A或B); 2) -NA產品 數量一
V
B產品數量M其中,N和M是正整數。試用同步算法描述產品 A與產品B的入庫過程。(13分)
V
答案:
int mutex=1; int sa=M-1; int sb=N-1; main()
{while(1)
{取一個產品;
if(取的是A產品)
{wait(sa); wait(mutex);
將產品入庫;
signal(mutex); signal(sb);
}
el
{wait(sb);
wait(mutex);
將產品入庫;
signal(mutex);
signal(sa);
}
}
4、 在一個系統中,不采用死鎖避免和預防措施,但當死鎖發
}
生后需要能夠檢測岀來,請設計一個可行的死
鎖檢測方案
答案:死鎖檢測的數據結構類似銀行家算法(略) :1 )可利用資源向量 available :表示m類資源中每一
類資源的可用數目;2)把不占用資源的進程向量 allocation=0 記入表L中,即LL; 3)從進程集合中
i
U
找到一個request < work的進程,做如下處理:將其資源分配圖簡化,釋放出資源,增加工作向量
i
work=work+allocation ;將他記入L表中;4)若不能把所有的進程都記入 L表中,則表明系統狀態 S的
資源分配圖是不可完全簡化的,因此該系統狀態將發生死鎖。
5、 設有A B、C三個進程,它們共享十個資源,每個進程最大需求量分別為 4,7, 8,它們對資源請求的 序列
如下表:(8分)
序號 進程 申請資源數
1 2
2 B 4
3 C 2
4 B 2
5 C 2
6 A 2
A
⑴請畫岀執行完序號4時的資源分配矩陣;(2分)
⑵為使系統不發生死鎖,執行完序號 6時,3個進程各處于什么狀態,獲得多少同類資源?( 3分)
3分) ⑶按照上題時的狀態,系統會發生死鎖嗎?為什么?(
解題步驟及其評分標準:
(2 4 2 ) (2 分)
(3分) A運行,B、C阻塞4、4、2
不會,A已得到全部資源,運行結束后釋放資源可以使 B、C正常結束 (2分)
6、在實現文件系統時,為了加快文件目錄的檢索速度,可利用“ FCB分解法”。假設目錄文件存放在磁盤
上,每個盤塊512B。FCB占64B,其中文件名占8B,通常將FCB分解為符號目錄項和基本目錄項兩部分, 其中符號
目錄項大小為10B: (8分)
⑴基本目錄項大小為多少字節? ( 2分)
⑵假設某一目錄文件共有 254個FCE,試分別給出采用分解法之前和之后,對該目錄文件分別的平均訪問 磁盤次數:
(3分)
⑶一般地,若目錄文件分解前占用 N個盤塊,分解后符號目錄文件占用 M個盤塊,請給出訪問磁盤次數減
少的條件:(3分
解題步驟及其評分標準:
64 - 8 = 56B (2 分)
分解之前:平均訪問次數為( 64 254/512+1 ) 12 = 165
X
分解之后:平均訪問次數為(10 254/512 + 1) /2 = 3 (2分)
X
條件為:分解前平均讀盤次數-分解后平均訪問符號目錄文件的讀盤次數 >1,
即 N/2 - M/2>1,故 Mv— 2。 (3 分)
7、若在一分頁存儲管理系統中, 某作業的頁表如下表所示。 已知頁面大小為1024字節,試將邏輯地址1011、
2148、3000、4000轉化為相應的物理地址。 (4分)
頁號 塊號
0 2
1 3
2 1
3 6
解題步驟及其評分標準:
設頁號為P,頁內位移為 W邏輯地址為A,頁面大小為L,則:
P=int (A/L) W=A mod L
⑴ 1011 有:P=int ( 1011/1024 ) =0 W=1011 mod 1024=1011
第0頁在第2塊,故物理地址:3059
⑵ 2148 有:P=int ( 2148/1024 ) =2 W=2148 mod 1024=100
第2頁在第1塊,故物理地址:1124
⑶ 3000 有:P=int ( 3000/1024 ) =2 W=3000 mod 1024=952
第2頁在第1塊,故物理地址:1976
⑷ 4000 有:P=int (4000/1024 ) =3 W=4000 mod 1024=928
第3頁在第6塊,故物理地址:7072
&現有四個進程 R1、R2、W1 W2它們共享可以存放一個數的緩沖器 B。進程R1每次把來自鍵盤的一個
B中,供進程W2打 數存入緩沖器B中,供進程W1打印輸岀;進程R2每次從磁盤上讀一個數存放到緩沖器
(13分) 印輸出。為防止數據的丟失和重復打印,問怎樣用信號量操作來協調這四個進程的并發執行。
1、目的:考查學生對同步問題的掌握;滿分值: 13分;答案:
四個進程可如下描述:
Semaphore sb=1,sx=0,sy=0; wait(sx); }
Item B; k:=B;
Void R1() signal(sb); Void W2()
{ {
while(1) } while(1)
{ } {
{ }
打印k中數
;
wait(sy);
j=B=接收的數
:; 乂;
wait(sb); wait(sb); {
打印j中數;
接收來自鍵盤的數
;
B:=x; while(1)
Signal(sx); {
} }
} }
Void w1() wait(sb); main()
{ {
while(1) Signal(sy); cobegin(
Void R2()
從磁盤上讀一個數
;
y:=讀入的數
;
B:=y
;
R1();
W1(); W2();
R2();
9、試設計在虛擬存儲環境下實現簡單的 clock 頁面置換的可行方案。 (12 分)
使用 Clock 算法時,只須為每頁設置一個訪問位。在將內存中的所有頁面都通過鏈接指針鏈成一個循環隊
列(4 分)。當某頁被訪問時,其訪問位置 1。置換算法在選擇一頁淘汰時,只須檢查其訪問位,如果是 0,
就選擇該頁換出; 若為 1,則重新將它復 0、暫不換出而給該頁第二次駐留內存的機會 (4 分)。再按照 FIFO 算法
檢查下一個頁面。當檢查到隊列中的最后—個頁面時,若其訪問值仍為 1、則再返回到隊首再去檢查
第一個頁面 (4 分)
10、某系統采用空閑區鏈結構對內存的空閑區進行說明,用 UPT表結構說明內存的占用情況。 UPT表和空
閑鏈結構分別如下所示:
#define true 1
*/ int size; /*
分區長度 */
#define fal 0
typedef struct /* }UTABLE[m]; }FREGION;
已分分區
Typedef struct /* FREGION *free;
空閑分區 表結構 */ /* 空閑
鏈表結構 */ 分區鏈表頭指針 */
{
UTABLE UPT; /* 已分分區表 int address; /* 分區起始
{
地址 */ FREGION *forward; /* 上一個
int size; /*
int flag ; /*
分區長度 */ 分區起始地址 */ 函數過程:
表目狀態, 1 /* 下一個分區
*/
FREGION *back;
起始地址 */ 表示有用登記項, 0 表示空表目
旅連衣斗*時杳城-
i
;
Y+J
11、司機與售票員問題:12分)
(
設信號量 so, sc, so = 1 表示門關著,sc = 1表示車停,初始狀態 so = sc = 0;
void Process 司機
{while(1) {while(1)
{wait (so);
signal
賣票; 行車;
wait
(sc);
開門;}
void Process
關門;
(so );
售票員
開車;
停車;
signal (sc);
main ()
{cobegin
{Process_ 司機;Process_ 售票員;}
12、假定磁盤轉速為 6000r/min,磁盤格式化時每個盤面被分為 8個扇區?…
讀取一個扇區的時間是60/6000)/8=1.25ms ,讀出該文件全部內容所需時間為:
(
1.25 8+ 2.5 7+ 7.5 7= 80ms ( 3 分)
X X X
采用交錯試存儲(圖略),讀岀全部文件的時間為:
1.25 8+ 2.5 7= 27.5ms ( 3 分)
X X
假定某頁式虛擬系統中,某進程的頁面訪問蹤跡為:
4,3,2,1,4,3,5,4,3, 2,1,5,它的實際頁
面數為3。( 6分)
⑴按FIFO頁面置換算法,計算缺頁率并畫圖示意;
(2分)
⑵按OPT頁面置換算法,計算缺頁率并畫圖示意;
(2分)
⑶按LRU頁面置換算法,計算缺頁率并畫圖示意。
(2分)
⑴缺頁率75%
頁面1
4 4 4 1 1 1 5 5 5 5 5 5
頁面2
3 3 3 4 4 4 4 4 2 2 2
頁面3
2 2 2 3 3 3 3 3 1 1
作業頁面
4 3 2 1 4 3 5 4 3 2 1 5
缺頁否
y y y y y y y y y
⑵缺頁率58%
頁面1 4 4 4 4 4 4 4 4 4 2 2 2
頁面2 3 3 3 3 3 3 3 3 3 1 1
頁面3 2 1 1 1 5 5 5 5 5 5
作業頁面 4 3 2 1 4 3 5 4 3 2 1 5
是否缺頁
y y y y y y y
⑶缺頁率83%
頁面1
4 4 4 1 1 1 5 5 5 2 2 2
頁面2 3 3 3 4 4 4 4 4 4 1 1
頁面3
2 2 2 3 3 3 3 3 3 5
作業頁面
4 3 2 1 4 3 5 4 3 2 1 5
是否缺頁
y y y y y y y y y y
13、在一個批處理單道系統中,采用響應比高者優先的作業調度算法? …
答案:⑴ 10: 00⑵60 分鐘⑶ 10: 25(4) 11:10 (5)120 分鐘⑹ 10 : 00⑺ 10: 25(8) 70 分鐘 寫算法:(35
分)
1、
有一個可以存放n整數的循環緩沖,今有 m個輸入進程,每個? ?次maphore
mutexP=1,mutexC=1,empty=n,full=0;
item buffer[n];
int in=out=0;
void producer()
{ while (1)
{ 輸入一個數據放入 x 中 ;
wait(empty);
wait(mutexP);
buffer[in]=x;
in=(in+1) mod n;
signal(mutexP);
signal(full);
}
}
void consumer()
{while (1)
{ wait(full);
wait(mutexC);
y=buffer[out];
out=(out+1) mod n;
signal(mutexC);
signal(empty);
輸出 y 中的數據 ;
}
}
main()
{cobegin
{ producer();
consumer();
2、寫出一種可以避免死鎖的資源分配算法
testsafety( )
/* 檢測系統是否安全,若安全返回 true ,不安全返回 fal*/
{ int work[n];
int finish[m];
int i,k;
work = available;
/*finish[i] 表示進程 i 能否執行完,能執行完為 true ,否則 fal*/
for(i=0;i k=0 ; i=0; while(k /* 循環檢測進程是否可以執行完,若檢測中發現連續檢測 m 個進程都不能找到新的能停止運行的進程,應 停止 檢測 */ {if(work>=need &&finish[i]==fal) i { work=work+allocation ; finish[i]=true; k=0 } i=(i+1)%m; k++; } i flag=true; /* 檢測是否有進程沒有執行完,若有 flag 為 fal*/ for(i=0;i if(finish[i]==fal)flag=fal; return(flag); } banker_allocation(int request[n],int i) /* 銀行家分配算法 , 分配成功返回 true, 不成功返回 fal*/ {if(!(request<=need ))return(fal); i if(!(request<=available))return(fal); availble=available-request; allocaition =allocaion +request; need i i i =need-request; i if(testsatefy( ))return(true); el { availble=available+request; allocaition =allocaion -request; need =need+request; i i i i return(fal); }

本文發布于:2023-05-25 15:47:26,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1685000848178296.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:操作系統簡答大題.doc
本文 PDF 下載地址:操作系統簡答大題.pdf
| 留言與評論(共有 0 條評論) |