操作系統(tǒng)課后練習(答案)_第1頁
操作系統(tǒng)課后練習(答案)_第2頁
操作系統(tǒng)課后練習(答案)_第3頁
操作系統(tǒng)課后練習(答案)_第4頁
操作系統(tǒng)課后練習(答案)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1.什么是操作系統(tǒng)?它的主要功能是什么?

答:操作系統(tǒng)是用來管理計算機系統(tǒng)的軟、硬件資源,合理地組織計算機的

工作流程,以方便用戶使用的程序集合;

其主要功能有進程管理、存儲器管理、設(shè)備管理和文件管理功能。

2.什么是分時系統(tǒng)?什么是實時系統(tǒng)?試從交互性、及時性、獨立性、多路性

和可靠性幾個方面比較分時系統(tǒng)和實時系統(tǒng)。

答:分時系統(tǒng):一個計算機和許多終端設(shè)備連接,每個用戶可以通過終端向

計算機發(fā)出指令,請求完成某項工作,在這樣的系統(tǒng)中,用戶感覺不到其他

用戶的存在,好像獨占計算機一樣。

實時系統(tǒng):對外部輸入的信息,實時系統(tǒng)能夠在規(guī)定的時間內(nèi)處理完畢并作

出反應(yīng)。

比較:(1)交互性:實時系統(tǒng)具有交互性,但人與系統(tǒng)的交互,僅限于訪問

系統(tǒng)中某些特定的專用服務(wù)程序。它不像分時系統(tǒng)那樣向終端用戶提供數(shù)據(jù)

處理、資源共享等服務(wù)。實時系統(tǒng)的交互性要求系統(tǒng)具有連續(xù)人機對話的能

力,也就是說,在交互的過程中要對用戶得輸入有一定的記憶和進一步的推

斷的能力。

(2)及時性:實時系統(tǒng)對及時性的要求與分時系統(tǒng)類似,都以人們能夠接受

的等待時間來確定。而分時系統(tǒng)則對及時性要求更高。

(3)獨立性:實時系統(tǒng)與分時系統(tǒng)一樣具有獨立性。每個終端用戶提出請求

時,是彼此獨立的工作、互不干擾。

(4)多路性:實時系統(tǒng)與分時一樣具有多路性。操作系統(tǒng)按分時原則為多個

終端用戶提供服務(wù),而對于實時系統(tǒng),其多路性主要表現(xiàn)在經(jīng)常對多路的現(xiàn)

場信息進行采集以及對多個對象或多個執(zhí)行機構(gòu)進行控制。

(5)可靠性:分時系統(tǒng)雖然也要求可靠性,但相比之下,實時系統(tǒng)則要求系

統(tǒng)高度可靠。

9.設(shè)內(nèi)存中有三道程序,A,B,C,他們按A-B-C的先后次序執(zhí)行,它們進行

“計算”和“I/O操作”的時間如表1-2所示,假設(shè)三道程序使用相同的I/O設(shè)

備。

表1-2三道程序的操作時間

操作計算I/O操作計算

A203010

B305020

C102010

(1)試畫出單道運行時三道程序的時間關(guān)系圖,并計算完成三道程序要花多

少時間。

計算

I/O操作

一60二.

7051)9U

總時間:20+30+10+30+50+20+:10+20+:10=200

(2)試畫出多道運行時三道程序的時間關(guān)系圖,并計算完成三道程序要花多

長時間。

A

程A

—I

程B

序4

程CCl

序A

_n

Im

H操i1

|130

2D-5()60708()9000120140

總時間=130

第二章

5.假設(shè)系統(tǒng)就緒隊列中有10個進程,這10個進程輪換執(zhí)行,每隔300ms輪

換一次,CPU在進程切換時所花費的時間是10ms,試問系統(tǒng)化在進程切換上

的開銷占系統(tǒng)整個時間的比例是多少?

答:因為每隔300ms換一次進程,且每個進程切換時所花費的時間是10ms,

則系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是10/(300+10)=3.2%

6.試述線程的特點及其與進程之間的關(guān)系。

答:(1)特點:線程之間的通信要比進程之間的通信方便的多;同一進程內(nèi)

的線程切換也因為線程的輕裝而方便的多。同時線程也是被獨立調(diào)度的分配

的;

(2)線程與進程的關(guān)系:線程和進程是兩個密切相關(guān)的概念,一個進程至少

擁有一個線程,進程根據(jù)需要可以創(chuàng)建若干個線程。線程自己基本上不擁有

資源,只擁有少量必不可少的資源(線程控制塊和堆棧)

7.根據(jù)圖2-18,回答以下問題。

