版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第2章習題解答一、填空1進程在執(zhí)行過程中有3種基本狀態(tài),它們是 運行 態(tài)、 就緒 態(tài)和 阻塞 態(tài)。2系統(tǒng)中一個進程由 程序 、 數(shù)據(jù)集合 和 進程控制塊(PCB) 三部分組成。3在多道程序設計系統(tǒng)中,進程是一個 動 態(tài)概念,程序是一個 靜 態(tài)概念。4在一個單CPU系統(tǒng)中,若有5個用戶進程。假設當前系統(tǒng)為用戶態(tài),則處于就緒狀態(tài)的用戶進程最多有 4 個,最少有 0 個。注意,題目里給出的是假設當前系統(tǒng)為用戶態(tài),這表明現(xiàn)在有一個進程處于運行狀態(tài),因此最多有4個進程處于就緒態(tài)。也可能除一個在運行外,其他4個都處于阻塞。這時,處于就緒的進程一個也沒有。5總的來說,進程調度有兩種方式,即 不可剝奪 方式和
2、 剝奪 方式。6進程調度程序具體負責 中央處理機(CPU)的分配。7為了使系統(tǒng)的各種資源得到均衡使用,進行作業(yè)調度時,應該注意 CPU忙碌 作業(yè)和 I/O忙碌 作業(yè)的搭配。8所謂系統(tǒng)調用,就是用戶程序要調用 操作系統(tǒng) 提供的一些子功能。9作業(yè)被系統(tǒng)接納后到運行完畢,一般還需要經歷 后備 、 運行 和 完成 三個階段。10假定一個系統(tǒng)中的所有作業(yè)同時到達,那么使作業(yè)平均周轉時間為最小的作業(yè)調度算法是 短作業(yè)優(yōu)先 調度算法。11在引入線程的操作系統(tǒng)中,所謂“線程”,是指進程中實施 處理機調度和分配 的基本單位。12有了線程概念后,原來的進程就屬于是 單線程 的進程情形。二、選擇1在進程管理中,當
3、C 時,進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài)。A進程被調度程序選中B進程等待某一事件發(fā)生C等待的事件出現(xiàn)D時間片到2在分時系統(tǒng)中,一個進程用完給它的時間片后,其狀態(tài)變?yōu)?A 。A就緒B等待C運行D由用戶設定3下面對進程的描述中,錯誤的是 D 。A進程是動態(tài)的概念B進程的執(zhí)行需要CPUC進程具有生命周期D進程是指令的集合4操作系統(tǒng)通過 B 對進程進行管理。AJCBBPCBCDCTDFCB5一個進程被喚醒,意味著該進程 D 。A重新占有CPUB優(yōu)先級變?yōu)樽畲驝移至等待隊列之首D變?yōu)榫途w狀態(tài)6由各作業(yè)JCB形成的隊列稱為 C 。A就緒作業(yè)隊列B阻塞作業(yè)隊列C后備作業(yè)隊列D運行作業(yè)隊列7既考慮作業(yè)等待時間,又考
4、慮作業(yè)執(zhí)行時間的作業(yè)調度算法是 A 。A響應比高者優(yōu)先B短作業(yè)優(yōu)先C優(yōu)先級調度D先來先服務8作業(yè)調度程序從處于 D 狀態(tài)的隊列中選取適當?shù)淖鳂I(yè)投入運行。A就緒B提交C等待D后備9 A 是指從作業(yè)提交系統(tǒng)到作業(yè)完成的時間間隔。A周轉時間B響應時間C等待時間D運行時間10計算機系統(tǒng)在執(zhí)行 C 時,會自動從目態(tài)變換到管態(tài)。AP操作BV操作C系統(tǒng)調用DI/O指令11進程狀態(tài)由就緒變?yōu)檫\行,是由于 C 引起的。A中斷事件B進程狀態(tài)變遷C進程調度D為作業(yè)創(chuàng)建進程三、問答1在多道程序設計系統(tǒng)中,如何理解“內存中的多個程序的執(zhí)行過程交織在一起,大家都在走走停停”這樣一個現(xiàn)象?答:在多道程序設計系統(tǒng)中,內存中存
5、放多個程序,它們以交替的方式使用CPU。因此,從宏觀上看,這些程序都開始了自己的工作。但由于CPU只有一個,在任何時刻CPU只能執(zhí)行一個進程程序。所以這些進程程序的執(zhí)行過程是交織在一起的。也就是說,從微觀上看,每一個進程一會兒在向前走,一會兒又停步不前,處于一種“走走停停”的狀態(tài)之中。2什么是“原語”、“特權指令”、“系統(tǒng)調用命令”和“訪管指令”?它們之間有無一定的聯(lián)系?答:特權指令和訪管指令都是CPU指令系統(tǒng)中的指令,只是前者是一些只能在管態(tài)下執(zhí)行的指令,后者是一條只能在目態(tài)下執(zhí)行的指令。原語和系統(tǒng)調用命令都是操作系統(tǒng)中的功能程序,只是前者執(zhí)行時不能被其他程序所打斷,后者沒有這個要求。操作系
6、統(tǒng)中有些系統(tǒng)調用命令是以原語的形式出現(xiàn)的,例如創(chuàng)建進程就是一條原語式的系統(tǒng)調用命令。但并不是所有系統(tǒng)調用命令都是原語。因為如果那樣的話,整個系統(tǒng)的并發(fā)性就不可能得到充分地發(fā)揮。3操作系統(tǒng)是如何處理源程序中出現(xiàn)的系統(tǒng)調用命令的?答:編譯程序總是把源程序中的系統(tǒng)調用命令改寫成為一條訪管指令和相應的參數(shù)。這樣在程序實際被執(zhí)行時,就通過訪管指令進入操作系統(tǒng),達到調用操作系統(tǒng)功能子程序的目的。4系統(tǒng)調用與一般的過程調用有什么區(qū)別?答:系統(tǒng)調用是指在用戶程序中調用操作系統(tǒng)提供的功能子程序;一般的過程調用是指在一個程序中調用另一個程序。因此它們之間有如下三點區(qū)別。(1)一般的過程調用,調用者與被調用者都運行
7、在相同的CPU狀態(tài),即或都處于目態(tài)(用戶程序調用用戶程序),或都處于管態(tài)(系統(tǒng)程序調用系統(tǒng)程序);但發(fā)生系統(tǒng)調用時,發(fā)出調用命令的調用者運行在目態(tài),而被調用的對象則運行在管態(tài),即調用者與被調用者運行在不同的CPU狀態(tài)。(2)一般的過程調用,是直接通過轉移指令轉向被調用的程序;但發(fā)生系統(tǒng)調用時,只能通過訪管指令提供的一個統(tǒng)一的入口,由目態(tài)進入管態(tài),經分析后,才轉向相應的操作系統(tǒng)命令處理程序。(3)一般的過程調用,在被調用者執(zhí)行完后,就徑直返回斷點繼續(xù)執(zhí)行;但系統(tǒng)調用可能會導致進程狀態(tài)的變化,從而引起系統(tǒng)重新分配處理機。因此,系統(tǒng)調用處理結束后,不一定是返回調用者斷點處繼續(xù)執(zhí)行。5試述創(chuàng)建進程原語
8、的主要功能。答:創(chuàng)建進程原語的主要功能有以下三項。(1)為新建進程申請一個PCB。(2)將創(chuàng)建者(即父進程)提供的新建進程的信息填入PCB中。(3)將新建進程設置為就緒狀態(tài),并按照所采用的調度算法,把PCB排入就緒隊列中。6處于阻塞狀態(tài)的一個進程,它所等待的事件發(fā)生時,就把它的狀態(tài)由阻塞改變?yōu)榫途w,讓它到就緒隊列里排隊,為什么不直接將它投入運行呢?答:只要是涉及管理,就應該有管理的規(guī)則,沒有規(guī)則就不成方圓。如果處于阻塞狀態(tài)的一個進程,在它所等待的事件發(fā)生時就徑直將它投入運行(也就是把CPU從當前運行進程的手中搶奪過來),那么系統(tǒng)就無法控制對CPU這種資源的管理和使用,進而也就失去了設置操作系統(tǒng)
9、的作用。所以,阻塞狀態(tài)的進程在它所等待的事件發(fā)生時,必須先進入就緒隊列,然后再去考慮它使用CPU的問題。7作業(yè)調度與進程調度有什么區(qū)別?答:作業(yè)調度和進程調度(即CPU調度)都涉及到CPU的分配。但作業(yè)調度只是選擇參加CPU競爭的作業(yè),它并不具體分配CPU。而進程調度是在作業(yè)調度完成選擇后的基礎上,把CPU真正分配給某一個具體的進程使用。8系統(tǒng)中的各種進程隊列都是由進程的PCB鏈接而成的。當一個進程的狀態(tài)從阻塞變?yōu)榫途w狀態(tài)時,它的PCB從哪個隊列移到哪個隊列?它所對應的程序也要跟著移來移去嗎?為什么?答:當一個進程的狀態(tài)從阻塞變?yōu)榫途w時,它的PCB就從原先在的阻塞隊列移到就緒隊列里。在把進程的
10、PCB從這個隊列移到另一個隊列時,只是移動進程的PCB,進程所對應的程序是不動的。這是因為在進程的PCB里,總是記錄有它的程序的斷點信息。知道了斷點的信息,就能夠知道程序當前應該從哪里開始往下執(zhí)行了。這正是保護現(xiàn)場所起的作用。9為什么說響應比高者優(yōu)先作業(yè)調度算法是對先來先服務以及短作業(yè)優(yōu)先這兩種調度算法的折中?答:先來先服務的作業(yè)調度算法,重點考慮的是作業(yè)在后備作業(yè)隊列里的等待時間,因此對短作業(yè)不利;短作業(yè)優(yōu)先的作業(yè)調度算法,重點考慮的是作業(yè)所需的CPU時間(當然,這個時間是用戶自己估計的),因此對長作業(yè)不利?!绊憫雀哒邇?yōu)先”作業(yè)調度算法,總是在需要調度時,考慮作業(yè)已經等待的時間和所需運行時
11、間之比,即:該作業(yè)已等待時間 / 該作業(yè)所需CPU時間不難看出,這個比值的分母是一個不變的量。隨著時間的推移,一個作業(yè)的“已等待時間”會不斷發(fā)生變化,也就是分子在不斷地變化。顯然,短作業(yè)比較容易獲得較高的響應比。這是因為它的分母較小,只要稍加等待,整個比值就會很快上升。另一方面,長作業(yè)的分母雖然很大,但隨著它等待時間的增加,比值也會逐漸上升,從而獲得較高的響應比。根據(jù)這種分析,可見“響應比高者優(yōu)先”的作業(yè)調度算法,既照顧到了短作業(yè)的利益,也照顧到了長作業(yè)的利益,是對先來先服務以及短作業(yè)優(yōu)先這兩種調度算法的一種折中。10短作業(yè)優(yōu)先調度算法總能得到最小的平均周轉時間嗎?為什么?答:短作業(yè)優(yōu)先調度算
12、法只有在所有作業(yè)同時到達后備作業(yè)隊列時,才能得到最小的平均周轉時間。如果各作業(yè)不是同時到達,這個結論是不成立的??梢杂梅蠢f明,例如,教材上舉有如下例子:考慮有5個作業(yè)A到E,運行時間分別是2、4、1、1、1;到達時間分別是0、0、3、3、3。按照短作業(yè)優(yōu)先的原則,最初只有A和B可以參與選擇,因為其他3個還沒有到達。于是,運行順序應該是A、B、C、D、E。它們每個的周轉時間分別是2、6、4、5、6,平均周轉時間是4.6。但如果按照順序B、C、D、E、A來調度,它們每一個的周轉時間成為9、4、2、3、4,平均周轉時間是4.4。結果比短作業(yè)優(yōu)先調度算法好。之所以會這樣,就是因為這5個作業(yè)并沒有同時
13、到達。四、計算1有三個作業(yè):作 業(yè)到達時間所需CPU時間10.0820.4431.01分別采用先來先服務和短作業(yè)優(yōu)先作業(yè)調度算法。試問它們的平均周轉時間各是什么?你是否還可以給出一種更好的調度算法,使其平均周轉時間優(yōu)于這兩種調度算法?解:(1)采用先來先服務作業(yè)調度算法時的實施過程如下。作 業(yè)到達時間所需CPU時間開始時間完成時間周轉時間10.080.08.08.020.448.012.011.631.0112.013.012.0這時,作業(yè)的調度順序是123。其平均周轉時間為:(8 + 11.6 + 12)/ 3 = 10.53(2)采用短作業(yè)優(yōu)先作業(yè)調度算法時的實施過程如下。作 業(yè)到達時間所
14、需CPU時間開始時間完成時間周轉時間10.080.08.08.031.018.09.08.020.449.013.012.6這里要注意,在作業(yè)1運行完畢進行作業(yè)調度時,作業(yè)2和3都已經到達。由于是實行短作業(yè)優(yōu)先作業(yè)調度算法,因此先調度作業(yè)3運行,最后調度作業(yè)2運行。所以,這時的作業(yè)調度順序是132。其平均周轉時間為:(8 + 8 + 12.6)/ 3 = 9.53(3)還可以有更好的作業(yè)調度算法,使其平均周轉時間優(yōu)于這兩種調度算法。例如,如果知道在作業(yè)1后面會來兩個短作業(yè),那么作業(yè)1到達后,先不投入運行。而是等所有作業(yè)到齊后,再按照短作業(yè)優(yōu)先作業(yè)調度算法進行調度,具體實施過程如下。作 業(yè)到達時
15、間所需CPU時間開始時間完成時間周轉時間31.011.02.01.020.442.06.05.610.086.014.014.0這時的作業(yè)調度順序是321。其平均周轉時間為:(1 + 5.6 + 14)/ 3 = 6.872設有一組作業(yè),它們的到達時間和所需CPU時間如下所示。作業(yè)號到達時間所需CPU時間19:0070分鐘29:4030分鐘39:5010分鐘410:105分鐘分別采用先來先服務和短作業(yè)優(yōu)先作業(yè)調度算法。試問它們的調度順序、作業(yè)周轉時間以及平均周轉時間各是什么?解:(1)采用先來先服務作業(yè)調度算法時的實施過程如下。作業(yè)號到達時間所需CPU時間開始時間完成時間周轉時間19:0070
16、分鐘9:0010:1070分鐘29:4030分鐘10:1010:4060分鐘39:5010分鐘10:4010:5060分鐘410:105分鐘10:5010:5545分鐘這時,作業(yè)的調度順序是1234。其平均周轉時間為:(70 + 60 + 60 + 45)/ 4 = 58.75 (2)采用短作業(yè)優(yōu)先作業(yè)調度算法時的實施過程如下。作業(yè)號到達時間所需CPU時間開始時間完成時間周轉時間19:0070分鐘9:0010:1070分鐘410:105分鐘10:1010:155分鐘39:5010分鐘10:1510:2535分鐘29:4030分鐘10:2510:5575分鐘這時,作業(yè)的調度順序是1432。其平均
17、周轉時間為:(70 + 5 + 35 + 75)/ 4 = 46.25 3某系統(tǒng)有三個作業(yè):作業(yè)號到達時間所需CPU時間18.81.529.00.439.51.0系統(tǒng)確定在它們全部到達后,開始采用響應比高者優(yōu)先調度算法,并忽略系統(tǒng)調度時間。試問對它們的調度順序是什么?各自的周轉時間是多少?解:三個作業(yè)是在9.5時全部到達的。這時它們各自的響應比如下:作業(yè)1的響應比 =(9.5 8.8)/ 1.5 = 0.46作業(yè)2的響應比 =(9.5 9.0)/ 0.4 = 1.25作業(yè)3的響應比 =(9.5 9.5)/ 1.0 = 0因此,最先應該調度作業(yè)2運行,因為它的響應比最高。它運行了0.4后完成,這時的時間是9.9。再計算作業(yè)1和3此時的響應比:作業(yè)1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省多校聯(lián)考2024年中考語文信息模擬測試卷含答案
- 2024-2025年中國汽車繼電器電商行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢報告
- 2025年美白產品市場分析報告
- 高效節(jié)能蒸發(fā)式冷凝器項目可行性研究報告申請備案
- 2025年中國服裝零售市場調查研究及行業(yè)投資潛力預測報告
- 拖拉機方向盤項目可行性研究報告
- 2025加工廠勞動合同范本
- 2025有擔保的借款合同范本
- 2025執(zhí)業(yè)醫(yī)師聘用合同
- 空氣動力學優(yōu)化技術:拓撲優(yōu)化:拓撲優(yōu)化項目設計與實踐
- 數(shù)據(jù)庫原理-期末考試題和答案
- 醫(yī)療健康咨詢服務合同
- (高清版)AQ 1056-2008 煤礦通風能力核定標準
- 新材料專利申請與保護考核試卷
- NB-T+10131-2019水電工程水庫區(qū)工程地質勘察規(guī)程
- 2024河南中考數(shù)學專題復習第六章 第一節(jié) 圓的基本性質 課件
- 南京市聯(lián)合體2022-2023學年七年級上學期期末生物試題
- 熱性驚厥診斷治療與管理專家共識
- 《橋梁輕量化監(jiān)測系統(tǒng)建設規(guī)范(征求意見稿)》
- 現(xiàn)代農業(yè)產業(yè)園建設規(guī)劃方案(2篇)
評論
0/150
提交評論