北航2010-2011學年操作系統參考答案及部分解析(副卷)

2010-2011學年操作系統參考答案

一、名詞解釋題(每題5分,共25分)
1、進程:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位
2、臨界區:訪問臨界資源的代碼
3、系統調用:操作系統與應用程序之間的接口
4、並行:併發是指若干事件在同一時刻內發生
5、原語:由若干條機器指令構成,用以完成特定功能的程序,爲保證其操作的正確性,它應該是原子操作。

二、判斷題(每題1分,共5分)
1、銀行家算法是一種避免死鎖的算法。(T)
2、分時系統中,時間片越小越好。(F)
解析:
時間片大的話相當於先到先執行調度順序,沒起到任何優化效果
時間片過小的話需要不斷進行頁面切換等操作,系統開銷會大量提升
3、併發是指若干事件在同一時間間隔內發生。(T)
4、在多道程序系統中,道數越多越好。(F)
解析:當CPU飽和之後就不再有效果
5、打印機是一類典型的字符設備。(T)

三、簡答題(每題5分,共20分)
1、進程實體有哪幾部分組成?
答:PCB、程序段和相關的數據段
解析:
bss段儲存未被初始化的全局變量,data段儲存已經初始化的全局變量
計算機系統相關概念作用理解:https://www.cnblogs.com/yanghong-hnu/p/4705755.html

2、死鎖產生的必要條件是什麼?
答:互斥條件、請求和保持條件、不剝奪條件和環路等待條件

3、爲什麼說鏈接式文件不適合隨機存取?
答:訪問鏈接結構文件中的任何一塊都要求從文件的第一塊開始向後順序訪問,直到找到要訪問的那一塊,因此,鏈式結構文件不適合於隨機存取。

4、分頁存儲管理有效解決了什麼問題?
答:分頁存儲管理有效解決了程序離散存放和存儲器內碎片的問題,提高了存儲器的利用率。(只要能回答出解決碎片問題,就可以給全部分數,從別的角度回答,酌情合理給分)
這裏感覺答案似乎有問題

四、頁面調度(共10分)
內存中的頁面1	4	3	2	1	4	3	5	5	5	2	1	1內存中的頁面2		4	3	2	1	4	3	3	3	5	2	2內存中的頁面3			4	3	2	1	4	4	4	3	5	5作業頁面	4	3	2	1	4	3	5	4	3	2	1	5是否缺頁		缺	缺	缺	缺	缺	缺	缺			缺	缺缺頁率爲9/12=75%

內存中的頁面1	4	3	2	1	4	3	5	4	3	2	1	5內存中的頁面2		4	3	2	1	4	3	5	4	3	2	1內存中的頁面3			4	3	2	1	4	3	5	4	3	2作業頁面	4	3	2	1	4	3	5	4	3	2	1	5是否缺頁	缺	缺	缺	缺			缺	缺	缺	缺	缺	缺缺頁率爲10/12=83%

五、進程同步(共15分)
設信號量m1表示父親能否放水果,m2表示兒子能否取桔子,m3表示女兒能否取蘋果。

int m1=1,m2=0,m3=0;
cobegin
p1() // p2() // p3()
coend

p1()
{
while(1)
{
洗水果;
P(m1) ;
放水果;
if (是桔子) V(m2) ;
else V(m3);
}
}

p2()
{
while(1)
{
P(m2) ;
取桔子;
V(m1);
吃桔子;
}
}

p3()
{
while(1)
{
P(m3) ;
取蘋果;
V(m1);
吃蘋果;
}
}

六、存儲管理(15分)
(1)因爲邏輯頁號8頁,故需要3位表示,而塊大小和頁大小相等,故,塊內地址需要10位。因此,邏輯地址需要13位表示。
(2)內存有32塊,故需要5位二進制數表示,而塊大小和頁大小相等,故塊內地址需要10位表示。因此,物理地址需要5+10=15位。
* 注意考慮偏移地址

七、併發問題(10分)
(1)所需要的總時間爲:20ms*5+6ms=106ms。因爲每轉過一個記錄需要20ms/5=4ms,每讀出一個記錄後需要 6ms的處理時間,等處理完在處理下一個記錄時,只能等到下一週,所以每旋轉一週讀出一個記錄,當讀出第5個記錄時,第5周剛好轉完,因此需要另外加6ms。
(2)爲了減少磁盤旋轉的週數,將記錄安排改進爲:塊號1,2,3,4,5分別存放記錄A,C,E,B,D.

  • 磁盤必須連續旋轉,不能轉轉停停
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章