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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. 什么是操作系統(tǒng)?它的主要功能是什么?答:操作系統(tǒng)是用來管理計算機系統(tǒng)的軟、硬件資源,合理地組織計算機的工作流程,以方便用戶使用的程序集合;其主要功能有進程管理、存儲器管理、設備管理和文件管理功能。2. 什么是分時系統(tǒng)?什么是實時系統(tǒng)?試從交互性、及時性、獨立性、多路性和可靠性幾個方面比較分時系統(tǒng)和實時系統(tǒng)。答:分時系統(tǒng):一個計算機和許多終端設備連接,每個用戶可以通過終端向計算機發(fā)出指令,請求完成某項工作,在這樣的系統(tǒng)中,用戶感覺不到其他用戶的存在,好像獨占計算機一樣。實時系統(tǒng):對外部輸入的信息,實時系統(tǒng)能夠在規(guī)定的時間內處理完畢并作出反應。比較:(1)交互性:實時系統(tǒng)具有交互性,但人與系

2、統(tǒng)的交互,僅限于訪問系統(tǒng)中某些特定的專用服務程序。它不像分時系統(tǒng)那樣向終端用戶提供數(shù)據(jù)處理、資源共享等服務。實時系統(tǒng)的交互性要求系統(tǒng)具有連續(xù)人機對話的能力,也就是說,在交互的過程中要對用戶得輸入有一定的記憶和進一步的推斷的能力。(2)及時性:實時系統(tǒng)對及時性的要求與分時系統(tǒng)類似,都以人們能夠接受的等待時間來確定。而分時系統(tǒng)則對及時性要求更高。(3)獨立性:實時系統(tǒng)與分時系統(tǒng)一樣具有獨立性。每個終端用戶提出請求時,是彼此獨立的工作、互不干擾。(4)多路性:實時系統(tǒng)與分時一樣具有多路性。操作系統(tǒng)按分時原則為多個終端用戶提供服務,而對于實時系統(tǒng),其多路性主要表現(xiàn)在經(jīng)常對多路的現(xiàn)場信息進行采集以及對多

3、個對象或多個執(zhí)行機構進行控制。(5)可靠性:分時系統(tǒng)雖然也要求可靠性,但相比之下,實時系統(tǒng)則要求系統(tǒng)高度可靠。9.設內存中有三道程序,A,B,C,他們按ABC的先后次序執(zhí)行,它們進行“計算”和“I/O操作”的時間如表1-2所示,假設三道程序使用相同的I/O設備。表1-2 三道程序的操作時間(1) 試畫出單道運行時三道程序的時間關系圖,并計算完成三道程序要花多少時間??倳r間=20+30+10+30+50+20+10+20+10=200(2) 試畫出多道運行時三道程序的時間關系圖,并計算完成三道程序要花多長時間??倳r間=130第二章5 假設系統(tǒng)就緒隊列中有10個進程,這10個進程輪換執(zhí)行,每隔30

4、0ms輪換一次,CPU在進程切換時所花費的時間是10ms,試問系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是多少?答:因為每隔300ms換一次進程,且每個進程切換時所花費的時間是10ms,則系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是10/(300+10)=3.2%6 試述線程的特點及其與進程之間的關系。答:(1)特點:線程之間的通信要比進程之間的通信方便的多;同一進程內的線程切換也因為線程的輕裝而方便的多。同時線程也是被獨立調度的分配的;(2)線程與進程的關系:線程和進程是兩個密切相關的概念,一個進程至少擁有一個線程,進程根據(jù)需要可以創(chuàng)建若干個線程。線程自己基本上不擁有資源,只擁有少量必不

5、可少的資源(線程控制塊和堆棧)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)變遷,這種變遷稱為因果變遷。下述變遷是否為因果變遷:32,45,72,36,是說明原因。答:32是因果變遷,當一個進程從運行態(tài)變?yōu)樽枞麘B(tài)時,此時CPU空閑,系統(tǒng)首先到高優(yōu)先級隊列中選擇一個進程。45是因果變遷,當一個進程運行完畢時,此時CPU空閑,系統(tǒng)首先到高優(yōu)先級

6、隊列中選擇進程,但如果高優(yōu)先級隊列為空,則從低優(yōu)先隊列中選擇一個進程。72 是因果變遷,當一個進程運行完畢時,CPU空閑,系統(tǒng)首先到高優(yōu)先級隊列中選擇一個進程。36不是因果變遷。一個進程阻塞時由于自身的原因而發(fā)生的,和另一個進程等待的時間到達沒有因果關系。(3) 根據(jù)此進程狀態(tài)轉換圖,說明該系統(tǒng)CPU調度的策略和效果。答:當進程調度時,首先從高優(yōu)先級就緒隊列選擇一個進程,賦予它的時間片為100ms。如果高優(yōu)先級就緒隊列為空,則從低優(yōu)先級就緒隊列選擇進程,并且賦予該進程的時間片為500ms。這種策略一方面照顧了短進程,一個進程如果在100ms運行完畢它將退出系統(tǒng),更主要的是照顧了I/O量大的進程

