




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、操作系統(tǒng)1-3章習題講解-操作系統(tǒng)期中考試講評操作系統(tǒng)1-3章習題講解-操作系統(tǒng)期中考試講評操作系統(tǒng)1-3章習題講解-操作系統(tǒng)期中考試講評 1. OS的主要目標是什么? (P33)解答:1)方便性:方便用戶、程序員; 2)有效性:提高軟硬件資源利用率; 3)可擴充性:便于擴充功能和性能; 4)開放性:增加系統(tǒng)兼容性和互操作性。Chap1 操作系統(tǒng)引論 2. OS的作用可表現(xiàn)在哪幾個方面? (P33)解答:1)從一般用戶的觀點,可把OS看作是用戶及計算機硬件系統(tǒng)之間的接口; 2)從資源管理角度看,可把OS視為計算機系統(tǒng)資源的管理者; 3)OS作為系統(tǒng)軟件覆蓋在裸機之上后,便可獲得一臺功能顯著增強
2、的虛擬機器,因此,OS還有擴充機器的作用。Chap1 操作系統(tǒng)引論 13. OS有那幾大特征?最基本的特征是什么?(P33) 解答:基本特征是:并發(fā)、共享、虛擬、異步。最基本的特征是:并發(fā)性和共享性Chap1 操作系統(tǒng)引論 18. 什么原因使OS具有異步性? (P33)解答:1)程序執(zhí)行結(jié)果是不確定的,即程序運行結(jié)果是不可再現(xiàn)的。 2)每個程序在何時執(zhí)行,多個程序間的執(zhí)行次序以及完成每個程序的時間都是不確定的,即不可預知性。Chap1 操作系統(tǒng)引論 22. 基于微內(nèi)核的OS中,應用了哪些新技術(shù)? (P33)解答:客戶/服務器技術(shù)、面向?qū)ο蠹夹g(shù)。Chap1 操作系統(tǒng)引論補充1:什么是多道程序設計
3、? 實現(xiàn)多道程序設計的計算機需要那些必不可少的硬件支持? 采用多道程序設計會帶來什么好處?解答:在計算機內(nèi)存中同時存放幾道相互獨立的程序,它們在管理程序的控制下相互穿插地運行,共享CPU和外設等資源。硬件支持:中斷技術(shù)優(yōu)點:資源的利用率、系統(tǒng)吞吐量大。Chap1 操作系統(tǒng)引論補充2:操作系統(tǒng)是如何從單道批處理,發(fā)展到多道批處理,再到分時系統(tǒng)的,隨之出現(xiàn)了哪些技術(shù)。解答:1)單道多道批處理:提高資源利用里,產(chǎn)生了多道程序設計技術(shù)、通道、中斷、作業(yè)管理、處理機管理、存儲管理、文件系統(tǒng)。 2)批處理分時系統(tǒng):提高系統(tǒng)的交互能力,產(chǎn)生了時鐘技術(shù)。Chap1 操作系統(tǒng)引論補充3:分時系統(tǒng)的出現(xiàn)讓用戶感受
4、到了什么好處?典型的分時系統(tǒng)是什么?解答:1)同時性或多路性:多用戶同時操作、使用計算機 2)獨占性:各終端用戶感覺到自己獨占了計算機; 3)及時性:用戶請求在較短時間內(nèi)相應; 4)交互性:用戶能計算機進行人機對話。 典型的分時系統(tǒng):UNIXChap1 操作系統(tǒng)引論 6:從動態(tài)性、并發(fā)性和獨立性上比較進程和程序.(P81)答案見P37-38 7:說明PCB作用,為什么PCB是進程存在唯一標志.(P81)解答:1)PCB 是進程實體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。PCB 中記錄了操作系統(tǒng)所需的用于描述進程情況及控制進程運行所需的全部信息。 2)在進程的整個生命周期中,系統(tǒng)總是通過其
5、PCB 對進程進行控制,系統(tǒng)是根據(jù)進程的PCB 而不是任何別的什么而感知到該進程的存在的。Chap2 進程管理 10:進程切換時保存CPU狀態(tài)信息包含哪些?(P81)解答:1)通用寄存器 2)指令計數(shù)器 3)程序狀態(tài)字 4)用戶棧指針 注意:處理機狀態(tài)是PCB的一部分,它描述了進程在處理機上執(zhí)行時的各種信息;當進行進程切換時,處理機中的這些信息統(tǒng)統(tǒng)要被其它進程覆蓋,所以必須保存。Chap2 進程管理 18:同步應該遵循的基本原則?(P82) 答案見P50 19:記錄型信號量的wait和signal 的物理含義(P82)作業(yè)問題: 1) 只答出wait、signal操作的原子性。 2)只答出wa
6、it表示申請一個資源,signal表示釋放一個資源。Chap2 進程管理解答: 1)wait操作意味著請求一個單位的資源; 若減1后S.value0時,表示資源已分配完 畢,故進程調(diào)用block原語進行自我阻塞,并被插入到等待隊列中。 2)signal操作意味著釋放一個單位的資源;若加1后S.value=0,表示等待隊列中仍有進程等待該資源,故進程調(diào)用wakeup原語喚醒一個等待進程。Chap2 進程管理Cont. 21:如何使用信號量機制實現(xiàn)多個進程對臨界資源的互斥訪問?(P82)解答: 1)設置記錄型信號量mutex,初值為1。 2)將訪問臨界資源的代碼放置于wait(mutex); 和
7、signal(mutex)之間。Chap2 進程管理 23:在生產(chǎn)者消費者問題中,如果缺少了signal(full)和signal(empty),對執(zhí)行結(jié)果有何影響? (P82)作業(yè)問題: 1)認為緩沖區(qū)滿后會溢出(或緩沖區(qū)中原有數(shù)據(jù)被覆蓋)。 2)認為消費者(或生產(chǎn)者)阻塞就是死鎖。 3)只下結(jié)論,缺少分析過程。 Chap2 進程管理Producer:repeat wait(empty) wait(mutex) signal(mutex) signal(mutex)until falseConsumer:repeat wait(full) wait(mutex) signal(mutex)
8、signal(empty)until false(2)Wait(empty)成功,繼續(xù)(當緩沖區(qū)放滿后,生產(chǎn)者進程也阻塞)(1)Wait(full)不成功,消費者進程阻塞Chap2 進程管理 24:在生產(chǎn)者消費者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)及signal(full)互換位置,結(jié)果會如何?(P82)作業(yè)問題: 1)認為signal互換會引起死鎖。 2)缺少分析過程。Chap2 進程管理Producer:repeat wait(empty) wait(mutex) signal(mutex) signal(f
9、ull)until falseConsumer:repeat wait(mutex) wait(full) signal(mutex) signal(empty)until false(1)Wait(empty)成功,繼續(xù)(3)Wait(mutex)失敗,生產(chǎn)者進程阻塞(2)Wait(mutex)成功,繼續(xù)(4)Wait(full)失敗,消費者進程阻塞Chap2 進程管理Consumer:repeat wait(full) wait(mutex) signal(mutex) signal(empty)until falseProducer:repeat wait(empty) wait(mut
10、ex) signal(full) signal(mutex)until false(1)Signal(full)成功(2)Wait(full)成功,繼續(xù)(3)wait(mutex)失敗,消費者阻塞互換signal會不會死鎖?Chap2 進程管理 38:從調(diào)度性、并發(fā)性、擁有資源及系統(tǒng)開銷方面比較進程及線程?(P83)解答見P7340:用于實現(xiàn)線程同步的私有信號量和共有信號量之間的差別?(P83)解答見P7641:何謂用戶級線程和內(nèi)核支持線程?(P83)解答見P77Chap2 進程管理補充1:有沒有這樣的狀態(tài)轉(zhuǎn)換,為什么?等待運行; 就緒等待 解答:沒有。都要經(jīng)過中間狀態(tài): 1.等待狀態(tài)的進程獲
11、得所需的資源后,必須轉(zhuǎn)入就緒狀態(tài),直到獲得CPU后才能運行。 2.進程在運行過程中才會請求資源,才有可能因請求不到資源而轉(zhuǎn)入等待狀態(tài)。Chap2 進程管理補充2:一個狀態(tài)轉(zhuǎn)換的發(fā)生,是否一定導致另一個轉(zhuǎn)換發(fā)生,列出所有的可能。解答:不一定。可能的情況如下: 1)執(zhí)行阻塞 導致 就緒執(zhí)行(就緒隊列不空) 2)執(zhí)行就緒 導致 就緒執(zhí)行 3)阻塞就緒 可能導致 就緒執(zhí)行 (在搶占方式下,該進程優(yōu)先級高于當前進程和就緒隊列中的所有進程)Chap2 進程管理補充3:用wait-signal操作解決下圖之同步問題:Chap2 進程管理getcopyputfstgVar Sfull, Sempty, Tfu
12、ll, Tempty:semphore:=0,1,0,1;Get進程:BeginRepeatWait(Sempty);Get(f, s);Signal(Sfull);Until false;endCopy進程:BeginRepeatWait(Sfull);Wait(Tempty);Copy(s, t);Signal(Sempty);Signal(Tfull);Until false;endPut進程:BeginRepeatWait(Tfull); Put(t, g);Signal(Tempty);Until false;endChap2 進程管理補充4:理發(fā)師睡覺問題Chap2 進程管理 理發(fā)
13、店里有一位理發(fā)師, 一把理發(fā)椅和N把供等候理發(fā)的顧客坐的椅子。 如果沒有顧客, 理發(fā)師便在理發(fā)椅上睡覺。當一個顧客到來時, 他必須先喚醒理發(fā)師。 如果顧客到來時理發(fā)師正在理發(fā), 則如果有空椅子, 可坐下來等; 否則離開。Chap2 進程管理問題分析:理發(fā)師(barber)重復的下列活動:(1)睡覺;(2)為顧客理發(fā);每個顧客(customers)執(zhí)行下列活動:(3)在椅子上等候;(4)理發(fā);離開;顯然,理發(fā)師在(1)處要考察是否有顧客等候理發(fā),如果沒有,理發(fā)師睡覺;在(2)處理發(fā)師等待最先進入理發(fā)店的顧客喚醒,開始理發(fā)。顧客在(3)處先看是否有座位,沒有則離開;等候理發(fā)的顧客在(4)處被理發(fā)師
14、喚醒(最先理發(fā)的顧客要喚醒理發(fā)師);理發(fā)結(jié)束后離開。Var barber, customers, mutex:semaphore:=1,0,1; 簡化版int custCount=0;BarbarRepeatwait(customers);Cut hair;signal(barber);Until false;CustomersRepeatwait(mutex);if (cust_count=N+1) then signal(mutex); leave.;else custCount=custCount+1; signal(mutex); signal(customers); wait(bar
15、ber); Get hair cut . wait(mutex); custCount=custCount-1; signal(mutex);Until false;Var barber, customers, mutex:semaphore:=1,0,1; 改進版int custCount=0;BarbarRepeatwait(mutex);if (custCount=0 ) then signal (mutex); Sleep.; wait(customers);else signal(mutex); Cut hair; signal(barber); end if Until false
16、;CustomersRepeatwait(mutex);if (cust_count=N) then signal(mutex); leave.;else custCount=custCount+1; if(custCount=1) then signal(customers); signal(mutex); wait(barber); Get hair cut . wait(mutex); custCount=custCount-1; signal(mutex);Until false;課堂練習 有一個閱覽室,共有100個座位,讀者進入時必須先在一張登記表上登記,該表為每一座位列一表目,包括
17、座號和讀者姓名等,讀者離開時要消掉登記的信息,試問:(1)為描述讀者的動作,應編寫幾個程序,設置幾個進程?(2)試用wait/signal 操作描述讀者進程之間的同步關(guān)系。 Chap2 進程管理 6:在搶占式調(diào)度方式中,搶占的原則是什么?(P114)解答見P877:在選擇調(diào)度方式和調(diào)度算法時,應遵循的準則是什么?(P114)解答見P90919:何謂靜態(tài)和動態(tài)優(yōu)先級?確定優(yōu)先級的依據(jù)是什么?(P115)解答見P939413:為什么說多級反饋隊列調(diào)度算法能較好的滿足各方面用戶的需要?(P115)解答見P97Chap3 處理機調(diào)度及死鎖補 1. 死鎖的原因和必要條件及解決死鎖的方法。 解決死鎖的基本
18、方法預防死鎖:事先破壞死鎖的必要條件,容易實現(xiàn),但是資源利用率和系統(tǒng)吞吐量較低。避免死鎖:在資源分配過程中防止系統(tǒng)進入不安全狀態(tài),從而避免死鎖,實現(xiàn)較難,資源利用率和系統(tǒng)吞吐量最高。檢測死鎖及解除死鎖:無任何事先限制措施,進程執(zhí)行過程中也不檢測是否安全,允許死鎖產(chǎn)生并能清除死鎖,實現(xiàn)較難,資源利用率和系統(tǒng)吞吐量高。Chap3 處理機調(diào)度及死鎖補 1. 死鎖的原因和必要條件及解決死鎖的方法。 解決死鎖的基本方法預防死鎖:事先破壞死鎖的必要條件,容易實現(xiàn),但是資源利用率和系統(tǒng)吞吐量較低。避免死鎖:在資源分配過程中防止系統(tǒng)進入不安全狀態(tài),從而避免死鎖,實現(xiàn)較難,資源利用率和系統(tǒng)吞吐量最高。檢測死鎖及解除死鎖:無任何事先限制措施,進程執(zhí)行過程中也不檢測是否安全,允許死鎖產(chǎn)生并能清除死鎖,實現(xiàn)較難,資源利用率和系統(tǒng)吞吐量高。Chap3 處理機調(diào)度及死鎖補2. 3個進程共享4個資源,每個進程至多需要
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新解讀《CB-T 532 - 1999船用通風管路放水塞》新解讀
- Brand KPIs for health insurance:ICICI Lombard in India-英文培訓課件2025.4
- 基于注意力機制跨階段并行殘差融合模型的非侵入式負荷辨識
- 汽車傳感器與檢測技術(shù)電子教案:雷達傳感器
- 介紹大學活動方案
- 介紹校園文化活動方案
- 介紹美食活動方案
- 從化老人慰問活動方案
- 倉庫冬季活動策劃方案
- 仙人吹氣活動方案
- 工貿(mào)企業(yè)安全生產(chǎn)標準化定級評分標準
- 紋眉行業(yè)市場分析
- 港灣網(wǎng)絡介紹膠片
- 關(guān)于幼兒園建設實施方案范文
- 北京市清華附中2024屆高二化學第二學期期末達標檢測模擬試題含解析
- 江蘇省蘇州市2023年中考語文真題試卷
- 統(tǒng)編教材小學生詩詞大賽題庫(各種題型)及答案
- 某機械公司員工管理手冊
- 石材養(yǎng)護報價表范本
- 紅河縣年產(chǎn)50噸珍珠棉建設項目環(huán)評報告
- 術(shù)中大出血的搶救及護理配合
評論
0/150
提交評論