(1)進程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。

答:1表示操作系統(tǒng)把處于創(chuàng)建狀態(tài)的進程移入就緒隊列;3表示進程

請求I/O或等待某事件;4表示進程用行的時間片用完;6表示I/O完

成或事件完成;7表示進程完成。

(2)系統(tǒng)中常常由于某一進程的狀態(tài)變遷引起另一進程也產(chǎn)生狀態(tài)變遷,

這種變遷稱為因果變遷。下述變遷是否為因果變遷:3~2,4~5,7~2,3~6,

是說明原因。

答:3f2是因果變遷,當一個進程從運行態(tài)變?yōu)樽枞麘B(tài)時,此時CPU空閑,

系統(tǒng)首先到高優(yōu)先級隊列中選擇一個進程。

4f5是因果變遷,當一個進程運行完畢時,此時CPU空閑,系統(tǒng)首先到高

優(yōu)先級隊列中選擇進程,但如果高優(yōu)先級隊列為空,則從低優(yōu)先隊列中選擇一個

進程。

7f2是因果變遷,當一個進程運行完畢時,CPU空閑,系統(tǒng)首先到高優(yōu)先

級隊列中選擇一個進程。

3f6不是因果變遷。一個進程阻塞時由于自身的原因而發(fā)生的,和另一個

進程等待的時間到達沒有因果關(guān)系。

(3)根據(jù)此進程狀態(tài)轉(zhuǎn)換圖,說明該系統(tǒng)CPU調(diào)度的策略和效果。

答:當進程調(diào)度時,首先從高優(yōu)先級就緒隊列選擇一個進程,賦予它的時間

片為100mso如果高優(yōu)先級就緒隊列為空,則從低優(yōu)先級就緒隊列選擇進程,并

且賦予該進程的時間片為500mso

這種策略一方面照顧了短進程,一個進程如果在100ms運行完畢它將退出系統(tǒng),

更主要的是照顧了I/O量大的進程,進程因I/O進入阻塞隊列,當I/O完成后它

就進入了高優(yōu)先級就緒隊列,在高優(yōu)先級就緒隊列等待的進程總是優(yōu)于低優(yōu)先級

就緒隊列的進程。而對于計算量較大的進程,它的計算如果在100ms的時間內(nèi)不

能完成,它將進入低優(yōu)先級就緒隊列,在這個隊列的進程被選中的機會要少,只

有當高優(yōu)先級就緒隊列為空,才從低優(yōu)先級就緒隊列選擇進程,但對于計算量大

的進程,系統(tǒng)給予的適當照顧時間片增大為500ms。

8.回答以下問題。

(1)若系統(tǒng)中沒有運行進程,是否一定沒有就緒進程?為什么?

答:是,因為當CPU空閑時,系統(tǒng)就會在就緒隊列里調(diào)度進程,只有

當就緒隊列為空時,系統(tǒng)中才沒有運行程序。

(2)若系統(tǒng)中既沒有運行進程,也沒有就緒進程,系統(tǒng)中是否就沒有阻塞

進程?解釋。

答:不一定,當運行的程序都因為請求I/O或等待事件時而進入阻塞,

系統(tǒng)中就沒有就緒進程。

(3)如果系統(tǒng)采用優(yōu)先級調(diào)度策略,運行的進程是否一定是系統(tǒng)中優(yōu)先級

最高的進程?為什么?

答:不一定,若優(yōu)先級高的進程進入阻塞狀態(tài)時,而且優(yōu)先級高的就

緒隊列里沒有等待的進程,這時就會調(diào)度優(yōu)先級低的就緒隊列的進程。

9.假如有以下程序段,回答下面的問題。

SI:a=3-x;

S2:b=2*a;

S3:c=5+a;

⑴并發(fā)程序執(zhí)行的Bernstein條件是什么?

答:若P1與P2R并發(fā)執(zhí)行,當且僅當R(P1)AW(P2)UR(P2)AW(P1)U

W(P1)AW(P2)={}時才滿足。

(2)試畫圖表示它們執(zhí)行時的先后次序。

JS2

-S3

V__________,

⑶利用Bernstein條件證明,SI、S2和S3哪兩個可以并發(fā)執(zhí)行,哪兩個不能。

答:R(sl)={x},W(sl)={a};R(s2)={a},W(s2)=;R(s3)={a},W(s3)={c};

(l).R(sl)nW(s2)UR(s2)nW(sl)UW(sl)nW(s2)={a},則si與s2不能并發(fā)執(zhí)行;

(2).R(sl)AW(s3)UR(s3)nW(sl)UW(sl)DW(s3)={a},則si與s3不能并發(fā)執(zhí)行;

