操作系統(tǒng)課后練習精選_第1頁
操作系統(tǒng)課后練習精選_第2頁
操作系統(tǒng)課后練習精選_第3頁
免費預覽已結束,剩余16頁可下載查看

下載本文檔

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

文檔簡介

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)具有交互性,但人與系統(tǒng)的交

2、互,僅限于訪問系統(tǒng)中某些特定的專用服務程序。它不像分時系統(tǒng)那樣向終端用戶提供數(shù)據處理、資源共享等服務。實時系統(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)在經常對多路的現(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 三道程序的操作時間操作計算I/O 操作計算程序A203010B305020C102010( 1) 試畫出單道運行時三道程序的時間關系圖,并計算完成三道程序要花多少時間。ABBCC計算ABCI/O 操作20506014017020090160190總時間 =20+30+10+30+50+20+10+

4、20+10=200( 2) 試畫出多道運行時三道程序的時間關系圖,并計算完成三道程序要花多長時間。AA程序 A程序 BBB程序 CACCI/O 操作BI/O 操作CI/O 操作205013060 70 80 90 100 120140總時間 =130第二章5 假設系統(tǒng)就緒隊列中有 10 個進程,這 10 個進程輪換執(zhí)行, 每隔 300ms輪換一次, CPU在進程切換時所花費的時間是 10ms,試問系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是多少答:因為每隔 300ms換一次進程,且每個進程切換時所花費的時間是10ms,則系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是 10/ (300+10)

5、 =% 6 試述線程的特點及其與進程之間的關系。答:( 1)特點:線程之間的通信要比進程之間的通信方便的多;同一進程內的線程切換也因為線程的輕裝而方便的多。同時線程也是被獨立調度的分配的;( 2)線程與進程的關系: 線程和進程是兩個密切相關的概念, 一個進程至少擁有一個線程,進程根據需要可以創(chuàng)建若干個線程。線程自己基本上不擁有資源,只擁有少量必不可少的資源(線程控制塊和堆棧)7 根據圖 2-18 ,回答以下問題。( 1) 進程發(fā)生狀態(tài)變遷1、3、4、6、7 的原因。答:1 表示操作系統(tǒng)把處于創(chuàng)建狀態(tài)的進程移入就緒隊列;3 表示進程請求 I/O或等待某事件; 4 表示進程用行的時間片用完;6 表

6、示 I/O完成或事件完成; 7 表示進程完成。( 2) 系統(tǒng)中常常由于某一進程的狀態(tài)變遷引起另一進程也產生狀態(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)先級隊列中選擇進程, 但如果高優(yōu)先級隊列為空, 則從低優(yōu)先隊列中選擇一個進程。72 是因果變遷,當一個進程運行完畢時,CPU空閑,系統(tǒng)首先到高優(yōu)先級隊列中選擇一個進程。36 不是因果變遷。一個進程阻塞時由于自身的原因而發(fā)

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

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

9、程是否一定是系統(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) 試畫圖表示它們執(zhí)行時的先后次序。S2S1S3(3) 利用 Bernstein 條件證明, S1、S2 和 S3 哪兩個可以并發(fā)執(zhí)行, 哪兩個不能。答: R

10、(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 人則允許進入,超過則在廳外等候;售票員某時只能給一個購票者服務,購票者買完票后就離開。

11、試問:( 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ā)送者必須等三個進程都取過本消息后才能發(fā)送下調消息。緩沖區(qū)內

12、每次只能容納一個消息,用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) ;讀消息;V(p

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

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

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

16、 5 個進程,它們的到達時間和服務時間如表4-8 所示。新進程(沒有運行過)與老進程(運行過的進程)的條件相同時,假定系統(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調度,請給出各個進程的完成時間、周轉時間、帶權周轉時間,及所有的進程的平均周轉時間和平均帶權周轉時間。答:ABCDE平均

17、周轉時間平均帶權周轉時間到達時間02468服務時間36452FCFS完成時間39131820周轉時間37912128.6帶權周轉11.172.252.462.56ABCDE平均周轉時間 平均帶權周轉時間到達時間02468時間片服務時間36452輪轉完成時間418172015周轉時間4161314710.8帶權周轉1.332.673.252.83.52.71ABCDE平均周轉時間平均帶權周轉時間到達時間02468服務時間36452SPN完成時間39152011周轉時間37111437.6帶權周轉11.172.752.81.57.6ABCDE平均周轉時間平均帶權周轉時間到達時間02468服務時間3

18、6452SRT完成時間32081510周轉時間3184927.2帶權周轉1311.811.56ABCDE平均周轉時間平均帶權周轉時間到達時間02468服務時間36452HRRN完成時間39132015周轉時間3791478帶權周轉11.172.252.83.52.14ABCDE平均周轉時間平均帶權周轉時間到達時間02468服務時間36452MFQ完成時間317182014周轉時間3151414610.4帶權周轉12.53.52.832.564 設系統(tǒng)中有5 個進程P1、P2、P3、P4、P5,有 3 種類型的資源A、B、C,其中 A 資源的數(shù)量是 17, B 資源的數(shù)量是5, C 資源的數(shù)量是

19、 20, T0 時刻系統(tǒng)狀態(tài)如表4-9 所示。表 4-9T0時刻系統(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 ),是否實施資源分配為什么答:不實施資源分配,因為將所有資源都分配給p

20、2 時, 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 完成;作

21、業(yè) 4 申請 156KB;作業(yè) 5 申請 80KB。使用首次適應法處理上述作業(yè),并回答以下問題。( 1) 畫出作業(yè) 1、 2、 3 進入內存后,內存的分布情況。答:511126 125 0空321130KB 120KB 56KB 80KB( 2) 畫出作業(yè) 1、 3 完成后,內存的分布情況。511126 125 0答:空2空250KB56KB 80KB( 3) 畫出作業(yè) 4、 5 進入內存后,內存的分布情況。答5111261250空 542空156KB56KB80KB14KB 80KB2 某系統(tǒng)采用頁式存儲管理策略,某進程的邏輯地址空間為32 頁,頁的大小為 2KB,物理地址空間的大小是4MB。( 1) 寫出邏輯地址的格式。1511100頁號頁內位移( 2) 該進程的頁表有多少項每項至少占多少位答:因為進

溫馨提示

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

評論

0/150

提交評論