7、,進程因I/O進入阻塞隊列,當I/O完成后它就進入了高優(yōu)先級就緒隊列,在高優(yōu)先級就緒隊列等待的進程總是優(yōu)于低優(yōu)先級就緒隊列的進程。而對于計算量較大的進程,它的計算如果在100ms的時間內不能完成,它將進入低優(yōu)先級就緒隊列,在這個隊列的進程被選中的機會要少,只有當高優(yōu)先級就緒隊列為空,才從低優(yōu)先級就緒隊列選擇進程,但對于計算量大的進程,系統(tǒng)給予的適當照顧時間片增大為500ms。8 回答以下問題。(1) 若系統(tǒng)中沒有運行進程,是否一定沒有就緒進程?為什么?答:是,因為當CPU空閑時,系統(tǒng)就會在就緒隊列里調度進程,只有當就緒隊列為空時,系統(tǒng)中才沒有運行程序。(2) 若系統(tǒng)中既沒有運行進程,也沒有就緒

8、進程,系統(tǒng)中是否就沒有阻塞進程?解釋。答:不一定,當運行的程序都因為請求I/O或等待事件時而進入阻塞,系統(tǒng)中就沒有就緒進程。(3) 如果系統(tǒng)采用優(yōu)先級調度策略,運行的進程是否一定是系統(tǒng)中優(yōu)先級最高的進程?為什么?答:不一定,若優(yōu)先級高的進程進入阻塞狀態(tài)時,而且優(yōu)先級高的就緒隊列里沒有等待的進程,這時就會調度優(yōu)先級低的就緒隊列的進程。9 假如有以下程序段,回答下面的問題。S1: a=3-x;S2: b=2*a;S3: c=5+a;(1) 并發(fā)程序執(zhí)行的Bernstein 條件是什么?答:若P1與P2R并發(fā)執(zhí)行,當且僅當R(P1)W(P2)R(P2)W(P1)W(P1)W(P2)=時才滿足。(2)

9、 試畫圖表示它們執(zhí)行時的先后次序。(3) 利用Bernstein 條件證明,S1、S2和S3哪兩個可以并發(fā)執(zhí)行,哪兩個不能。答:R(s1)=x,W(s1)=a;R(s2)=a,W(s2)=b;R(s3)=a,W(s3)=c;(1).R(s1)W(s2)R(s2)W(s1)W(s1)W(s2)=a,則s1與s2不能并發(fā)執(zhí)行;(2). R(s1)W(s3)R(s3)W(s1)W(s1)W(s3)=a,則s1與s3不能并發(fā)執(zhí)行;(3). R(s2)W(s3)R(s3)W(s2)W(s2)W(s3)=,則s2與s3可以并發(fā)執(zhí)行。第三章1 設有一個售票大廳,可容納200人購票。如果廳內不足200人則允許

10、進入,超過則在廳外等候;售票員某時只能給一個購票者服務,購票者買完票后就離開。試問:(1) 購票者之間是同步關系還是互斥關系?答:互斥關系。(2) 用P、V操作描述購票者的工作過程。 semaphore empty=200;semaphore mutex=1;semaphore waiting=0;void buy() p(waiting);p(mutex);買票;v(mutex);v(empty);void waiting()p(empty);等待;waiting+;2 有4個進程P1、P2、P3、P4共享一個緩沖區(qū),進程P1向緩沖區(qū)存入消息,進程P2、P3、P4從緩沖區(qū)中取消息,要求發(fā)送者

11、必須等三個進程都取過本消息后才能發(fā)送下調消息。緩沖區(qū)內每次只能容納一個消息,用P、V操作描述四個進程存取消息的情況。答:semaphore p1=0;semaphore p2,p3,p4=1;semaphore cout=0;semaphore mutex=1;void main()P(p2);P(p3);P(4);V(cout);write p1()P(p1);P(metux);P(cout);存入消息;V(p1);V(metux);Read p2() P(mutex);P(p1);讀消息;V(p1);V(p2);V(metux); Read p3() P(mutex);P(p1);讀消息;

12、V(p1);V(p3);V(metux);Read p4() P(mutex);P(p1);讀消息;V(p1);V(p4); V(metux);3 分析生產(chǎn)者消費者問題中多個P操作顛倒引起的后果。答:semaphore mutex=1; semaphore empty=n; semaphore full=0; int i,j;ITEM buffern;ITEM data_p,data_c;void producer()/*生產(chǎn)者進程*/ void consumer() /*消費者進程*/while(true) while(true) P(mutex) ; P(mutex); P(full);