(3).R(s2)nW(s3)UR(s3)DW(s2)UW(s2)DW(s3)={},BlJs2與s3可以并發(fā)執(zhí)行。

第三章

1.設(shè)有一個售票大廳,可容納200人購票。如果廳內(nèi)不足200人則允許進入,

超過則在廳外等候;售票員某時只能給一個購票者服務(wù),購票者買完票后就

離開。試問:

(1)購票者之間是同步關(guān)系還是互斥關(guān)系?

答:互斥關(guān)系。

(2)用P、V操作描述購票者的工作過程。

semaphoreempty=200;

semaphoremutex=l;

semaphorewaiting=0;

voidbuy()

{p(waiting);

p(mutex);

買票;

v(mutex);

v(empty);

)

voidwaitingO

P(empty);

等待;

waiting++;

)

2.有4個進程Pl、P2、P3、P4共享一個緩沖區(qū),進程Pl向緩沖區(qū)存入消息,

進程P2、P3、P4從緩沖區(qū)中取消息,要求發(fā)送者必須等三個進程都取過本

消息后才能發(fā)送下調(diào)消息。緩沖區(qū)內(nèi)每次只能容納一個消息,用P、V操作

描述四個進程存取消息的情況。

答:semaphorepl=0;semaphorep2,p3,p4=l;

semaphorecout=0;semaphoremutex=l;

voidmain()

{P(p2);P(p3);P(4);

V(cout);}

writepl()

{P(pl);P(metux);P(cout);

存入消息;

V(pl);V(metux);}

Readp2()

{P(mutex);P(pl);

讀消息;

V(pl);V(p2);V(metux);}

Readp30

{P(mutex);P(pl);

讀消息;

V(pl);V(p3);V(metux);}

Readp4()

{P(mutex);P(pl);

讀消息;

V(pl);V(p4);V(metux);}

3.分析生產(chǎn)者——消費者問題中多個P操作顛倒引起的后果。

答:semaphoremutex=l;

semaphoreempty=n;

semaphorefull=0;

inti,j;

ITEMbuffer[n];

ITEMdata_p,data_c;

voidproducer()/*生產(chǎn)者進程*/voidconsumer0/*消費者進

程*/

