操作系統(tǒng)習(xí)題答案_第1頁
操作系統(tǒng)習(xí)題答案_第2頁
操作系統(tǒng)習(xí)題答案_第3頁
操作系統(tǒng)習(xí)題答案_第4頁
操作系統(tǒng)習(xí)題答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章1設(shè)計現(xiàn)代OS的主要目標(biāo)是什么?答:(1)有效性 (2)方便性 (3)可擴(kuò)充性 (4)開放性2OS的作用可表現(xiàn)在哪幾個方面?答:(1)OS作為用戶與計算機(jī)硬件系統(tǒng)之間的接口(2)OS作為計算機(jī)系統(tǒng)資源的管理者(3)OS實(shí)現(xiàn)了對計算機(jī)資源的抽象13OS有哪幾大特征?其最基本的特征是什么?答:并發(fā)性、共享性、虛擬性和異步性四個基本特征;最基本的特征是并發(fā)性。14處理機(jī)管理有哪些主要功能?它們的主要任務(wù)是什么?答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度;進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。進(jìn)程同步:為多個進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)

2、調(diào)。通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。處理機(jī)調(diào)度:(1)作業(yè)調(diào)度。從后備隊里按照一定的算法,選出若干個作業(yè),為他們分配運(yùn)行所需的資源(首選是分配內(nèi)存)。(2)進(jìn)程調(diào)度:從進(jìn)程的就緒隊列中,按照一定算法選出一個進(jìn)程,把處理機(jī)分配給它,并設(shè)置運(yùn)行現(xiàn)場,使進(jìn)程投入執(zhí)行。15內(nèi)存管理有哪些主要功能?他們的主要任務(wù)是什么?答:內(nèi)存管理的主要功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。內(nèi)存分配:為每道程序分配內(nèi)存。內(nèi)存保護(hù):確保每道用戶程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對應(yīng)的物理地址。內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請求調(diào)用功能,置換功能等。16設(shè)

3、備管理有哪些主要功能?其主要任務(wù)是什么?答:主要功能有: 緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等。主要任務(wù): 完成用戶提出的I/O 請求,為用戶分配I/O 設(shè)備;提高CPU 和I/O 設(shè)備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.17文件管理有哪些主要功能?其主要任務(wù)是什么?答:文件管理主要功能:文件存儲空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證文件安全性。21試描述什么是微內(nèi)核OS。答:1)足夠小的內(nèi)核 2)基于客戶/服務(wù)器模式3)應(yīng)用機(jī)制與策略分離原理 4)采用面向?qū)ο蠹夹g(shù)。第二章3. 什么程序并發(fā)執(zhí)行會產(chǎn)生

4、間斷性特征?答:程序在并發(fā)執(zhí)行時,由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合作,致使這些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性。4程序并發(fā)執(zhí)行時為什么會失去封閉性和可再現(xiàn)性?答:程序并發(fā)執(zhí)行時,多個程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個程序改變,致使程序運(yùn)行失去了封閉性,也會導(dǎo)致其失去可再現(xiàn)性。8試說明進(jìn)程在三個基本狀態(tài)之間轉(zhuǎn)換的典型原因。答: (1)就緒狀態(tài)執(zhí)行狀態(tài):進(jìn)程分配到CPU資源(2)執(zhí)行狀態(tài)就緒狀態(tài):時間片用完(3)執(zhí)行狀態(tài)阻塞狀態(tài):I/O請求(4)阻塞狀態(tài)就緒狀態(tài):I/O完成16進(jìn)程在運(yùn)行時存在哪兩種形式的制約?并舉例說明之。答

