1-3章習題講解第四版課件_第1頁
1-3章習題講解第四版課件_第2頁
1-3章習題講解第四版課件_第3頁
1-3章習題講解第四版課件_第4頁
1-3章習題講解第四版課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1~3、7章習題講解操作系統(tǒng)

OperatingSystem1.OS的主要目標是什么?(P31)解答:1)方便性:方便用戶、程序員;

2)有效性:提高軟硬件資源利用率;

3)可擴充性:便于擴充功能和性能;

4)開放性:增加系統(tǒng)兼容性和互操作性。Chap1操作系統(tǒng)引論2.OS的作用可表現(xiàn)在哪幾個方面?(P31)解答:1)從一般用戶的觀點,可把OS看作是用戶與計算機硬件系統(tǒng)之間的接口;

2)從資源管理角度看,可把OS視為計算機系統(tǒng)資源的管理者;

3)OS作為系統(tǒng)軟件覆蓋在裸機之上后,便可獲得一臺功能顯著增強的虛擬機器,因此,OS還有擴充機器的作用。Chap1操作系統(tǒng)引論11.OS有那幾大特征?最基本的特征是什么?(P31)

解答:基本特征是:并發(fā)、共享、虛擬、異步。最基本的特征是:并發(fā)性和共享性Chap1操作系統(tǒng)引論14.什么原因使OS具有異步性?(P31)解答:1)程序執(zhí)行結(jié)果是不確定的,即程序運行結(jié)果是不可再現(xiàn)的。

2)每個程序在何時執(zhí)行,多個程序間的執(zhí)行次序以及完成每個程序的時間都是不確定的,即不可預知性。Chap1操作系統(tǒng)引論24.基于微內(nèi)核的OS中,應(yīng)用了哪些新技術(shù)?(P31)解答:微內(nèi)核技術(shù)、客戶/服務(wù)器技術(shù)、面向?qū)ο蠹夹g(shù)。Chap1操作系統(tǒng)引論補充1、什么是多道程序設(shè)計?實現(xiàn)多道程序設(shè)計的計算機需要哪些必不可少的硬件支持?采用多道程序設(shè)計會帶來什么好處?解答:在計算機內(nèi)存中同時存放幾道相互獨立的程序,它們在管理程序的控制下相互穿插地運行,共享CPU和外設(shè)等資源。硬件支持:中斷技術(shù)、通道技術(shù)優(yōu)點:資源的利用率、系統(tǒng)吞吐量大。Chap1操作系統(tǒng)引論補充2、操作系統(tǒng)是如何從單道批處理,發(fā)展到多道批處理,再到分時系統(tǒng)的,隨之出現(xiàn)了哪些技術(shù)。解答:1)單道

多道批處理:提高資源利用率,產(chǎn)生了多道程序設(shè)計技術(shù)、通道、中斷、作業(yè)管理、處理機管理、存儲管理、設(shè)備管理、文件系統(tǒng)。

2)批處理分時系統(tǒng):提高系統(tǒng)的交互能力,產(chǎn)生了時鐘技術(shù)。Chap1操作系統(tǒng)引論補充3、分時系統(tǒng)的出現(xiàn)讓用戶感受到了什么好處?典型的分時系統(tǒng)是什么?解答:1)同時性或多路性:多用戶同時操作、使用計算機

2)獨占性:各終端用戶感覺到自己獨占了計算機;

3)及時性:用戶請求在較短時間內(nèi)相應(yīng);

4)交互性:用戶能計算機進行人機對話。典型的分時系統(tǒng):UNIXChap1操作系統(tǒng)引論6.從動態(tài)性、并發(fā)性和獨立性上比較進程和程序。(P84)答案見P367.說明PCB作用,為什么PCB是進程存在唯一標志。(P84)解答:1)PCB是進程實體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。PCB中記錄了操作系統(tǒng)所需的用于描述進程情況及控制進程運行所需的全部信息。