{while(true){while(true)

({P(mutex);

P(mutex);P(full);

P(empty);data_c=buffer[j];

buffer[i]=data_p;j=(j+l)%n;

i=(i+l)%n;V(mutex);

V(mutex);V(empty);

V(full);)

若把生產(chǎn)者進程的P操作顛倒,消費者進程的P操作顛倒(如圖),則生產(chǎn)者

進程執(zhí)行到V(mutex)時,消費者就可以執(zhí)行P(mutex)但由于full=O,消費

者進程不可執(zhí)行P(full);當生產(chǎn)者進程執(zhí)行完V(full)后,但由于

mutex=O,消費者進程無法執(zhí)行,造成死鎖。

第四章

1.系統(tǒng)中有5個資源被4個進程所共享,如果每個進程最多需要2個這種資源,試問系統(tǒng)

是否會產(chǎn)生鎖死?

答:不會產(chǎn)生死鎖;因為因為資源數(shù)可以滿足進程的需要,當其中的一個進程爭取到剩

下的一個資源可以執(zhí)行,當執(zhí)行完成以后會釋放資源,供其他進程使用,所以不會產(chǎn)生

死鎖。

2.計算機系統(tǒng)有8臺磁帶機,由N個進程競爭使用,每個進程最多需要3臺。問:N為多

少時,系統(tǒng)沒有死鎖的危險?

答:當n為1、2、3時,沒有死鎖的危險;因為當n小于3時,每個進程分配2臺磁帶

機,還有磁帶機剩余,那么當其中的一個進程得到剩余的磁帶機則可運行,運行結(jié)束后

會釋放磁帶機,供其他進程使用,系統(tǒng)不會有死鎖的危險;當n為4時,每臺分配2臺

時沒有剩余,則會產(chǎn)生死鎖,當大于5時同樣會死鎖。

3.系統(tǒng)有5個進程,它們的到達時間和服務(wù)時間如表4-8所示。新進程(沒有運行過)與

老進程(運行過的進程)的條件相同時,假定系統(tǒng)選新進程運行。

表4-8進程情況

進程名到達時間服務(wù)時間

A03

B26

C44

D65

E82

若按先來先服務(wù)(FCFS)、時間片輪法(時間片q=l)、短進程優(yōu)先(SPN)、最短剩余時

間優(yōu)先(SRT,時間片q=l)、響應(yīng)比高者優(yōu)先(HRRN)及多級反饋隊列(MFQ,第一

個隊列的時間片為1,第i(i>l)個隊列的時間片q=2(i-1))算法進行CPU調(diào)度,請給

出各個進程的完成時間、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間,及所有的進程的平均周轉(zhuǎn)時間和平

均帶權(quán)周轉(zhuǎn)時間。

答:

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時UJ

到達時間02468

服務(wù)時間36452

二CFS

完成時間39131820

周轉(zhuǎn)時間37912128.6

帶權(quán)周轉(zhuǎn)11.172.252.462.56

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時1巾

到達時間02468

服務(wù)時間36452

時間片

侖轉(zhuǎn)完成時間418172015

周轉(zhuǎn)時間4161314710.8

帶權(quán)周轉(zhuǎn)1.332.673.252.83.52.71

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時打

到達時間02468

服務(wù)時間36452

SPN

完成時間39152011

周轉(zhuǎn)時間37111437.6

帶權(quán)周轉(zhuǎn)11.172.752.81.57.6

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時心

到達時間02468

服務(wù)時間36452

SRT

完成時間32081510

周轉(zhuǎn)時間3184927.2

帶權(quán)周轉(zhuǎn)1311.811.56

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時IH

到達時間02468

服務(wù)時間36452

HRRb

完成時間39132015

周轉(zhuǎn)時間3791478

帶權(quán)周轉(zhuǎn)11.172.252.83.52.14

ABCDE平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時

到達時間02468

服務(wù)時間36452

VIFQ

完成時間317182014

周轉(zhuǎn)時間3151414610.4

帶權(quán)周轉(zhuǎn)12.53.52.832.56

4.設(shè)系統(tǒng)中有5個進程Pl、P2、P3、P4、P5,有3種類型的資源A、B、C,其中A資源

的數(shù)量是17,B資源的數(shù)量是5,C資源的數(shù)量是20,T0時刻系統(tǒng)狀態(tài)如表4-9所示。

表4-9T0時刻系統(tǒng)狀態(tài)

已分配資源數(shù)量最大資源需求量仍然需求資源數(shù)

進程

ABCABCABC

P1212559347

P2402536134

P34054011006

P4204425221

P5314424110

(1)計算每個進程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。

(2)T0時刻系統(tǒng)是否處于安全狀態(tài)?為什么?

答:處于安全狀態(tài),因為序列<p4,p2,p3,p5,pl>是一個安全狀態(tài)。

(3)如果TO時刻進程P2又有新的資源請求(0,3,4),是否實施資源分配?為什么?

答:不實施資源分配,因為將所有資源都分配給p2時,p2的C是5,不能夠運行,

進入死鎖。

(4)如果T0時刻,若進程P4又有新的資源請求(2,0,1),是否實施資源分配?為什

么?

答:實施;因為p4請求資源后,存在安全狀態(tài)。

(5)在(4)的基礎(chǔ)上,若進程P1又有新的資源請求(0,2,0),是否實施資源分配?為

什么?

答:不實施;

第五章

1.在系統(tǒng)中采用可變分區(qū)存儲管理,操作系統(tǒng)占用低地址部分的126KB,用戶

區(qū)的大小是386KB,采用空閑分區(qū)表管理空閑分區(qū)。若分配時從高地址開始,

對于下述的作業(yè)申請序列:作業(yè)1申請80KB;作業(yè)2申請56KB;作業(yè)3申

請120KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4申請156KB;作業(yè)5申請80KB。

使用首次適應(yīng)法處理上述作業(yè),并回答以下問題。

(1)畫出作業(yè)1、2、3進入內(nèi)存后,內(nèi)存的分布情況。

5JJ______________1261250

空321

它130KB120KB56KB80KB

答:

(2)畫出作業(yè)1、3完成后,內(nèi)存的分布情況。

5U______________1261250

空2空

小25UKB36KH8UKB

答:

(3)畫出作業(yè)4、5進入內(nèi)存后,內(nèi)存的分布情況。

5111261250

542空

14KB80K*KB56KB80KB

2.某系統(tǒng)采用頁式存儲管理策略,某進程的邏輯地址空間為32頁,頁的大小

為2KB,物理地址空間的大小是4MB。

(1)寫出邏輯地址的格式。

1511100

頁號頁內(nèi)位移

(2)該進程的頁表有多少項?每項至少占多少位?

答:因為進程的邏輯地址空間為32頁,因此該進程的頁表項有32項。頁表

中應(yīng)存儲每頁的塊號。因為物理地址空間大小是4MB,4MB的物理地址空間內(nèi)

分成4MB/2KB=2K個塊,因此塊號部分需要11位(二進制),所以頁表中每項

占11位。

(3)如果物理地址空間減少一半,頁表的結(jié)構(gòu)有何變化?

答:當減少一半時,有2MB/2KB=1K個塊,因此塊號部分需要10位(二進制),

所以頁表中每項占10位。

3.某頁式存儲管理系統(tǒng),內(nèi)存的大小為64KB,被分為16塊,塊號為0、1、2、……、

15o設(shè)某進程有4頁,其頁號為0、1、2、3,被分別裝入內(nèi)存的2、4、7、

5,問:

(1)該進程的大小是多少字節(jié)?

答:總共64KB,16頁,則每頁有4KB。該進程有四頁,則進程的大小

為16KBo

(2)寫出該進程每一頁在內(nèi)存的起始地址。

頁號塊號“&始地址

028KB

1416KB

2728KB

3535KB

答:

(3)邏輯地址4146對應(yīng)的物理地址是多少?

答:4146除以4096得1余50,這頁號為1,頁內(nèi)位移為50;1對應(yīng)

于4,這物理地址為4*4096+50=16434b。

4.某段式存儲管理系統(tǒng)的段表如圖所示。

序號段長段始:tit

015KB40K13

18KB8OK13

210KB100KB

請將邏輯地址[0,137]、[1,9000]、[2,3600]、[3,230]轉(zhuǎn)換成物理地址。

答:[0,137]:40*1024+137=410976

[1,9000]:80*1024+9000=90920B

[2,3600]:100*1024+3600=1060006

[3,230]不合法

第六章

4.已知頁面走向是1、2、1、3、1、2、4、2、1、3、4,且進程開始執(zhí)行時,內(nèi)存中沒有

頁面,若給該進程分配2個物理塊,當采用以下算法時的缺頁率是多少?

(1)先進先出置換算法.

(2)假如有一種頁面置換算法,它總是淘汰剛使用過的頁面。

4(1)先進先出置換算法。

頁面調(diào)度表

頁面走向12131242134

物理塊1113322114

物理塊222114433

缺頁缺缺缺缺缺缺缺缺缺

答,頁面弓用11次,缺頁9次,缺頁率為9/11=81.8%。

(3)假如有一種頁面置換算法,它總是淘汰剛使用過的頁面。

頁面調(diào)度表

頁面走向12131242134

物理塊111311134

物理塊22224222

缺頁缺缺缺缺缺缺缺缺

答,頁面引片11次,缺頁8次,缺頁率為&11=72.7%。

6.某請求頁式系統(tǒng)中,頁的大小為100字,一個程序的大小為1200字,可能的訪問序列

如下:10、205、110-40、314、432、320、225、80、130、272、420、128,若系統(tǒng)采

用LRU置換算法,當分配給該進程的物理塊數(shù)為3時,給出進程駐留的各個頁面的變化

情況、頁面淘汰情況及缺頁次數(shù)。

6.答:由于頁的代謝奧為100字,因此訪問序列10、205、110s40、314、432、320、225、

80s130x272、420、128對應(yīng)的頁號是0、2、1-0、3、4、3、2、0、32、4、1.給

該進程分配3個物理塊,采用LRU置換算法,其頁面調(diào)度情況如表。

頁面走向0210343201241

物理塊1000002222

物理塊222333311

物理塊31144004

缺頁缺缺缺缺缺缺缺缺缺

被淘汰的頁號分別是2、1、0-4、3、0,共9次。

7.在一個采用局部置換策略的請求頁式系統(tǒng)中,分配中給進程的物理塊數(shù)為4,其中存放

的4個頁面的情況如表。

當發(fā)生缺頁時,分別采用下列頁面置換算法時,講置換哪一頁?并解釋原因。

進程4個頁面的情況

頁號存儲塊號加載時間訪問時間訪問位修

改位

023016001

111601570

0

20101621

0

332201651

1

OPT(最佳)置換算法;

FIFO(先進先出)置換算法;

LRU(最近最少使用)置換算法;

Clock置換算法。

某虛擬存儲器的用戶空間有32個頁面,每頁1KB,內(nèi)存大小為16KB,假設(shè)某時刻系統(tǒng)

為用戶的第0、1、2、3頁分配得物理塊號是5、10、4、7,而該用戶進程的長度是6頁.

試將以下16進制的虛擬地址轉(zhuǎn)換成物理地址。

(1)0X0A5C

(2)0X103C

(3)0X257B

(4)0X8A4C

7.

進程4個頁面的情況

頁號存儲塊號加載時間訪問時間訪問位修改位

02

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論