




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
操作系統習題答案
第1章操作系統緒論習題
1.1選擇題
1、作為資源管理者,操作系統負責管理和控制計算機系統的(B
A.軟件資源B.硬件和軟件資源C.用戶有用資源D.硬件資源
2、在計算機系統中,操作系統是一種(B)。
A.應用軟件B.系統軟件C.用戶軟件D,支撐軟件
3、計算機系統中兩個或多個事件在同一時刻發生指的是(A)。
A.并行性B.并發性C.串行性D.多發性
4、以下不屬于現代操作系統主要特性的是(A)。
A.實時性B.虛擬性C.并發性D.不確定性
5、下列關于多道程序設L技術的說法中錯誤的是(B)。
A.需要中斷技術支持
B.在某時間點CPU可由多個進程共享使用
C.在某時間點內存可由多個進程共享使用
D.可以提高CPU利用率
6、(C)操作系統允許在一臺主機上同時聯接多臺終端,多個用戶可以通過各自的終端
交互使用計算機。
A.網絡B.分布式C.分時D.實時
7、設計多道批處理系統時,首先要考慮的是(C)。
A.靈活性和可適應性B.交互性和響應時間
C.系統效率和吞吐量D.實時性和可靠性
1.2填空題
1、LinusTorvalds因為成功地開發了操作系統(Linux)內核,獲得了2014年計算
機先驅獎。
2、用戶和操作系統之間的接口主要分為(命令)界面、(程序)接口和圖形
界面。
3、現代操作系統的四大主要管理模塊是指:(處理器管理)、(存儲管理)、
(設備管理)和文件管理)。
4、吞吐量是指系統在一段時間內的(輸入解I出)能力。
1.3簡答題
1、現代操作系統一般要滿足哪些主要的設計目標?
答:
?方便性。操作系統為用戶提供良好的、一致的月戶接口,用戶按需要輸入命令,操
作系統按命令去控制程序的執行;用戶也可以在程序中調用操作系統的功能模塊完
成相應服務,而不必了解硬件的物理特性。
?有效性。操作系統可有效地管理和分配硬件、軟件資源,合理地組織計算機的工作
流程,提高系統工作效率。操作系統可擴充硬件的功能,使硬件的功能發揮得更好。
操作系統使用戶合理共享資源,防止各用戶間的相互干擾。操作系統以文件形式管
理軟件資源,保證信息的安全和快速存取。
?可擴充性。為滿足計算機硬件與體系結構的發展以及不斷擴大的應用要求,操作系
統應能方便地擴展新的功能。
?開放性。開放性指的是產品和技術之間相互連接和協作的能力。無論是硬件還是軟
件范籌,開放性接口都已作為一-種明確的或實際的行業標準廣泛應用在公開發行的
文檔中。
2、操作系統的作用可從哪些方面來理解?
答:
?操作系統是用戶與計算機硬件之間的接口。可以認為操作系統是對計算機硬件系統
的第一次擴充,用戶通過操作系統來使用計算機系統。
?操作系統是計算機系統的資源管理者。操作系統統一管理系統資源,為用戶提供簡
單、有效的資源使用手段,最大限度實現各類資源的共享,提高資源利用率。
3、請描述現代操作系統的定義和主要特性。
答:
?操作系統定義:操作系統是計算機系統中的系統軟件,是一些程序模塊的集合-
它們能以盡量有效、合理的方式組織和管理計算機的軟、硬件資源,合理的組織計
算機的工作流程;控制程序的執行并向用戶提供各種服務功能,使整個計算機系
統能高效地運行;改善人機界面,使用戶能夠靈活、方便、有效的使用計算機。
?主要特性:包括并發性、共享性、不確定性、虛擬性。
4、分別簡單敘述批處理操作系統、分時操作系統、實時操作系統的基本特點。
答:
?批處理操作系統的基本特征是“批量處理”,它是將任務成批裝入計算機,由操作
系統將其組織好,按某種調度算法選擇?道或幾道任務裝入內存運行。它的設計目
標主要是提高資源利用率與系統的吞吐量。
?分時操作系統是指一臺主機與多個終端相連,允許多個用戶通過終端同時以交互的
方式使用計算機系統,共享資源,使每個用戶感到好像自己獨占一臺支持自己請求
服務的計算機系統。
?實時操作系統的主要特點是響應及時和可靠性高。所謂“實時”是指對隨機發生的
外部事件作出及時的響應并能對其進行處理。實時操作系統的設計目標是能對特定
的輸入作出及時響應,并在規定的時間內完成對事件的處理。
5、在多道程序設計系統中,如何理解“內存中的多個程序的執行過程交織在?起,各個進
程都在走走停停”的現象?
答:
在多道程序設計系統中,內存中存放多個程序,它們以交替的方式使用CPU。因此,
從宏觀上看,這些程序都開始了自己的工作。但由于CPU只有一個,在任何時刻CPU只能
執行?個進程程序。所以這些進程程序的執行過程是交織在?起的。也就是說,從微觀上看,
每一個進程一會兒在向前進行,一會兒又停步不前,處于一種“走走停停”的狀態之中。
1.4解答題
1、一個計算機系統,有一臺輸入機和一臺打印機,現有兩道程序投入運行,且程序A先開
始運行,程序B后開始運行。程序A的運行軌跡為:計算50ms、打印100ms、再計算50ms、
打印100ms,結束。程序B的運行軌跡為:計算50ms、輸入80ms、再計算100ms,結束。
請回答以下問題:
?兩道程序運行時,CPU有無空閑等待?若有,在哪段時間內等待?為什么會等待?
?程序A、B有無等待CPU的情況?若有,指出發生等待的時刻。
答:
兩道程序并發執行圖如下:
由此圖可以直觀的看出CPU的空閑等待以及程序的彼此等待時間。
II、下列作業調度算法中,(D)與作業的運行時間和等待時間有關。
A.先來先服務算法B.短作業優先算法
C.均衡調度算法D.最高響應比調度算法
12、一作業8:00到達系統,估計運行時間為1小時,若9:00開始執行該作業,其響應比
是(A)。
A.2B.I
C.3D.0.5
13、臨界區是指并發進程中訪問共享變量的(D)段。
A.管理信息B.信息存儲
C.數據D.程序
14、設與某資源關聯的信號量初值為3,當前值為-1。若M表示該資源的可用個數,N表示
等待該資源的進程數,則M、N分別是(A
A.0、1B.1、0
C.1、2D.2、0
15、設某個信號量S的初值為5。若執行某個V(S)時,發現(A)時,則喚醒相應等待
隊列中等待的一個進程。
A.S的值小于或等于0B.S的值大于或等于5
C.S的值小于5D.S的值大于5
16、以下不屬于產生死鎖原因的是(B)。
A.因為系統資源不足
B.采用的進程調度算法效率低F
C.進程運行推進的順序不合適
D.資源分配不當
17、在多進程的并發系統中,不會因競爭(C)而產生死鎖。
A.打印機B.磁帶機
C.CPUD.磁盤
18、當每類資源只有一個資源實例時,下列說法中不正確的是(C)。
A.有環必死鎖B.死鎖必有環
C.有環不一定死鎖D.死鎖進程一定全在環中
19、有關死鎖的論述中,[C)是正確的。
A.系統中僅有一個進程進入了死鎖狀態
B.多個進程由于競爭CPU而進入死鎖
C.多個進程由于競爭互斥使用的資源又互不相讓而進入死鎖
D.由于進程調用V噪作而造成死鎖
20、進程.資源分配圖是隹于(D)。
A.死鎖的預防B.解決死鎖的靜態方法
C.死鎖的避免D.死鎖的檢測與解除
1.2填空題
1、Linux操作系統按照事件來源和實現手段將中斷分為(硬中斷)、(軟中斷)。
2、系統調用是通過(中斷)來實現的;發生系統調用,處理器的狀態常從目態變為管態。
3、在Linux系統中,創建進程的原語是(fork)。
4、進程的基本三狀態模型并不足夠描述進程的真實的情況,進程的五狀態模型增加了兩個
狀態,包括(新建狀態)和(終止狀態)o
5-.系統中進程存在的唯一標志是(進程控制塊PCB)。
6、進程上下文包括了進程本身和運行環境,是對進程執行活動全過程的靜態描述。進程上
下文分成三個部分:(用戶級上下文(進程的用戶地址空間內容))、(寄存器級上下
文(硬件寄存器內容))和(系統級上下文(與該進程相關的核心數據結構)
7、進程調度方式通常有':搶占)和(非搶占)兩種方式。
8、若信號量S的初值定義為10,則對S調用執行了16次P操作和15次V操作后,S的值
應該為(9)。
1.3簡答題
1、請簡單敘述進程三態模型中的進程狀態轉化情況。
答:
?就緒態一運行態:當調度程序選擇一個新的進程運行時,進程會由就緒態切換到運
行態;
?運行態―就緒態:當運行進程用完了獲得的時間片時,進程就會被中斷,由運行態
切換到就緒態,或是因為一高優先級進程處于就緒狀態,正在運行的低優先級進程
會被中斷而由運行態切換到就緒態;
?運行態一等待態:以下幾種情況會導致進程會曰運行態切換到等待態,例如當一進
程必須等待時,或是操作系統尚未完成服務,進程對一資源的訪問尚不能進行時,
還有初始化I/O且必須等待結果時,在進程間通信時,進程等待另一進程提供輸入
時等;
?等待態―就緒態:當進程所等待的事件發生時,例如資源申請獲得滿足時,或是等
待的數據或信號到來時,進程就可能由等待態切換到就緒態。
2、進程創建來源于以下事件:提交一個批處理作業;在終端上交互式的登錄;操作系統創
建一個服務進程;進程孵化新進程;等等。請描述進程的創建過程。
答:
①系統在進程表中增加一項,并從PCB池中取一個空白PCB;
②為新進程的進程映像分配地址空間。傳遞環境變量,構造共享地址空間;
③為新進程分配資源,除內存空間外,還有其他各種資源;
④查找輔存,找到達程正文段并裝到正文區:
⑤初始化進程控制塊,為新進程分配進程標識符,初始化PSW;
⑥加入就緒進程隊列,將進程投入運行;
⑦通知操作系統的某些模塊,如記賬程序、性能監控程序。
3、請簡述時間片輪轉調度算法的工作流程和確定時間片大小需要考慮的因素。
答:
1、時間片輪轉調度算法的工作流程:
?系統將所有的就緒進程按先來先服務的原則排成一個隊列,每次調度時把CPU分配給
隊首進程,并令其執行一個時間片。
?當執行的時間片用完時,由系統中的定時器發出時鐘中斷請求,調度程序停止該進程的
執行,并將它送到就緒隊列的末尾,等待下一次執吁。
?進行進程切換,把處理器分配給就緒隊列中新的隊首進程。
2、時間片大小的確定要從進程個數、切換開銷、系統效率和響應時間等方面考慮:
?時間片取值太小,多數進程不能在-一個時間片內運行完畢,切換就會頻繁,開銷顯著增
大,從系統效率來看,時間片取大一點好。
?時間片取值太大,隨著就緒隊列里進程數目增加,輪轉一次的總時間增大,對進程的響
應速度放慢了。為滿足響應時間要求,要么限制就緒隊列中進程數量,要么采用動態時
間片法,根據負載狀況及時調整時間片的大小。
4、有兩個優先級相同的尹發運行的進程P1和P2,各自執行的操作如下,信號量S1和S2
初值均為0,x、y和z的初值為0。____________________________________
Cobegin
Pl:P2:
beginbegin
y:=0;x:=2;
y:=y+4;x:=x+6;
V(S1);P(S1);
z:=y+3;x:=x+y;
P(S2);V(S2);
y:=z+yz:=z+x;
endend
Coend
試問Pl、P2并發執行后,x、y、z的值有幾種可能,各為多少?
答:
1:x=12,y=ll,z=19?
2:x=12,y=23,z=19o
3:x=12,y=l1,z=7o
5、為什么說最高響應比優先作業調度算法是對先來先服務以及短作業優先這兩種調度算法
的折中?
答:
先來先服務的作業調度算法,重點考慮的是作業在后備作業隊列里的等待時間,因此對短作
業不利;短作業優先的調度算法,重點考慮的是作業所需的CPU時間,因此對長作業不利。
最高響應比優先作業調度算法,總是在需要調度時,考慮作業已經等待的時間和所需運行時
間之比,即:
1+(作業已等待時間/作業所需CPU時間)
比值的分母是一個不變的量。隨著時間的推移,一個作業的“已等待時間''會不斷發生變化,
也就是分子在不斷地變化。
顯然,短作業比較容易獲得較高的響應比。這是因為它的分母較小,只要稍加等待,整個比
值就會很快上升。另一方面,長作業的分母雖然很大,但隨著它等待時間的增加,比值也會
逐漸上升,從而獲得較高的響應比。
可見最高響應比優先作業調度算法,既照顧到了短作業的利益,也照顧到了長作業的利益,
是對先來先服務以及短作業優先這兩種調度算法的一種折中。
6、請對比操作系統中“死鎖”和“饑餓”問題。
答:
?死鎖是因進程競爭資源,但系統擁有資源的數量有限,或并發進程推進的順序不些而造
成的?種永遠等待資源的僵局。
?饑餓是指每個資源占用者都在有限時間內釋放占用的資源,但申請進程仍然長時間得不
到資源的現象,常常是策略不公平的體現。
7、一個計算機有6臺設備X,有n個進程競爭使用,每個進程最多需要兩臺。n最多為多
少時,系統不存在死鎖的危險?
答:
由于每個進程最多需要兩臺設備X,考慮極端情況:每個進程已經都申請了一臺。那么只要
還有一臺空閑,就可以保證所有進程都可以完成。也就是說當有條件:n+l=6(即n=5)時,
系統就不存在死鎖的危險。
8、3個進程P、P2和內并發工作。進程P需用資源£和S-進程P2需用資源SI和S2;
進程P3需用資源S?和S3。
(1)若對資源分配不加限制,會發生死鎖情況,請畫出發生死鎖時,3個進程和3個資源
之間的進程資源分配圖。
(2)為保證進程正確工作,應采用怎樣的資源分配策略。
答:
(1)不加限制會出現死鎖情況:
(2)可以采用的方法有多種,下面是幾種可行的方法:
?分配資源時,一次性分配該進程運行過程中所需的所有資源。破壞了死鎖的必要條件之
一“請求和保持條件”0
?申請資源時,如果不能立即獲得新的資源,則釋放已經獲得的資源。破壞死鎖的必要條
件之一“不可剝奪條件”。
?對所有的資源進行編號,每個進程在申請資源時,嚴格按照資源編號遞增的次序申請資
源。這種方法是破壞了死鎖的必要條件之一“環路等待條件”。
1.4解答題
|、某系統有三個作業:
作業到達時間所需CPU時間
18.81.5
29.00.4
39.51.0
系統確定在它們全部到達后,開始采用響應比高者優先調度算法,并忽略系統調度時間。試
問對它們的調度順序是什么?各自的周轉時間是多少?請寫出計算過程,并填寫下面表格。
答:
三個作業是在9.5時全部到達的。這時它們各自的響應比如下:
作業1的響應比=(9.5-8.8)/1.5=0.46
作業2的響應比=(9.5-9.0)/0.4=1.25
作'也3的響應比=(9.5-9.5)/1.0=0
因此,最先應該調度作業2運行,因為它的響應比最高。它運行了0.4后完成,這時的時間
是9.9。再計算作業1和3此時的響應比:
作業I的響應比二(9.9-8.8)/1.5=0.73
作業3的響應比二(9.9-9.5)/LO=U.4O
因此,第二個應該調度作業1運行,因為它的響應比最高。它運行了1.5后完成,這時的時
間是11.4。第三個調度的是作業3,它運行了1.0后完成,這時的時間是12.4。整個實施過
程如下。
作業到達時間所需CPU時間開始時間完成時間周轉時間
18.81.59.911.42.6
29.00.49.59.90.9
39.51.011.412.42.9
作業的調度順序是2-1—3。各自的周轉時間為:作業1為0.9;作業2為2.6:作業3為2.9。
2、有一個具有兩道作業的批處理系統,作業調度采用短作業優先的非搶式調度算法,進程
調度采用以優先數為基礎的搶占式調度算法,在下表所示的作業序列中,作業優先數即
為進程優先數,優先數越小優先級越高。
作業到達時間所需CPU時間優先數
A10:0040分鐘5
B10:2030分鐘3
C10:3050分鐘4
D10:5020分鐘6
列出所有作業進入內存時間及結束時間,并計算平均作業周轉時間。
答:
(1)每個作業運行將經過兩個階段:作業調度(SJF算法)和進程調度(優先數搶占式)。另
外,批處理最多容納2道作業,更多的作業將在后備隊列等待。
時間(分鐘)10:0010:2010:3010:50111012:p012?
1
11111
:AB!A:c:D.
CPU,:_1111
1
1
1
;AD
進程就緒隊列“1:II
作業后備隊列.:C“
!_____________________|
a)10:00,作業A到達并投入運行。
b)10:20,作業B到達且優先權高于作業A,故作業B投入運行而作業A在就緒
隊列等待。
c)10:30,作業C到達,因內存中已有兩道作業,故作業C進入作業后備隊列等待。
d)10:50,作業B運行結束,作業D到達,按短作業優先算法,作業D被裝入內
存進入就緒隊列。而由于作業A的優先級高于作業D,故作業A投入運行。
e)11:10,作業A運行結束,作業C被調入內存,且作業C的優先級高于作業D,
故作業C投入運行。
D12:00,作業C運行結束,作業D投入運行。
g)12:20,作業D運行結束。
各作業周轉時間為:作業A70,作業B30,作業C9(),作業D90。
(2)平均作業周轉時間為70分鐘。
作業進入內存時間運行結束時間作業周轉時間平均作業周轉時間
A10:0011:107070
B10:2010:5030
C11:1012:0090
D10:5012:2090
3、有一個垃圾分揀機器人系統,擁有兩個機器手臂,可分別自動在垃圾箱里面分揀可回收
易拉罐和塑料瓶。設分揀系統有二個進程P1和P2,其中P1驅動左臂揀易拉罐;P2驅動右
臂揀塑料瓶。規定每個手臂每次只能揀一個物品;當一個手臂在揀時,不允許另一個手臂去
揀;當一個手臂揀了一個物品后,必須讓另一個手臂去揀。試用信號量和P、V操作實現兩
進程P1和P2能并發正確執行的程序。
答:
實質上是兩個進程的同步問題,設信號量S1和S2分別表示可揀易拉罐和塑料瓶,不失一
般性,若令先揀易拉罐。
varSl,S2:semaphore;Sl:=I;S2:=0;
cobcgin
(
processP1
begin
repeat
P(SI);
揀易拉罐
V(S2);
untilfalse;
end
processP2
begin
repeal
P(S2);
揀塑料瓶
V(S1);
untilfalse;
end
I
coend.
4.桌上有一只空盤子,允許存放一只水果。爸爸可向盤中放蘋果和桔子,兒子專等看取盤
中的桔子然后吃掉,女兒專等著取盤中的蘋果然后吃掉。規定盤子一次只能放一只水果,盤
子中水果沒有被取走時,爸爸不可放新水果;盤子中沒有水果時,女兒和兒子來取水果時將
需等待。請用信號量和P、V原語實現爸爸、兒子、女兒3個并發進程的同步。
答:
設置3個信號量:
intS=l;〃盤子是否為空,開始為空
iniSa=(V/盤子是否有蘋果
intSb=O;//盤子是否有桔子
Cobegin
Father()
(
While(l)
(
P(S);
水果放入盤中;
If(放入的是桔子)V(Sb);
ElseV(Sa);
I
Son()
(
While(l)
(
P(Sb);
從盤中取出桔子;
V(S);
吃桔子;
Daughter()
Whiled)
(
P(Sa);
從盤中取出蘋果;
V(S);
吃蘋果:
}
)
Coend
5、內存中有一組緩沖區被多個生產者進程、多個消費者進程共享使用,總共能存放10個數
據,生產者進程把生成的數據放入緩沖區,消費者進程從緩沖區中取出數據使用。緩沖區滿
時生產者進程就停止將數據放入緩沖區,緩沖區空時消費者進程停止取數據。數據的存入和
取出不能同時進行,試用信號量及P、V操作來實現該方案。
答:
semaphoremutex,empty,full;
mutcx=l;〃互斥信號量
empty=1();〃生產者進程的同步信號量
full=0;〃消費者進程的同步信號量
cobegin
processPi〃生產者進程
(
while(1){
生產數據X;
P(empty)〃看看是否還有空間可放
P(mutex);〃互斥使用
放入;
V(full);///增1(可能喚醒一個消費者)
V(mutex);
I
}
processCj〃消費者進程
(
while(1){
P(full)〃看看是否有數據
P(mutex);〃互斥使用
取出;
V(cmtpy);〃增1(可能喚醒一個生產者)
V(mutex);
1
)
coend
6、假定系統有三個并發進程read,move和print共享緩沖器BI和B2。進程read負責從輸
入設備上讀信息,每讀出一個記錄后把它存放到緩沖器B1中。進程move從緩沖器B1中
取出一記錄,加工后存入緩沖器B2o進程print將B2中的記錄取出打印輸出。緩沖器BI
和B2每次只能存放一個記錄。要求三個進程協調完成任務,使打印出來的與讀入的記錄的
個數,次序完全一樣。請用信號量和P、V操作,寫出它們的并發程序。
答:
beginSR.SMI,SM2,SP:semaphore;
Bl,B2:record;
SR:=1;SMl:=0;SM2:=l;SP:=0
cobcgin
processread
X:record;
beginR:(接收來自輸入設備上一個記錄)
X:二接收的一個記錄;
P(SR);
B1:=X;
V(SM1);
gotoR;
end;
Processmove
Y:record;
begin
M:P(SM1);
Y:=B1;
V(SR)
加工Y
P(SM2);
B2:=Y;
V(SP);
gotoM;
end;
Processprint
Z:record;
begin
P:P(SP);
Z:=B2;
V(SM2)
打印Z
gotoP;
end;
coend;
end;
7、用銀行家算法避免系統死鎖:
進程已占有資源數最大需求數
ABCDABCD
P130114111
P201000212
P311104210
P411011111
P500002110
當前系統資源總鼠為A類6個、B類3個、C類個4、D類2個。
(1)系統是否安全?請分析說明理由。
(2)若進程B請求(00,1,0),可否立即分配?請分析說明理由。
答:
(1)
由已知條件可得Need和Avaiable矩陣如下:
進程分配矩陣尚需矩陣(Need)可用資源數向量(Avaiable)
P1301111001020
P201000112
P311103100
P411010010
P500002110
利用銀行家算法對此時刻的資源分配情況進行分析如下表:
進程WorkNeedAllccationWork+AllocationFinish
P410200010110I2121true
P12121110030115132true
P25132011201005232true
P35232310011106342true
P56342211000006342true
從上述分析可知,存在一個安全序列D,A,B,C,E,(答案不唯一),故當前系統是
否安全的。
(2)若進程B請求試分配并修改相應的數據結構,則系統狀態變為:
進程分配矩陣尚需矩陣(Need)可用資源數向量(Avaiable)
Pl301111001010
P201100102
P311103100
P411010010
P500002110
利用銀行家算法對此時刻的資源分配情況進行分析如下表:
進程WorkNeedAllocationWork+AllocationFinish
P41010001011012111true
P12111110030115122true
P25122010201105232true
P35232310011106342(rue
P56342211000006342true
從上述分析可知,存在安全序列D,A,B,C,E,(答案不唯一)故系統仍是否安全的,
因此可以立即分配。
8、假定系統中有五個進程{PO、PI、P2、P3、P4}和三種類型資源{A、B、C},A、B、C
資源的總數量分別為10、5、7。各進程的最大需求、T0時刻資源分配情況如卜所示。
資源最大需求量已分配資源量
進程ABCABC
P0753010
P1322200
P2902302
P3222211
P4433002
(1)T0時刻是否安全?若安全,請說明理由,并給出一個可能的安全序列。若不安全,請
說明理由。
(2)若接下來P4繼續請求資源(3,2,1),則系統是否允許并響應該請求?若允許,請說明理
由,并給出一個可能的安全序列。若不允許,請說明理由。
答:
(1)T0時刻是安全的。因為此時,系統中的剩余資源量為(332)。此時,可以滿足P1或
P3的全部剩余資源請求。假設先滿足P1的請求,則P1運行結束后,將資源返還操
作系統,則系統中的剩余資源量為(532)。此時,可以滿足P3或P4的要求。假設接
下來先滿足P3的要求,則P3運行結束后,將資源返還操作系統,則系統中的索.余資
源量為(7,4,3)。此時,將可?以滿足P0或P2或P4的任意一個的資源請求。無論分配給
誰,都不會發生死鎖。于是,安全序列為Pl、P3、(后面的進程順序任意)。當然,
還能形成其它安全序列——Pl、P4、P3、(后面的進程順序任意);P3、P1、(后面的
進程順序任意);P3>P4、Pl、(后面的進程順序任意)。
(2)系統可以允許該請求。因為當將P4所需資源分配哈P4后,系統剩余資源為(0,1,1)。
此時,剩余資源僅能滿足P3的所有資源請求。假設將資源分配給P3,則當P3運行
結束后,將資源返還操作系統,則系統中的剩余資源量為(2,2,2),可以滿足P1或P4
的剩余資源請求。于是,假設把資源分配給P1,則當P1運行結束并歸還資源后,系
統剩余資源量為(4,2,2);然后,再滿足P4,把資源分配給P4,則當P4運行結束并歸
還資源后,系統剩余資源量為(7,4,5);此時,將可以滿足P0或P2或P4的任意一個的
資源請求。無論分配給誰,都不會發生死鎖。于是,安全序列為P3、Pl>P4、P0、
P2和P3、Pl、P4、P2、POo當然,還能形成其它安全序列——P3、P4、Pl、PO、P2
和P3、P4、Pl、P2、POo
第3章存儲管理習題
1.1選擇題
1、需要將整個進程放在連續內存空間的存儲管理方式是(A)0
A.分區存儲管理B.貝式存儲管埋
C.段式存儲管理D.段頁式存儲管理
2、解決內存碎片問題較好的存儲器管理方式是(B)。
A.可變分區B.分頁管理
C.分段管理D.單一連續分配
3、采用(B)不會產生內部碎片(即“內零頭”)。
A.分頁式存儲管理B.分段式存儲管理
C.固定分區式存儲管理D.段頁式存儲管理
4、操作系統采用分頁式存儲管理方式,要求(B)。
A.每個進程擁有?張頁表,且進程的頁表駐留在內存中。
B.每個進程擁有一張頁表,但只要執行進程的頁表駐留在內存中,其他進程的頁表不
必駐留在內存中。
C.所有進程共享一張頁表,以節約有限的內存空間,但頁表必須駐留在內存中。
D.所有進程共享一張頁表,只有頁表中當前使用的頁面必須駐留在內存中,以最大限
度地節約有限的內存空間。
5、在分頁式存儲管理系統中,每個頁表的表項實際上是用于實現(C)。
A.訪問輔存單元B.靜態重定位
C.動態重定位D.裝載程序
6、設有8頁的邏輯空間,每頁有1024B,它們被映射到32塊的物理存儲區中。那么,邏輯
地址的有效位是(C),物理地址至少是(C)位。
A.10、11B.12、14
C.13、15D.14、16
7、一個分頁存儲管理系統中,地址長度為32位,其中頁號占8位,則頁表長度是(A)。
A.2的8次方字節B.2的16次方字節
C.2的24次方字節D.2的32次方字節
8、某頁式管理系統中,地址寄存器的低9位表示頁內地址,則頁面大小為(B)。
A.1024字節B.512字節
C.1024K字節D.512K字節
9、分段式存儲管理系統中,若地址用24位表示,其中8位表示段號,則允許每段的最大長
度是(B)。
A.2的24次方字節B.2的16次方字節
C.2的8次方字節D.2的32次方字節
10、虛擬存儲管理機制的理論基礎是程序的(A)原理。
A.局部性B.全局性
C.動態性D.虛擬性
II、虛擬存儲系統能夠提供容量很大的虛擬空間,但大小有一定范圍,受到(C)限制。
A.內存容量不足B.交換信息的大小
C.CPU地址表示范圍D.CPU時鐘頻率
12、虛擬存儲器最基本的特征是(A)o
A.從邏輯上擴充內存容量B.提高內存利用率
C.駐留性D.固定性
13、一般來說,分配的內存頁框數越多,缺頁中斷率越低,但是以下(D)頁面置換算法
存在異常現象:對于某些進程分配的內存越多缺頁中斷率反而越高。
A.LRUB.OPT
C.LFUD.FIFO
1.2填空題
1、影響缺頁中斷率的因素有(頁框大小)、(分配的頁框數)、頁面置換算法和程序
本身特性。
2、為了縮短地址轉換時間,操作系統將訪問頻繁的少量頁表項存放到稱為(相聯存儲揩)
的高速寄存器組中,構成一張(快表)。
3、在頁式存儲管理系統中,頁面大小為4KB,某進程的0、I、2、3頁分別存放在3、5、4、
2號頁框中,則其邏借地址1A3F(H)所在頁框號為(5),轉換所得物理地址為(5A3F)
(H)o
4、分頁式存儲管理系統中,地址寄存器長度為24位,其中頁號占14位,則內存的分塊大
小應該是(2,0)字節,
5、在沒有快表的情況下,在分頁存儲管理系統中,每訪問一次數據,至少要訪問(2)
次內存。
6、分段式存儲管理系統為每個進程建立一張段映射表,即段表。每一段在表中占有一個表
項,其中記錄該段在內存中的(起始地址)和段的長度。
7、程序局部性原理可總結為以下三點:(時間局部性)、(空間局部性)和順序局部
性。
8、在作業裝入內存時進行地址變換的方式稱為(靜態)地址重定位,而在作業執行期
間,當訪問到指令或數據時才進行地址變換的方式稱為(動態)地址重定位。
9、在虛擬段式存儲管理中,若邏輯地址的段內地址大于段表中該段的段長,則發生(地址
越界)中斷。
1.3簡答題
I、給定段表如下:
段號段首址段長
0200400
12300300
2800100
31300580
4
給定地址為段號和位移:1)[1,10],2)[2,150]、3)[4,40],試求出對應的內
存物理地址。
答:
1)lb10J對應的內存物理地址是2310
2)[2,1501對應的內存物理地址是越界
3)[4,40J缺段中斷
2、在一個分頁虛擬存儲管理系統中,用戶編程空間32個頁,頁長IKB,內存為16KB,如
果用戶程序有10頁長,若己知虛頁0、1、2、3,已分到頁框8、7、4、10,請將虛地址
0AC5H和IAC5H轉換成對應的物理地址。
答:
虛地址0AC5H=0000101011000101
映射到物理頁框第4頁。
對應的物理地址為00DI001011000101=12C5H
虛地址lAC5H=0001101011000101
頁表中尚未有分配的頁框,此時引發缺頁中斷,由系統另行分配頁框。
3、請描述存儲保護和地址越界中斷機制。
答:
?存儲保護:為多個程序共享內存提供保障,使在內存中的各道程序,只能訪問它自己的
區域,避免各道程序間相互干擾,特別是當一道程序發生錯誤時,不致于影響其他程序
的運行,通常由硬件完成保護功能,由軟件輔助實現。
?地址越界中斷:每個進程都有自己獨立的進程空間,如果一個進程在運行時所產生的地
址在其地址空間之外,則發生地址越界。即當程序要訪問某個內存單元時,由硬件檢查
是否允許,如果允許則執行,否則產生地址越界中斷,由操作系統進行相應處理
3、什么是覆蓋?什么是交換?覆蓋和交換的區別是什么?
答:
?覆蓋:將程序劃分成若「個功能上相對獨立的程序段,按照程序的邏輯結構讓那些不會
同時執行的程序段共享同一個內存區的內存擴充技術。
?交換:先將內存某部分的程序或數據寫入外存交換區,再從外存交換區中調入指定的程
序或數據到內存中來,并讓其執行的一種內存擴充技術。
?與覆蓋技術相比,交換不要求程序員給出程序段之間的覆蓋結構,而且,交換主要在進
程或作業之間進行,而覆蓋則主要在同一個作業或同一個進程內進行。
4、在分頁式存儲管理系統中,為什么常既有頁表,又有快表?
答:
?在分頁式存儲管理中,當CPU執行到某條指令、要對內存中的某一地址訪問時,苜先
要根據相對地址去查頁表(訪問一次內存),然后獲取絕對地址去真正執行指令(第二
次訪問內存)。
?為了提高相對地址到絕對地址的變換速度,用存儲于高速相聯存儲器的塊表來代替部分
頁表。這時地址轉換是以并行的方式進行,這樣做無疑比僅查內存中的頁表要快得多。
但是,相聯存儲器的成本較高,由它來存儲整個頁表是不可取的。考慮到程序局部性原
理,實際系統中總是一方面采用內存頁表、另一方面用快表來共同完成地址的變換工作。
5、請簡述引入快表后的分頁式存儲管理系統的地址變換過程。
答:
?地址變換機構自動將頁號與快表中的所有頁號進行并行比較,若其中有與此匹配的頁
號,則取出該頁對應的頁框號,與頁內地址拼接形成物理地址。
?若頁號不在快表中,則再到內存頁表中取出物理塊號,與頁內地址拼接形成物理地址。
?同時還應將這次查到的頁表項存入快表中,若快表已滿,則必須按某種原則淘汰一個表
項以騰出位置。
6、分別簡述虛擬內存和虛擬設備技術。
答:
?虛擬內存:把有限的內存容量變得無限大,用戶在運行遠大于實際內存容量的程序時,
不會發生內存不夠的錯誤。也就是說,用戶所運行的程序大小與實際內存容量無關。
?虛擬設備:通過虛擬技術把一臺物理I/O設備虛擬為多臺邏輯上的I/O設備供多個用戶
使用,每個用戶可以占用一臺邏輯上的I/O設備,實現I/O設備的共享。
7、動態分區管理中查找空閑區的算法有哪些?
答:
?首次適應算法(firstfit)。首次適應算法乂稱最先適應算法,該算法要求空閑區按地址
大小遞增的次序排列。在進行內存分配時,從未分配區表(或空閑區鏈)開始位置順序
查找,直到找到第一個能滿足其大小要求的空閑區為止。
?循環首次適應算法(nextfit)o循環首次適應算法又稱下次適應算法,它是首次適應算
法的變形。該算法是從上次找到的空閑區的下一個空閑區開始杳找,直到找到第一個能
滿足其大小要求的空汨區為止。
?最佳適應算法(bestfit)o最佳適應算法要求空閑區按容最大小遞增的次序排列。在進
行內存分配時,從未分配區表(或空閑區鏈)開始位置順序查找,直到找到第一個能滿
足其大小要求的空閑區為止。
?最壞適應算法(worsifil)。最壞適應算法要求空閑區按容量大小遞減的次序排列。在進
行內存分配時,先檢查未分配區表(或空閑區鏈)中的第一個空閑區,若第一個空閑區
小丁作業所要求的大小,則分配失敗;否則從該空閑區中劃出與作業大小相等的一塊內
存空間分配給請求者,余下的空閑區仍然留在未分配區表(或空閑區鏈)中。
1.4解答題
I、分頁存儲管理系統中,假設某進程的頁表內容如下表所示。
頁面號頁框號中斷位
0101HI
1——0
2254HI
頁面大小為4KB,一次內存的訪問時間是100ns,一次快表的訪問時間是10ns,處理一次缺
頁的平均時間為lO^ns(己含更新快表和頁表的時間),分配給該進程的物理塊數固定為2,
采用最近最少使用置換算法(LRU)和局部淘汰策略。假設①快表初始為空;②地址轉換時
先訪問快表,若快表未命中,再訪問頁表(忽略訪問頁表之后的快表更新時間):③中斷位
為0表示頁面不在內存,產生缺頁中斷,缺頁中斷處理后可以直接讀取內存中的數據,而不
需再次查詢快表或頁表。設有虛地址訪問序列2362H、1565H、25A5H。
(1)依次訪問上述三個虛地址,各需多少時間?
(2)基于上述訪問序列,虛地址1565H的物理地址是多少?
答:
(1)分別是210ns,1()8於,H0nso
(2)形成的物理地址是101565Ho
2、請求分頁系統中,設某進程共有9個頁,分配給該進程的內存塊數為5,進程運行時,
實際訪問頁面的次序是0,1,2,3,4,5,0,2,I,8,5,2,7,6,0,I,2。
(1)采用FIFO頁面置換算法,列出其頁面置換次序和缺頁中斷次數,以及最后留駐內存
的頁號順序。
(2)采用LRU頁面置換算法,列出其頁面置換次序和缺頁中斷次數,以及最后留駐內存的
頁號順序。
答:
(1)采用FIFO頁面置換算法
訪問序列01234502185276012
內存塊100000555555577777
內存塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年納他霉素食品防腐劑項目申請報告模板
- 2025年智能自動化裝備項目提案報告模板
- 2025公司級安全培訓考試試題完整參考答案
- 2025年項目部安全管理人員安全培訓考試試題基礎題
- 2025年新入職工入職安全培訓考試試題含答案【新】
- 2025年新沂瓦楞紙箱項目可行性研究報告
- 2025年廠級安全培訓考試試題(基礎題)
- 法律事務部合同審核工作總結范文
- 2025屆江蘇省南京市二十九中學數學八下期末綜合測試模擬試題含解析
- 2025年電氣系統項目可行性研究報告
- 事業單位公開招聘分類考試公共科目筆試考試大綱(2025版)
- 汽車路試協議書
- 2023年甘肅省榆中縣事業單位公開招聘筆試題帶答案
- 2025全員安全培訓考試試題及完整答案(考點梳理)
- 高考考務人員培訓系統試題答案
- 2023年江蘇省沭陽縣事業單位公開招聘輔警33名筆試題帶答案
- 【MOOC】設計的力量-湖南大學 中國大學慕課MOOC答案
- 2019譯林版高中英語全七冊單詞總表
- 人工智能導論智慧樹知到課后章節答案2023年下哈爾濱工程大學
- 投標書(--總醫院護理保障服務)
- 2019年上海市中考地理試題卷附答案詳析
評論
0/150
提交評論