2)在進程的整個生命周期中,系統(tǒng)總是通過其PCB對進程進行控制,系統(tǒng)是根據(jù)進程的PCB而不是任何別的什么而感知到該進程的存在的。Chap2進程管理13.進程切換時保存CPU狀態(tài)信息包含哪些?(P84)解答:1)通用寄存器

2)指令計數(shù)器

3)程序狀態(tài)字

4)用戶棧指針

注意:處理機狀態(tài)是PCB的一部分,它描述了進程在處理機上執(zhí)行時的各種信息;當進行進程切換時,處理機中的這些信息通通要被其它進程覆蓋,所以必須保存。作業(yè)中有提到進程狀態(tài)的部分,不在此列。Chap2進程管理Chap2進程管理16.創(chuàng)建一個進程時所要完成的工作?解答:分配一個唯一的進程標識符,索取一個空白PCB為新進程的程序和數(shù)據(jù)分配內(nèi)存空間初始化進程控制塊,包括初始化標識符信息、處理機的狀態(tài)信息和控制信息設(shè)置相應(yīng)的鏈接18.同步應(yīng)該遵循的基本原則?(P84)答案見P51空閑讓進、忙則等待、有限等待、讓權(quán)等待

19.記錄型信號量的wait和signal的物理含義作業(yè)問題:

1)只答出wait、signal操作的原子性。

2)只答出wait表示申請一個資源,signal表示釋放一個資源。Chap2進程管理解答:

1)wait操作意味著請求一個單位的資源;若減1后S.value<0時,表示資源已分配完畢,故進程調(diào)用block原語進行自我阻塞,并被插入到等待隊列中。

2)signal操作意味著釋放一個單位的資源;若加1后S.value<=0,表示等待隊列中仍有進程等待該資源,故進程調(diào)用wakeup原語喚醒一個等待進程。Chap2進程管理21:如何使用信號量機制實現(xiàn)多個進程對臨界資源的互斥訪問?解答:

1)設(shè)置記錄型信號量mutex,初值為1。

2)將訪問臨界資源的代碼放置于wait(mutex)和signal(mutex)之間。Chap2進程管理23:在生產(chǎn)者—消費者問題中,如果缺少了signal(full)和signal(empty),對執(zhí)行結(jié)果有何影響?Chap2進程管理Producer:repeatwait(empty)wait(mutex)…signal(mutex)

signal(full)untilfalseConsumer:repeatwait(full)wait(mutex)…signal(mutex)

signal(empty)untilfalse(2)Wait(empty)成功,繼續(xù)(當緩沖區(qū)放滿后,生產(chǎn)者進程也阻塞)(1)Wait(full)不成功,消費者進程阻塞Chap2進程管理24:在生產(chǎn)者—消費者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)與signal(full)互換位置,結(jié)果會如何?Chap2進程管理Producer:repeatwait(empty)wait(mutex)…signal(mutex)signal(full)untilfalseConsumer:repeatwait(mutex)wait(full)…signal(mutex)signal(empty)untilfalse(1)Wait(empty)成功,繼續(xù)(3)Wait(mutex)失敗,生產(chǎn)者進程阻塞(2)Wait(mutex)成功,繼續(xù)(4)Wait(full)失敗,消費者進程阻塞Chap2進程管理Consumer:repeatwait(full)wait(mutex)…signal(mutex)signal(empty)untilfalseProducer:repeatwait(empty)wait(mutex)…signal(full)signal(mutex)untilfalse(1)Signal(full)成功(2)Wait(full)成功,繼續(xù)(3)wait(mutex)失敗,消費者阻塞互換signal會不會死鎖?Chap2進程管理Chap2進程管理26、Producer:

begin repeat produceaniteminnextp; wait(mutex); wait(full); buffer(in):=nextp; signal(mutex); untilfalse; endConsumer:

begin repeat wait(mutex); wait(empty); nextc:=buffer(out); out:=out+1;

