前言
不知道哪里翻出來的一張,看著確實像期末考卷,暫且放一下。或許做過,或許沒做過。
總之答案不記得了。做完可以評論區發一下或者找我發出來。
共6道大題。
一、(30%)
1.?(6%) 進程間通信的兩種方法分別是什么?這兩種方法各有什么優缺點?
2.?(6%)一個帶有環的資源分配圖一定會死鎖嗎?試說明為什么,并舉例畫圖說明。
3.?(6%)解釋下列調度算法對短進程偏好程度上的區別?
- A) FCFS(先來先服務)
- B) RR(輪轉)
- C) 多級反饋隊列
4.(6%)某請求分頁系統,每進程擁有邏輯空間128頁,每頁2KB。主機擁有物理空間2MB。
(1)寫出邏輯地址的格式。
(2)若不考慮訪問權限位,進程的頁表有多少項?每項至少多少位?
5. (6%)頁面置換算法何時會被OS所調用?為什么?
二、(10%)
有5個待運行的作業A、B、C、D、E,它們的運行時間分別為10、2、6、4和8ms,其提交時間完全相同,在優先級調度中其優先級別分別為3、5、2、1、4,其中5級為最高優先級。對于下列進程調度算法,試計算其平均周轉時間和平均等待時間。
1)優先級調度;
2)先來先服務;? ? ??
三、(15%)
一個系統中,設頁的大小為512字節,int型數據大小為4字節,假定數組A位于某一頁的起始位置,且數組A占用的所有頁均未分配物理幀。對于如下的程序:
int A[][] = new int[128][128]
for( int j=0; j<128; j++)for( int i=0; i<128; i++)A[i][j] = 0
- 試計算會發生多少頁錯誤,并給出相應計算的理由。
- 改寫上述程序,使頁錯誤發生的次數最少。
四、(15%)
In demand paging(請求分頁),the page table of a process is as following(某進程的頁表如下).
Page number(頁號) | Frame(物理頁框) | Valid/Invalid bit(有效位) |
0 | 101H | 1 |
1 | - | 0 |
2 | 254H | 1 |
假定頁面大小為4K,為該進程分配的物理頁框數固定為2,采用最近最少使用頁面置換算法(LRU)和局部淘汰策略;一次內存訪問時間是100ns,一次快表(TLB)的訪問時間是10ns,處理一次缺頁(page fault)處理的時間為108ns(包含更新TLB和頁表的時間);TLB初始化為空,地址訪問時,先訪問TLB,若TLB未命中,再訪問頁表(忽略訪問頁表之后的TLB更新時間);有效位為0,表示頁面不在內存中,產生缺頁處理。設有虛擬地址訪問序列2562H、1465H、23A5H,請計算:
??1.?依次訪問該序列地址對應的各個物理內存所需要的時間;
??2. 基于上述訪問序列,虛擬地址1465H對應的物理地址。
五、(15%)?
音樂愛好者問題:有一間酒吧里有3個音樂愛好者隊列,第1隊的音樂愛好者只有隨身聽,第2隊的音樂愛好者只有音樂磁帶,第3隊的音樂愛好者只有電池。然而,要聽音樂就必須隨身聽、音樂磁帶和電池這三種物品俱全。酒吧老板一次出售這三種物品中的任意兩種。當一名音樂愛好者得到這三種物品并聽完一首樂曲后,酒吧老板才能再一次出售這三種物品中的任意兩種,于是第2名音樂愛好者得到這三種物品,并開始聽樂曲。全部買賣就這樣進行下去。請用P(wait)V(signal)操作解決上述問題。
六、(15%)
假設一個磁盤驅動器有5000個柱面,從0~4999.驅動器正在為柱面143的一個請求提供服務,且前面一個服務請求在柱面125。即將到來的服務順序是86、1870、1913、1774、908、1509、22、1750、130。若磁頭臂移動一個磁道的時間為6ms,系統從現在的磁頭位置開始,按照下面的磁盤調度算法,磁頭總的尋道時間分別為多少?(15分)
A)FCFS
B)SSTF
C)SCAN
D)LOOK