5、:(1)間接相互制約關(guān)系。舉例:有兩進(jìn)程A 和B,如果A 提出打印請求,系統(tǒng)已把唯一的一臺打印機(jī)分配給了進(jìn)程B,則進(jìn)程A 只能阻塞;一旦B 釋放打印機(jī),A 才由阻塞改為就緒。(2)直接相互制約關(guān)系。舉例:有輸入進(jìn)程A 通過單緩沖向進(jìn)程B 提供數(shù)據(jù)。當(dāng)緩沖空時,計算進(jìn)程因不能獲得所需數(shù)據(jù)而阻塞,當(dāng)進(jìn)程A 把數(shù)據(jù)輸入緩沖區(qū)后,便喚醒進(jìn)程B;反之,當(dāng)緩沖區(qū)已滿時,進(jìn)程A 因沒有緩沖區(qū)放數(shù)據(jù)而阻塞,進(jìn)程B 將緩沖區(qū)數(shù)據(jù)取走后便喚醒A。17為什么進(jìn)程在進(jìn)入臨界區(qū)之前應(yīng)先執(zhí)行“進(jìn)入?yún)^(qū)”代碼?而在退出前又要執(zhí)行“退出區(qū)”代碼?答:為了實(shí)現(xiàn)多個進(jìn)程對臨界資源的互斥訪問,必須在臨界區(qū)前面增加一段用于檢查欲訪問的

6、臨界資源是否正被訪問的代碼,如果未被訪問,該進(jìn)程便可進(jìn)入臨界區(qū)對資源進(jìn)行訪問,并設(shè)置正被訪問標(biāo)志,如果正被訪問,則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼為"進(jìn)入?yún)^(qū)"代碼;在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于恢復(fù)未被訪問標(biāo)志,使其它進(jìn)程能再訪問此臨界資源。18. 同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?答:同步機(jī)構(gòu)應(yīng)遵循的基本準(zhǔn)則是:空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待原因:為實(shí)現(xiàn)進(jìn)程互斥進(jìn)入自己的臨界區(qū)。21如何利用信號量機(jī)制來實(shí)現(xiàn)多個進(jìn)程對臨界資源的互斥訪問?并舉例說明之。答:為使多個進(jìn)程互斥訪問某臨界資源,只需為該資源設(shè)置一互斥信號量mute

7、x,并設(shè)其初值為1,然后將各進(jìn)程訪問該資源的臨界區(qū)CS置于wait(mutex)和signal(mutex)操作之間即可。這樣,每個欲訪問該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對mutex 執(zhí)行wait 操作,若該資源此刻未被訪問,本次wait 操作必然成功,進(jìn)程便可進(jìn)入自己的臨界區(qū),這時若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時由于對mutex 執(zhí)行wait操作定會失敗,因而該進(jìn)程阻塞,從而保證了該臨界資源能被互斥訪問。當(dāng)訪問臨界資源的進(jìn)程退出臨界區(qū)后,應(yīng)對mutex執(zhí)行signal 操作,釋放該臨界資源。利用信號量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)程描述如下:Var mutex: semaphore:=1;

8、beginparbeginprocess 1: beginrepeatwait(mutex);critical sectionsignal(mutex);remainder seetionuntil false;endprocess 2: beginrepeatwait(mutex);critical sectionsignal(mutex);remainder sectionuntil false;endparend23在生產(chǎn)者消費(fèi)者問題中,如果缺少了signal(full)或signal(empty),對執(zhí)行結(jié)果有何影響?答:如果缺少signal(full),那么表明從第一個生產(chǎn)者進(jìn)程開始

9、就沒有改變信號量full 值,即使緩沖池產(chǎn)品已滿,但full 值還是0,這樣消費(fèi)者進(jìn)程執(zhí)行wait(full)時認(rèn)為緩沖池是空而取不到產(chǎn)品,消費(fèi)者進(jìn)程一直處于等待狀態(tài)。如果缺signal(empty),在生產(chǎn)者進(jìn)程向n個緩沖區(qū)投滿產(chǎn)品后消費(fèi)者進(jìn)程才開始從中取產(chǎn)品,這時empty=0,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個產(chǎn)品empty 值并不改變,直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n 個空緩沖區(qū),生產(chǎn)者進(jìn)程要想再往緩沖池中投放產(chǎn)品也會因?yàn)樯暾埐坏娇站彌_區(qū)被阻塞。24在生產(chǎn)消費(fèi)者問題中,如果將兩個wait 操作即wait(full)和wait(mutex)互換位置,或者將

