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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

2)獨(dú)占性:各終端用戶感覺到自己獨(dú)占了計(jì)算機(jī);

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

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

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

2)指令計(jì)數(shù)器

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

4)用戶棧指針

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

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

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

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

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

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

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

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

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

signal(empty)untilfalse(2)Wait(empty)成功,繼續(xù)(當(dāng)緩沖區(qū)放滿后,生產(chǎn)者進(jìn)程也阻塞)(1)Wait(full)不成功,消費(fèi)者進(jìn)程阻塞Chap2進(jìn)程管理24:在生產(chǎn)者—消費(fèi)者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)與signal(full)互換位置,結(jié)果會如何?Chap2進(jìn)程管理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)者進(jìn)程阻塞(2)Wait(mutex)成功,繼續(xù)(4)Wait(full)失敗,消費(fèi)者進(jìn)程阻塞Chap2進(jìn)程管理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)失敗,消費(fèi)者阻塞互換signal會不會死鎖?Chap2進(jìn)程管理Chap2進(jìn)程管理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進(jìn)程管理27、試?yán)糜涗浶托盘柫繉懗霾粫梨i的哲學(xué)家進(jìn)餐問題的算法。答:varc:array[0..4]ofsemaphore:=(1,1,1,1,1);processiRepeat

思考;

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

Ssignal(c[i],c[(i+1)mod5]);Untilfalse;Chap2進(jìn)程管理31、什么是AND型信號量?試?yán)肁ND型信號量寫出生產(chǎn)者-消費(fèi)者問題的算法。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);//消費(fèi)者

……RepeatSwait(S,prod);

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

out:=(out+1)modN;

Ssignal(S,buf);消費(fèi)產(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)開銷方面比較進(jìn)程與線程?(P84)解答見P7623:何謂用戶級線程和內(nèi)核支持線程?(P84)解答見P79Chap2進(jìn)程管理補(bǔ)充1:有沒有這樣的狀態(tài)轉(zhuǎn)換,為什么?等待

運(yùn)行;就緒

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

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

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

1)執(zhí)行阻塞導(dǎo)致就緒執(zhí)行(就緒隊(duì)列不空)

2)執(zhí)行就緒導(dǎo)致就緒執(zhí)行

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

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

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

c.必要條件是:互斥條件,請求和保持條件,不剝奪條件和環(huán)路等待條件。ProcessAllocationNeedAvailabeP0003200121622P110001750P213542356P303320652P400140656(1)該狀態(tài)是否安全?(2)若P2提出資源請求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?31.銀行家算法Chap3處理機(jī)調(diào)度與死鎖安全性算法設(shè)置工作向量Work=Available,F(xiàn)inish[i]=False;挑選一個進(jìn)程i,滿足條件: Finish[i]=False;Need[i,j]<=Work[j]如果找到這樣的進(jìn)程,則執(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進(jìn)行預(yù)分配后的資源狀況補(bǔ)1.3個進(jìn)程共享4個資源,每個進(jìn)程至多需要兩個資源,問:會不會死鎖?

解答:不會。因?yàn)?個進(jìn)程中必然會有1個進(jìn)程能夠獲得2個資源,該進(jìn)程得以順利執(zhí)行完,并釋放資源供其余2個進(jìn)程使用。Chap3處理機(jī)調(diào)度與死鎖補(bǔ)2、設(shè)三個進(jìn)程P1,P2,P3,各按如下順序執(zhí)行:進(jìn)程P1進(jìn)程P2進(jìn)程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處理機(jī)調(diào)度與死鎖Chap7操作系統(tǒng)接口1.操作系統(tǒng)用戶接口中包括哪幾種接口?它們分別適用于哪種情況?答:聯(lián)機(jī)命令接口,直接提供給用戶在終端使用; 系統(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論