13、P(empty); data_c=bufferj; bufferi=data_p; j=(j+1)%n; i=(i+1)%n; V(mutex); V(mutex); V(empty); V(full); 若把生產(chǎn)者進程的P操作顛倒,消費者進程的P操作顛倒(如圖),則生產(chǎn)者進程執(zhí)行到V(mutex)時,消費者就可以執(zhí)行P(mutex) 但由于full=0,消費者進程不可執(zhí)行P(full);當生產(chǎn)者進程執(zhí)行完V(full)后,full=1,但由于mutex=0,消費者進程無法執(zhí)行,造成死鎖。第四章1 系統(tǒng)中有5個資源被4個進程所共享,如果每個進程最多需要2個這種資源,試問系統(tǒng)是否會產(chǎn)生鎖死?答:

14、不會產(chǎn)生死鎖;因為因為資源數(shù)可以滿足進程的需要,當其中的一個進程爭取到剩下的一個資源可以執(zhí)行,當執(zhí)行完成以后會釋放資源,供其他進程使用,所以不會產(chǎn)生死鎖。2 計算機系統(tǒng)有8臺磁帶機,由N個進程競爭使用,每個進程最多需要3臺。問:N為多少時,系統(tǒng)沒有死鎖的危險?答:當n為1、2、3時,沒有死鎖的危險;因為當n小于3時,每個進程分配2臺磁帶機,還有磁帶機剩余,那么當其中的一個進程得到剩余的磁帶機則可運行,運行結束后會釋放磁帶機,供其他進程使用,系統(tǒng)不會有死鎖的危險;當n為4時,每臺分配2臺時沒有剩余,則會產(chǎn)生死鎖,當大于5時同樣會死鎖。3 系統(tǒng)有5個進程,它們的到達時間和服務時間如表4-8所示。新

15、進程(沒有運行過)與老進程(運行過的進程)的條件相同時,假定系統(tǒng)選新進程運行。 表4-8 進程情況進程名到達時間服務時間A03B26C44D65E82若按先來先服務(FCFS)、時間片輪法(時間片q=1)、短進程優(yōu)先(SPN)、最短剩余時間優(yōu)先(SRT,時間片q=1)、響應比高者優(yōu)先(HRRN)及多級反饋隊列(MFQ,第一個隊列的時間片為1,第i(i>1)個隊列的時間片q=2(i-1)算法進行CPU調度,請給出各個進程的完成時間、周轉時間、帶權周轉時間,及所有的進程的平均周轉時間和平均帶權周轉時間。答:4 設系統(tǒng)中有5個進程P1、P2、P3、P4、P5,有3種類型的資源A、B、C,其中A

16、資源的數(shù)量是17,B資源的數(shù)量是5,C資源的數(shù)量是20,T0時刻系統(tǒng)狀態(tài)如表4-9所示。 表4-9 T0時刻系統(tǒng)狀態(tài)進程已分配資源數(shù)量最大資源需求量仍然需求資源數(shù)ABCABCABCP1212559347P2402536134P34054011006P4204425221P5314424110(1) 計算每個進程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。(2) T0時刻系統(tǒng)是否處于安全狀態(tài)?為什么?答:處于安全狀態(tài),因為序列<p4,p2,p3,p5,p1>是一個安全狀態(tài)。(3) 如果T0時刻進程P2又有新的資源請求(0,3,4),是否實施資源分配?為什么?答:不實施資源分

17、配,因為將所有資源都分配給p2時,p2的C是5,不能夠運行,進入死鎖。(4) 如果T0時刻,若進程P4又有新的資源請求(2,0,1),是否實施資源分配?為什么?答:實施;因為p4請求資源后,存在安全狀態(tài)。(5) 在(4)的基礎上,若進程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

18、申請80KB。使用首次適應法處理上述作業(yè),并回答以下問題。(1) 畫出作業(yè)1、2、3進入內存后,內存的分布情況。答:(2) 畫出作業(yè)1、3完成后,內存的分布情況。答:(3) 畫出作業(yè)4、5進入內存后,內存的分布情況。答2 某系統(tǒng)采用頁式存儲管理策略,某進程的邏輯地址空間為32頁,頁的大小為2KB,物理地址空間的大小是4MB。(1) 寫出邏輯地址的格式。(2) 該進程的頁表有多少項?每項至少占多少位?答:因為進程的邏輯地址空間為32頁,因此該進程的頁表項有32項。頁表中應存儲每頁的塊號。因為物理地址空間大小是4MB,4MB的物理地址空間內分成4MB/2KB=2K個塊,因此塊號部分需要11位(二進制),所以頁表中每項占11位。(3) 如果物理地址空間減少一半,頁表的結構有何變化?答:當減少一半時,有2MB/2KB=1K個塊,因此塊號部分需要10位(二進制),所以頁表中每項占10位。3 某頁式存儲管理系統(tǒng),內存的大小為64KB,被分為16塊,塊號為0、1、2、15。設某進程有4頁,其頁號為0、1、2、3,被分別裝入內存的2、4、7、5,問:(1) 該進程的大小是多少字節(jié)?答:總

溫馨提示

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

評論

0/150

提交評論