10、signal(mutex)與signal(full)互換位置,結(jié)果如何?答:將wait(full)和wait(mutex)互換位置后,可能引起死鎖??紤]系統(tǒng)中緩沖區(qū)全滿時,若一生產(chǎn)者進(jìn)程先執(zhí)行了wait(mutex)操作并獲得成功,則當(dāng)再執(zhí)行wait(empty)操作時,它將因失敗而進(jìn)入阻塞狀態(tài),它期待消費(fèi)者進(jìn)程執(zhí)行signal(empty)來喚醒自己,在此之前,它不可能執(zhí)行signal(mutex)操作,從而使試圖通過執(zhí)行wait(mutex)操作而進(jìn)入自己的臨界區(qū)的其他生產(chǎn)者和所有消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖。若signal(mutex)signal(full)互換位置

11、后只是影響進(jìn)程對臨界資源的釋放次序,而不會引起系統(tǒng)死鎖,因此可以互換位置。26試修改下面生產(chǎn)者消費(fèi)者問題解法中的錯誤:答: producer:beginrepeatproducer an item in nextp;wait(mutex);wait(full); 應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面 buffer(in):=nextp;/* 緩沖池數(shù)組游標(biāo)應(yīng)前移: in:=(in+1) mod n; */signal(mutex); /* signal(full); */until false;endconsumer:beginrepeatwait(mutex)

12、;wait(empty); /應(yīng)為wait(full),而且還應(yīng)該在wait(mutex)的前面 nextc:=buffer(out);out:=out+1; /* 考慮循環(huán),應(yīng)改為: out:=(out+1) mod n; */signal(mutex);/* signal(empty); */consumer item in nextc;until false;end第三章1高級調(diào)度與低級調(diào)度的主要任務(wù)是什么?為什么要引入中級調(diào)度?答:高級調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊列中的那些作業(yè)調(diào)入內(nèi)存。低級調(diào)度是保存處理機(jī)的現(xiàn)場信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)程。引入中

13、級調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時不能運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外存狀態(tài)或掛起狀態(tài)。7在選擇調(diào)度方式和調(diào)度算法時,應(yīng)遵循的準(zhǔn)則是什么?答:(1)面向用戶的準(zhǔn)則:周轉(zhuǎn)時間短、響應(yīng)時間快、截止時間的保證、優(yōu)先權(quán)準(zhǔn)則。(2)面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源的平衡利用。8在批處理系統(tǒng)、分時系統(tǒng)和實(shí)時系統(tǒng)中,各采用哪幾種進(jìn)程(作業(yè))調(diào)度算法?答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、多級反饋隊列調(diào)度算法。分時系統(tǒng)的調(diào)度算法:時間片輪轉(zhuǎn)法。實(shí)時系統(tǒng)的調(diào)度算法:最早截止時間優(yōu)先即EDF、最低松弛度優(yōu)先

14、即LLF算法。10試比較FCFS和SPF兩種進(jìn)程調(diào)度算法。答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度。不同點(diǎn): FCFS調(diào)度算法每次都從后備隊列中選擇一個或多個最先進(jìn)入該隊列的作業(yè),將它們調(diào)入內(nèi)存、分配資源、創(chuàng)建進(jìn)程、插入到就緒隊列。該算法有利于長作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程。SPF算法每次調(diào)度都從后備隊列中選擇一個或若干個估計運(yùn)行時間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行。該算法有利于短作業(yè)/進(jìn)程,不利于長作業(yè)/進(jìn)程。15按照調(diào)度方式可將實(shí)時調(diào)度算法分為哪幾種?答:可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉(zhuǎn)和優(yōu)先調(diào)度算法;搶占式調(diào)度算法又分為基于時鐘中斷的搶占式優(yōu)先權(quán)和