signal(mutex); consumeiteminnextc; untilfalse endChap2進程管理27、試利用記錄型信號量寫出不會死鎖的哲學家進餐問題的算法。答:varc:array[0..4]ofsemaphore:=(1,1,1,1,1);processiRepeat

思考;

Swait(c[i],c[(i+1)mod5]);進食;

Ssignal(c[i],c[(i+1)mod5]);Untilfalse;Chap2進程管理31、什么是AND型信號量?試利用AND型信號量寫出生產(chǎn)者-消費者問題的算法。ProcessPi(1··m);//生產(chǎn)者

……Repeat

生產(chǎn)一個產(chǎn)品;

Swait(S,buf);送產(chǎn)品到Buffer[in]

;

in:=(in+1)modn;

Ssignal(S,prod);

UntilFalse;……ProcessCj(1··n);//消費者

……RepeatSwait(S,prod);

從Buffer[out]取產(chǎn)品;

out:=(out+1)modN;

Ssignal(S,buf);消費產(chǎn)品;UntilFalse;……VarS,buf,prod:semaphore:=1,N,0;{信號量}Buffer:array[0..N-1]ofitem;{臨界資源}in,out:integer:=0,0;{是臨界資源不是信號量}21:從調(diào)度性、并發(fā)性、擁有資源及系統(tǒng)開銷方面比較進程與線程?(P84)解答見P7623:何謂用戶級線程和內(nèi)核支持線程?(P84)解答見P79Chap2進程管理補充1:有沒有這樣的狀態(tài)轉(zhuǎn)換,為什么?等待

運行;就緒

等待解答:沒有。都要經(jīng)過中間狀態(tài):

1.等待狀態(tài)的進程獲得所需的資源后,必須轉(zhuǎn)入就緒狀態(tài),直到獲得CPU后才能運行。

2.進程在運行過程中才會請求資源,才有可能因請求不到資源而轉(zhuǎn)入等待狀態(tài)。Chap2進程管理補充2:一個狀態(tài)轉(zhuǎn)換的發(fā)生,是否一定導致另一個轉(zhuǎn)換發(fā)生,列出所有的可能。解答:不一定??赡艿那闆r如下:

1)執(zhí)行阻塞導致就緒執(zhí)行(就緒隊列不空)

2)執(zhí)行就緒導致就緒執(zhí)行

3)阻塞就緒可能導致就緒執(zhí)行(在搶占方式下,該進程優(yōu)先級高于當前進程和就緒隊列中的所有進程)Chap2進程管理補充3:用wait-signal操作解決下圖之同步問題:Chap2進程管理getcopyputfstgVarSfull,Sempty,Tfull,Tempty:semphore:=0,1,0,1;Get進程:BeginRepeatWait(Sempty);Get(f,s);Signal(Sfull);Untilfalse;endCopy進程:BeginRepeatWait(Sfull);Wait(Tempty);Copy(s,t);Signal(Sempty);Signal(Tfull);Untilfalse;endPut進程:BeginRepeatWait(Tfull);Put(t,g);Signal(Tempty);Untilfalse;endChap2進程管理Chap3處理機調(diào)度與死鎖6.為什么要引入高響應(yīng)比優(yōu)先調(diào)度算法?優(yōu)點?答:FCFS只考慮了等待時間,沒有考慮作業(yè)的運行時間,而SJF恰恰相反,只考慮了作業(yè)的運行時間,沒有考慮等待時間。而引入高響應(yīng)比優(yōu)先調(diào)度算法既考慮了等待時間,又考慮作業(yè)的運行時間,可以改善處理機的調(diào)度性能。優(yōu)點:既有利于短作業(yè),又兼顧長作業(yè),還考慮到了進程等待時間長短問題,改善了改善處理機的調(diào)度性能。Chap3處理機調(diào)度與死鎖9.在選擇調(diào)度方式和調(diào)度算法時,應(yīng)遵循的準則是什么?答:a.面向用戶的準則有周轉(zhuǎn)時間短,響應(yīng)時間快,截止時間的保證,以及優(yōu)先權(quán)準則。