15、立即搶占式優(yōu)先權(quán)調(diào)度算法。16什么是最早截止時間優(yōu)先調(diào)度算法?舉例說明。答:根據(jù)任務(wù)的開始截止時間確定的任務(wù)優(yōu)先級調(diào)度算法。截止時間越早則優(yōu)先級越高。該算法要求在系統(tǒng)中保持一個實(shí)時任務(wù)就緒隊列,該隊列按各任務(wù)截止時間的先后排序。舉例:非搶占式調(diào)度方式用于非周期實(shí)時任務(wù)。圖3-9 是將該算法用于非搶占調(diào)度方式之例。該例中具有四個非周期任務(wù),它們先后到達(dá)。系統(tǒng)首先調(diào)度任務(wù)1執(zhí)行,在任務(wù)1執(zhí)行期間,任務(wù)2、3又先后到達(dá)。由于任務(wù)3的開始截止時間早于任務(wù)2,故系統(tǒng)在任務(wù)1后將調(diào)度任務(wù)3執(zhí)行。在此期間又到達(dá)作業(yè)4,其開始截止時間仍是早于任務(wù)2的,故在任務(wù)3執(zhí)行完后,系統(tǒng)又調(diào)度任務(wù)4執(zhí)行,最后才調(diào)度任務(wù)2

16、執(zhí)行。圖3-9 EDF算法用于非搶占調(diào)度的調(diào)度方式17什么是最低松弛度優(yōu)先調(diào)度算法?舉例說明之。答:該算法是根據(jù)任務(wù)緊急(或松弛)的程度,來確定任務(wù)的優(yōu)先級。任務(wù)的緊急程度愈高,為該任務(wù)所賦予的優(yōu)先級就愈高,以使之優(yōu)先執(zhí)行。例如,一個任務(wù)在200 ms 時必須完成,而它本身所需的運(yùn)行時間就有100 ms,因此,調(diào)度程序必須在100 ms 之前調(diào)度執(zhí)行,該任務(wù)的緊急程度(松弛程度)為100 ms。又如,另一任務(wù)在400 ms 時必須完成,它本身需要運(yùn)行 150 ms,則其松弛程度為 250 ms。18何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?答:死鎖是指多個進(jìn)程在運(yùn)行過程中因爭奪資源而造成的一種

17、僵局,當(dāng)進(jìn)程處于這種僵持狀態(tài)時,若無外力作用,它們都將無法再向前推進(jìn)。產(chǎn)生死鎖的原因?yàn)楦偁庂Y源和進(jìn)程間推進(jìn)順序非法。其必要條件是:互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件。19在解決死鎖問題的幾個方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法使資源利用率最高?答:解決死鎖的四種方法即預(yù)防、避免、檢測和解除死鎖中,預(yù)防死鎖最容易實(shí)現(xiàn);避免死鎖使資源的利用率最高。20請詳細(xì)說明可通過哪些途徑預(yù)防死鎖。答:(1)擯棄“請求和保持”條件,就是如果系統(tǒng)有足夠資源,便一次性把進(jìn)程需要的所有資源分配給它;(2)擯棄“不剝奪”條件,就是已經(jīng)擁有資源的進(jìn)程,當(dāng)它提出新資源請求而不能立即滿足時,必須釋放它已保持的所有資源,待以后需要時再重新申請;(3)擯棄“環(huán)路等待”條件,就是將所有資源按類型排序標(biāo)號,所有進(jìn)程對資源的請求必須嚴(yán)格按序號遞增的次序提出。21在銀行家算法的例子中,如果P0發(fā)出請求向量由Request(0,2,0)改為Request(0,1,0),問系統(tǒng)可否將資源分配給它?答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在T0時刻的資源分配如圖所示:(2)具體分析如下:Requst0(0,1,0)<

溫馨提示

  • 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

提交評論