b.面向系統(tǒng)的準則有系統(tǒng)吞吐量高,處理機利用率好,各類資源的平衡利用。Chap3處理機調(diào)度與死鎖11.何謂靜態(tài)和動態(tài)優(yōu)先級?確定靜態(tài)優(yōu)先級的依據(jù)是什么?答:靜態(tài)優(yōu)先級是在創(chuàng)建進程時確定的,且在進程的整個運行期間保持不變。動態(tài)優(yōu)先級是指,在創(chuàng)建進程時所賦予的優(yōu)先權(quán),是可以隨進程的推進或隨其等待時間的增加而改變的,以便獲得更好的調(diào)度性能。確定靜態(tài)優(yōu)先級的依據(jù)有: 進程類型; 進程對資源的需求; 用戶要求。Chap3處理機調(diào)度與死鎖27.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?答:a.死鎖是指多個進程因競爭資源而造成的一種僵局,若無外力作用,這些進程都將永遠不能再向前推進;

b.產(chǎn)生死鎖的原因有二,一是競爭資源,二是進程推進順序非法;

c.必要條件是:互斥條件,請求和保持條件,不剝奪條件和環(huán)路等待條件。ProcessAllocationNeedAvailabeP0003200121622P110001750P213542356P303320652P400140656(1)該狀態(tài)是否安全?(2)若P2提出資源請求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?31.銀行家算法Chap3處理機調(diào)度與死鎖安全性算法設(shè)置工作向量Work=Available,F(xiàn)inish[i]=False;挑選一個進程i,滿足條件: Finish[i]=False;Need[i,j]<=Work[j]如果找到這樣的進程,則執(zhí)行3,否則跳轉(zhuǎn)到4Pi執(zhí)行完后釋放資源,Work[j]+=Allocation[i,j],Finish[i]=True;

跳轉(zhuǎn)到2;如果所有Finish[i]==True;則安全,否則不安全安全狀態(tài)判斷過程ProcessAllocationNeedWorkWork+AllocationFinishP0003200121622P110001750FalseP213542356FalseP303320652P40014065616541686169ATrueTrueTrue無路可走了……,不安全呀P2請求(1,2,2,2),嘗試分配并判斷是否為安全狀態(tài)ProcessAllocationNeedWorkWork+AllocationFinishP0003200121622(0400)FalseP110001750FalseP21354(2576)2356(1134)FalseP303320652FalseP400140656False寸步難行呀……,不安全*紅色的數(shù)字代表P2進行預分配后的資源狀況補1.3個進程共享4個資源,每個進程至多需要兩個資源,問:會不會死鎖?

解答:不會。因為3個進程中必然會有1個進程能夠獲得2個資源,該進程得以順利執(zhí)行完,并釋放資源供其余2個進程使用。Chap3處理機調(diào)度與死鎖補2、設(shè)三個進程P1,P2,P3,各按如下順序執(zhí)行:進程P1進程P2進程P3

在執(zhí)行時能否產(chǎn)生死鎖?如果可能,請說明在什么情況下會產(chǎn)生死鎖?并給出一個防止死鎖產(chǎn)生的修改辦法。P(S1)P(S2)

:V(S1)V(S2)P(S3)P(S1)

:V(S3)V(S1)P(S2)P(S3)

:V(S2)V(S3)Chap3處理機調(diào)度與死鎖Chap7操作系統(tǒng)接口1.操作系統(tǒng)用戶接口中包括哪幾種接口?它們分別適用于哪種情況?答:聯(lián)機命令接口,直接提供給用戶在終端使用; 系統(tǒng)調(diào)用接口(程序接口),提供給用戶在編程時使用; 圖形用戶接口(圖形操作)和網(wǎng)絡(luò)用戶接口(網(wǎng)絡(luò)操作)Chap7操作系統(tǒng)接口16.試比較一般的過程調(diào)用

溫馨提示

  • 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

提交評論