


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、考研操作系統(tǒng) - 進(jìn)程管理 ( 一 )( 總分: 105.00 ,做題時間: 90 分鐘 )一、 單項選擇題 ( 總題數(shù): 35,分?jǐn)?shù): 35.00)1. 進(jìn)程和程序的一個本質(zhì)區(qū)別是 。(分?jǐn)?shù): 1.00 )A. 前者分時使用CPU后者獨占CPUB. 前者存儲在內(nèi)存,后者存儲在外存C. 前者在一個文件中,后者在多個文件中D. 前者為動態(tài)的,后者為靜態(tài)的V解析: 分析 進(jìn)程是程序在計算機(jī)上的一次執(zhí)行活動。 當(dāng)運行一個程序, 就啟動了一個進(jìn)程。 進(jìn)程具有動態(tài)性、 并發(fā)性、 獨立性、異步性和結(jié)構(gòu)特征。顯然,程序是靜態(tài)的,進(jìn)程是動態(tài)的。進(jìn)程可以分為系統(tǒng)進(jìn)程和用戶進(jìn)程。 凡是用于完成操作系統(tǒng)的各種功能的
2、進(jìn)程就是系統(tǒng)進(jìn)程,它們就是處于運行狀態(tài)下的操作系統(tǒng)本身。2. 多道系統(tǒng)環(huán)境下,操作系統(tǒng)分配資源是以 為基本單位。(分?jǐn)?shù): 1.00 )A. 作業(yè)B. 指令C. 程序D. 進(jìn)程 V解析: 分析 多道環(huán)境下,程序這個概念已經(jīng)難于反映程序并發(fā)執(zhí)行的特點,所以,在多道環(huán)境下,為了更好地描述程 序并發(fā)執(zhí)行的特點,引入了進(jìn)程的概念。進(jìn)程是在多道環(huán)境下資源分配的基本單位。3. 中斷掃描機(jī)構(gòu)是 掃描一次中斷寄存器。(分?jǐn)?shù): 1.00 )A. 每隔一個時間片B. 每條指令執(zhí)行周期內(nèi)最后時刻 VC. 每當(dāng)進(jìn)程釋放 CPUD. 每產(chǎn)生一次中斷 解析: 分析 處理器執(zhí)行完一條指令后,硬件的中斷裝置 (中斷掃描機(jī)構(gòu) )
3、 立即檢查有無中斷事件發(fā)生,若無中斷事件發(fā) 生,則處理機(jī)繼續(xù)執(zhí)行下面的指令;若有中斷事件發(fā)生,則暫停現(xiàn)行進(jìn)程的運行,而讓操作系統(tǒng)中的中斷 處理程序占用處理器,這一過程稱為“中斷響應(yīng)”。4. 下面關(guān)于進(jìn)程的敘述中,正確的是 。分?jǐn)?shù): 1.00 )A. 進(jìn)程獲得CPU運行是通過調(diào)度得到的VB. 優(yōu)先級是進(jìn)程調(diào)度的重要依據(jù),一旦確定就不能改變C. 在單CPU的系統(tǒng)中,任何時刻都有一個進(jìn)程處于運行狀態(tài)D. 進(jìn)程申請CPU得不到滿足時,其狀態(tài)變?yōu)樽枞馕觯?分析 B錯在優(yōu)先級分靜態(tài)和動態(tài)兩種,動態(tài)的優(yōu)先級是根據(jù)進(jìn)程運行情況隨時調(diào)整的。C錯在若發(fā)生死鎖則全部進(jìn)程都處于阻塞狀態(tài)。D錯在進(jìn)程申請CPU得不到滿
4、足就處于就緒狀態(tài),等待CPU勺調(diào)度。5. 在操作系統(tǒng)中,死鎖出現(xiàn)是指 。(分?jǐn)?shù): 1.00 )A. 計算機(jī)系統(tǒng)發(fā)生重大故障B. 資源數(shù)目少于進(jìn)程數(shù)C. 若干進(jìn)程因競爭資源而無限等待其他進(jìn)程釋放已占有的資源VD. 進(jìn)程同時申請的資源數(shù)超過資源總數(shù)解析: 分析 所謂死鎖:是指兩個或兩個以上的進(jìn)程在執(zhí)行過程中,因爭奪資源而造成的一種互相等待的現(xiàn)象,若無外 力作用,它們都將無法推進(jìn)下去。此時稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖,這些永遠(yuǎn)在互相等待的進(jìn) 程稱為死鎖進(jìn)程。由于資源占用是互斥的,當(dāng)某個進(jìn)程提出申請資源后,使得有關(guān)進(jìn)程在無外力協(xié)助下, 永遠(yuǎn)分配不到必需的資源而無法繼續(xù)運行,這就產(chǎn)生了一種特殊現(xiàn)象
5、死鎖。6. 一個進(jìn)程被喚醒,意味著 。(分?jǐn)?shù): 1.00 )A. 該進(jìn)程重新占有了 CPUB. 進(jìn)程狀態(tài)變?yōu)榫途w VC. 它的優(yōu)先權(quán)變?yōu)樽畲驞. 其PCB移至就緒隊列的隊首解析: 分析 進(jìn)程被喚醒是進(jìn)入就緒隊列。 到底插入到就緒隊列的什么地方, 取決于就緒的管理方法和進(jìn)程調(diào)度的算法。 如果進(jìn)程調(diào)度是最高優(yōu)先數(shù)優(yōu)先, 該進(jìn)程按優(yōu)先數(shù)插入該隊列中; 如果該隊列是按到達(dá)的先后次序排列的, 則按到達(dá)的先后次序插入。7. 下面所列進(jìn)程的 3 種基本狀態(tài)之間的轉(zhuǎn)換不正確的是 。(分?jǐn)?shù): 1.00 )A. 就緒狀態(tài)一執(zhí)行狀態(tài)B. 執(zhí)行狀態(tài)一就緒狀態(tài)C. 執(zhí)行狀態(tài)一阻塞狀態(tài)D. 就緒狀態(tài) _阻塞狀態(tài) V解析:
6、 分析 進(jìn)程在運行期間,不斷地從一個狀態(tài)轉(zhuǎn)換到另外一個狀態(tài),它可以多次處于就緒狀態(tài)和執(zhí)行狀態(tài),也可多 次處于阻塞狀態(tài),但可能排在不同的阻塞隊列。對于進(jìn)程的三種基本狀態(tài)的轉(zhuǎn)換關(guān)系及其轉(zhuǎn)換原因闡述如 下。就緒狀態(tài)T執(zhí)行狀態(tài)。處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序為之分配了處理機(jī)后,該進(jìn)程便由就緒狀 態(tài)變?yōu)閳?zhí)行狀態(tài)。正在執(zhí)行的進(jìn)程也稱為當(dāng)前進(jìn)程。執(zhí)行狀態(tài)T阻塞狀態(tài)。正在執(zhí)行的進(jìn)程,因發(fā)生某事件而無法執(zhí)行。例如,進(jìn)程請求訪問臨界資源,而 該資源正被其它進(jìn)程訪問,則請求該資源的進(jìn)程將由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)。執(zhí)行狀態(tài)T就緒狀態(tài)。正在執(zhí)行的程序,因時間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)變?yōu)榫途w狀 態(tài)。在搶占
7、調(diào)度方式中,一個優(yōu)先高的進(jìn)程到來后,可以搶占一個正在執(zhí)行的優(yōu)先權(quán)的進(jìn)程的處理機(jī);這 時,該低優(yōu)先權(quán)進(jìn)程也將由執(zhí)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。 從就緒狀態(tài)直接到阻塞狀態(tài)是不可能發(fā)生的,因此本題的答案選D。8. 由于并發(fā)進(jìn)程執(zhí)行的隨機(jī)性, 一個進(jìn)程對另一個進(jìn)程的影響是不可預(yù)測的, 甚至造成結(jié)果的不正確 (分?jǐn)?shù): 1.00 )A. 造成不正確的因素與時間有關(guān)VB. 造成不正確的因素只與進(jìn)程占用的處理機(jī)有關(guān)C. 造成不正確的因素與執(zhí)行速度無關(guān)D. 造成不正確的因素只與外界的影H向有關(guān)解析: 分析 由于各進(jìn)程的異步推進(jìn),進(jìn)程之間的制約關(guān)系與時間有關(guān),也即與進(jìn)程的執(zhí)行速度有關(guān)。9. 進(jìn)程調(diào)度算法中,可以設(shè)計成“可
8、搶占式”的算法有 。(分?jǐn)?shù): 1.00 )A. 先來先服務(wù)調(diào)度算法B. 最高響應(yīng)比優(yōu)先C. 最短作業(yè)優(yōu)先D. 時間片輪轉(zhuǎn)調(diào)度算法 V解析: 分析 常用的進(jìn)程調(diào)度算法有先來先服務(wù)、 優(yōu)先數(shù)、時間片輪轉(zhuǎn)及多級反饋隊列等算法。 “先來先服務(wù)調(diào)度算法” 是“非搶占式”的;“優(yōu)先數(shù)調(diào)度算法”可以是“非搶占式”的,也可以是“搶占式”的;“時間片輪轉(zhuǎn) 調(diào)度算法”是一種“搶占式”的。而“最高響應(yīng)比優(yōu)先”、“最短作業(yè)優(yōu)先”算法適用于作業(yè)調(diào)度,而不 適于進(jìn)程調(diào)度。三種進(jìn)程調(diào)度算法的含義如下。(1) 先來先服務(wù)調(diào)度算法。這種調(diào)度算法是按照進(jìn)程進(jìn)入就緒隊列的先后次序選擇可以占用處理器的進(jìn)程。 當(dāng)有進(jìn)程就緒時,把該進(jìn)程
9、排入就緒隊列的末尾,而進(jìn)程調(diào)度總是把處理器分配給就緒隊列中的第一個進(jìn) 程。一旦一個進(jìn)程占有了處理器, 它就一直運行下去, 直到因等待某事件或進(jìn)程完成了工作才讓出處理器。(2) 優(yōu)先數(shù)調(diào)度算法。 對每個進(jìn)程確定一個優(yōu)先數(shù), 進(jìn)程調(diào)度總是讓具有最高優(yōu)先數(shù)的進(jìn)程先使用處理器。 如果進(jìn)程具有相同的優(yōu)先數(shù),則對這些有相同優(yōu)先數(shù)的進(jìn)程再按先來先服務(wù)的次序分配處理器。就緒隊列 中進(jìn)程可按優(yōu)先數(shù)從大到小排列,這樣,進(jìn)程調(diào)度也總是把處理器分配給就緒隊列中的第一個進(jìn)程。進(jìn)程 被創(chuàng)建時系統(tǒng)為其確定一個優(yōu)先數(shù),進(jìn)程的優(yōu)先數(shù)可以是固定的,也可隨進(jìn)程的執(zhí)行過程而動態(tài)變化。優(yōu) 先數(shù)調(diào)度算法分為“非搶占式”的與“可搶占式”的
10、兩種。(3) 時間片輪轉(zhuǎn)調(diào)度算法。系統(tǒng)規(guī)定一個“時間片”的值。調(diào)度算法讓就緒進(jìn)程按就緒的先后次序排成隊 列,每次總是選擇就緒隊列中的第一個進(jìn)程占用處理器,但規(guī)定只能使用一個“時間片”。如果一個時間 片用完,進(jìn)程工作尚未結(jié)束,則它也必須讓出處理器而被重新排到就緒隊列的末尾,等待再次運行,當(dāng)再 次輪到運行時,重新開始使用一個新的時間片。這樣,就緒隊列中的進(jìn)程就依次輪流地占用處理器運行。10. 下面有關(guān)選擇進(jìn)程調(diào)度算法的準(zhǔn)則中,不正確的是 。(分?jǐn)?shù): 1.00 )A. 盡快響應(yīng)交互式用戶請求B. 盡量提高處理器利用率C. 盡可能提高系統(tǒng)吞吐量D. 適當(dāng)增加進(jìn)程在就緒隊列中的等待時間V解析: 分析 在
11、選擇調(diào)度算法時,應(yīng)考慮以下幾個準(zhǔn)則:公平:確保每個進(jìn)程獲得合理的CPU份額;有效:使CPU盡可能的繁忙;響應(yīng)時間:使交互用戶的響應(yīng)時間盡可能短;周轉(zhuǎn)時間:使批處理用戶等待輸岀的時間盡可能短;吞吐量:使單位時間處理的進(jìn)程數(shù)盡可能最多。進(jìn)程的三個基本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進(jìn)程由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài)的條件是(25);由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是(26)。(分?jǐn)?shù):1.00)A. 時間片用完B. 等待某事件發(fā)生C. 等待的某事件已發(fā)生D. 被進(jìn)程調(diào)度程序選中V解析:A. 時間片用完B. 等待某事件發(fā)生VC. 等待的某事件已發(fā)生D. 被進(jìn)程調(diào)度程序選中解析:分析進(jìn)程在執(zhí)行期間,可以多次處于就緒狀
12、態(tài)和執(zhí)行狀態(tài),也可以多次處于阻塞狀態(tài),但處于新狀態(tài)只有一次。新狀態(tài)到就緒狀態(tài):當(dāng)就緒隊列允許接納新進(jìn)程時,系統(tǒng)便把處于新狀態(tài)進(jìn)程移入就緒隊列。就緒狀態(tài)到執(zhí)行狀態(tài):進(jìn)程調(diào)度程序為處于就緒狀態(tài)的進(jìn)程分配處理機(jī)后,該進(jìn)程進(jìn)入執(zhí)行狀態(tài)。執(zhí)行狀態(tài)到阻塞狀態(tài):正在執(zhí)行的進(jìn)程因需要等待某事件而無法執(zhí)行,讓岀處理機(jī)。阻塞狀態(tài)到就緒狀態(tài):進(jìn)程所等待的事件發(fā)生了,進(jìn)程就從阻塞狀態(tài)進(jìn)入就緒狀態(tài)。執(zhí)行狀態(tài)到就緒狀態(tài):正在執(zhí)行的進(jìn)程因時間片用完而被暫停執(zhí)行;或者在可搶占調(diào)度方式中,一個優(yōu)先級高的進(jìn)程到來后,正在執(zhí)行的優(yōu)先級低的進(jìn)程被強制撤下處理機(jī),轉(zhuǎn)換為就緒狀態(tài)。執(zhí)行狀態(tài)到終止?fàn)顟B(tài):一個進(jìn)程已完成或發(fā)生某種特殊事件,進(jìn)
13、程將變?yōu)榻K止?fàn)顟B(tài)。11. 關(guān)于臨界問題的一個算法(假設(shè)只有進(jìn)程P0和P1可能會進(jìn)入該臨界區(qū))如下(i為0或1):repeatretry :if(turn 工-1) turn:=i;if(turn 知)go to retry;turn:=-1;臨界區(qū);turn:=0其他區(qū)域;until false;該算法。(分?jǐn)?shù):1.00 )A. 不能保持進(jìn)程互斥進(jìn)入臨界區(qū),且會岀現(xiàn)“饑餓”B. 不能保持進(jìn)程互斥進(jìn)入臨界區(qū),但不會岀現(xiàn)“饑餓”VC. 保證進(jìn)程互斥進(jìn)入臨界區(qū),但會岀現(xiàn)“饑餓”D. 保證進(jìn)程互斥進(jìn)入臨界區(qū),不會出現(xiàn)“饑餓”解析:分析進(jìn)程并發(fā)時容易產(chǎn)生爭奪資源現(xiàn)象,必須在入口碼處能夠阻止進(jìn)程同時進(jìn)入臨
14、界區(qū)。要求根據(jù)給出的入口 碼和岀口碼判斷程序是否正確,此類岀題方式較常見。此類題目要想得岀正確答案,關(guān)鍵是找岀程序的錯 誤。根據(jù)條件可先寫岀每個進(jìn)程的執(zhí)行代碼,注意程序中i的取值應(yīng)與進(jìn)程Pi的取值相同:p0: repeatretry : if(turn 工-1) turn:=0; if(turn 工 0) go to retry; turn:=- 1; 臨界區(qū); turn:=0;其他區(qū)域 ;until false;p1: repeatretry:if(turn 工-1) turn:=1; if(turn 工 1) go to retry; turn:=- 1; 臨界區(qū);turn:=0;其他區(qū)域
15、 ;until false; 入口碼最容易出錯的地方就是在兩個進(jìn)程同時中請進(jìn)入臨界區(qū)的時候。若此時兩個進(jìn)程同時申請資源,此時turn的值是0,按照的順序執(zhí)行,兩個進(jìn)程同時進(jìn)入臨界區(qū)。再討論“饑餓”問題。因為 入口碼的判斷條件是 turn=-1 則進(jìn)程被阻塞,而只有在臨界區(qū)中存在進(jìn)程訪問的情況下 turn 的值才會是 -1 , 所以沒有進(jìn)程會被餓死。12. 進(jìn)程控制塊是描述進(jìn)程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),一個進(jìn)程 。(分?jǐn)?shù): 1.00 )A. 可以有多個進(jìn)程控制塊;B. 可以和其他進(jìn)程公用一個進(jìn)程控制塊;C. 可以沒有進(jìn)程控制塊;D. 只能有唯一的進(jìn)程控制塊。V解析: 分析 進(jìn)程控制塊(PCB)是保存
16、進(jìn)程的狀態(tài)和控制進(jìn)程轉(zhuǎn)換的標(biāo)識,也是進(jìn)程存在的唯一標(biāo)識。創(chuàng)建進(jìn)程則產(chǎn)生PCE,撤銷進(jìn)程系統(tǒng)就要回收 PCB PCB主要包括描述信息、管理信息、資源清單?,F(xiàn)場保護(hù)區(qū)和其他功能。 操作系統(tǒng)通過PCB表(或隊列)來管理與控制進(jìn)程。PCB表項的個數(shù)是確定的,所以也就限制了系統(tǒng)中的進(jìn) 程個數(shù)不能超過某個值。進(jìn)程控制塊是進(jìn)程存在的標(biāo)志,進(jìn)程與進(jìn)程控制塊是一對一的關(guān)系,進(jìn)程控制塊記錄進(jìn)程的控制信息和描 述信息,操作系統(tǒng)利用進(jìn)程控制塊對并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理,進(jìn)程控制塊是操作系統(tǒng)中最重要的 記錄行數(shù)據(jù)結(jié)構(gòu)。13. 下列選項中,導(dǎo)致創(chuàng)建新進(jìn)程的操作是 。I.用戶登錄成功設(shè)備分配 山啟動程序執(zhí)行(分?jǐn)?shù): 1
17、.00 )A. 僅I和UB. 僅U和山C. 僅I和山 VD. I、U、山解析: 分析 進(jìn)程在運行期間通過創(chuàng)建進(jìn)程系統(tǒng)調(diào)用來創(chuàng)建多個新進(jìn)程。每一個進(jìn)程都有生命期,即從創(chuàng)建到消亡的時 間周期。當(dāng)操作系統(tǒng)為一個程序構(gòu)造一個進(jìn)程控制塊并分配地址空間之后,就創(chuàng)建了一個進(jìn)程。進(jìn)程的創(chuàng) 建來源于以下四個事件。提交一個批處理作業(yè)。在終端上一個交互式作業(yè)登錄。操作系統(tǒng)創(chuàng)建一個服務(wù)進(jìn)程。存在的進(jìn)程創(chuàng)建新的進(jìn)程。因此,在本題中,能導(dǎo)致創(chuàng)建新進(jìn)程的操作有用戶登錄成功和啟動程序執(zhí)行。14. 在下列敘述中,正確的一條是 。(分?jǐn)?shù): 1.00 )A. 分時系統(tǒng)中,時間片越小,響應(yīng)時間越長B. 多道程序的引入,主要是為了提高
18、CPU及其他資源的利用率VC. 飛機(jī)票訂票系統(tǒng)是分時系統(tǒng)D. PCB是進(jìn)程存在的唯一標(biāo)志,而程序是系統(tǒng)感知進(jìn)程存在的唯一實體解析: 分析 分時系統(tǒng)的響應(yīng)時間Tnq,n是用戶數(shù)目,q是時間片。當(dāng)在用戶數(shù)目一定的情況下,時間片越小,響應(yīng) 時間越短。因此,選項 A錯誤。在單道程序環(huán)境中,系統(tǒng)的全部資源為一個作業(yè)所獨占,如果該作業(yè)在進(jìn)行輸入或輸出時,CPU仍然被它所占有,處于等待狀態(tài)。如果采用多道程序設(shè)計技術(shù),當(dāng)某個作業(yè)輸入或輸出時,CPU就可處理其他的作業(yè),其他資源也是類似的。選項 B正確。飛機(jī)票訂票系統(tǒng)是實時信息處理系統(tǒng)。所以,選項C錯誤。PCB是進(jìn)程存在的唯一標(biāo)志,也是系統(tǒng)感知進(jìn)程存在的唯一實體
19、。而進(jìn)程的程序部分描述了進(jìn)程所要完成 的功能。選項 D 錯誤。15. 分配到必要的資源并獲得處理機(jī)時的進(jìn)程狀態(tài)是 。(分?jǐn)?shù): 1.00 )A. 就緒狀態(tài)B. 執(zhí)行狀態(tài) VC. 阻塞狀態(tài)D. 撤銷狀態(tài)解析: 分析 一般來說進(jìn)程可分為就緒、執(zhí)行和阻塞 3 種狀態(tài)。就緒狀態(tài) (Ready) :進(jìn)程已分配到除處理機(jī)以外的所有必要資源, 具備了執(zhí)行的條件, 可能會有多個進(jìn)程處 于就緒狀態(tài),排成就緒隊列。執(zhí)行狀態(tài) (Running) :進(jìn)程已分配到所有必要資源, 并占用處理機(jī)正在執(zhí)行其程序。 單處理機(jī)系統(tǒng)中只能有 一個進(jìn)程處于執(zhí)行狀態(tài),多處理機(jī)系統(tǒng)中可能有多個進(jìn)程處于執(zhí)行狀態(tài)。阻塞狀態(tài) (Blocked)
20、 :也叫等待或睡眠狀態(tài), 是進(jìn)程由于等待某種事件的發(fā)生而處于暫停執(zhí)行的狀態(tài)。如進(jìn) 程因等待 I/O 的完成、等待緩沖空間等。16. 若信號量的初值為 2,當(dāng)前值為 -3 ,則表示有 個等待進(jìn)程。(分?jǐn)?shù): 1.00 )A. 1B. 2C. 3 VD. 5解析: 分析 當(dāng)信號量控制互斥問題時,其初值往往代表資源的個數(shù)。本題初值為2,說明該種資源數(shù)量 2個。當(dāng)進(jìn)程將2 個資源全部占有之后, 信號量值減至 0,此時若再有進(jìn)程要求申請該資源, 則必須在此信號量上等待, 具體表現(xiàn)為:將信號量的值減 1,導(dǎo)致信號量的取值為負(fù)。此時有幾個進(jìn)程申請該資源,信號量便被減幾次;因此S的值為-3,則表示有3個進(jìn)程在等
21、待該資源。17. 下列選項中,操作系統(tǒng)提供的給應(yīng)用程序的接口是(分?jǐn)?shù): 1.00 )A. 系統(tǒng)調(diào)用VB. 中斷C. 庫函數(shù)D. 原語 解析: 分析 顯然,操作系統(tǒng)提供的給應(yīng)用程序的接口是系統(tǒng)調(diào)用。原語和中斷都是操作系統(tǒng)本身的功能,不是提供給 應(yīng)用程序的接口。庫函數(shù)是程序設(shè)計語言提供給程序員編程用的。18. 既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的調(diào)度算法是 。(分?jǐn)?shù): 1.00 )A. 響應(yīng)比高者優(yōu)先 VB. 短作業(yè)優(yōu)先C. 優(yōu)先級調(diào)度D. 先來先服務(wù) 解析: 分析 響應(yīng)比是用等待時間 / 運行時間作為優(yōu)先數(shù)來決定調(diào)度哪個作業(yè)運行, 根據(jù)分?jǐn)?shù)的特點, 運行時間越長的優(yōu) 先級越小,因此考慮了短作
22、業(yè)優(yōu)先的原則;等待時間越長的優(yōu)先級會越高,照顧了因運行時間長而被迫等 待的作業(yè)。19. 在進(jìn)程控制塊中, 主要包括 4 方面用于描述和控制進(jìn)程運行的信息。 其中, 主要是由處理機(jī)各種寄存器中的內(nèi)容所組成。(分?jǐn)?shù): 1.00 )A. 進(jìn)程標(biāo)識符信息B. 進(jìn)程調(diào)度信息C. 處理機(jī)狀態(tài)信息 VD. 進(jìn)程控制信息解析: 分析 在進(jìn)程控制塊中,主要包括 4 方面用于描述和控制進(jìn)程運行的信息,分別是進(jìn)程標(biāo)識符信息、處理機(jī)狀態(tài) 信息、進(jìn)程調(diào)度信息和進(jìn)程控制信息。其中,處理機(jī)狀態(tài)信息主要是由處理機(jī)各種寄存器中的內(nèi)容所組成。處理機(jī)在運行時,許多信息新放在寄存器中,當(dāng)處理機(jī)被中斷時,所有這些信息都必須保存在被中斷
23、進(jìn)程的PCB中,以便在該進(jìn)程重新執(zhí)行時,能從斷點繼續(xù)執(zhí)行。20. 下列進(jìn)程調(diào)度算法中,綜合考慮進(jìn)程等待時間和執(zhí)行時間的是 。(分?jǐn)?shù): 1.00 )A. 時間片輪轉(zhuǎn)調(diào)度算法B. 短進(jìn)程優(yōu)先調(diào)度算法C. 先來先服務(wù)調(diào)度算法D. 高響應(yīng)比優(yōu)先調(diào)度算法 V 解析: 分析 時間片輪轉(zhuǎn)法和先來先服務(wù)算法都是用戶感覺公平的方法,并未考慮進(jìn)程等待時間和執(zhí)行時間,而短進(jìn)程 優(yōu)先考慮的是進(jìn)程執(zhí)行時間。響應(yīng)比優(yōu)先算法是根據(jù)公式:響應(yīng)比=1+作業(yè)等待時間/運行時間的估計值來計算優(yōu)先級的。當(dāng)運行時間短時,優(yōu)先數(shù)高,而運行時間長 的進(jìn)程,優(yōu)先級會因為其等待時間的延長而提高。因此,這是一個綜合了等待時間和執(zhí)行時間的算法。在
24、操作系統(tǒng)中引入并發(fā)可以提高系統(tǒng)效率。若有兩個程序A和B, A程序執(zhí)行時所做的工作按次序需要用CPU 10秒;DEV1: 5秒;CPU 5秒;DEV2 10秒;CPU 10秒。B程序執(zhí)行時所做的工作按次序需要用 DEV1: 10秒;CPU 10秒;DEV2 5秒;CPU 5秒;DEV2 10秒。如果在順序環(huán)境下執(zhí)行 A B兩個程序,CPU的利用率為(8);如果在并發(fā)環(huán)境下執(zhí)行兩個程序,假設(shè)A程序先執(zhí)行,則 CPU的利用率為(9)。(分?jǐn)?shù):1.00 )A. 30%B. 40%C. 50% VD. 60%解析:A. 99%B. 89% VC. 79%D. 69%解析:分析如果A、B順序執(zhí)行,根據(jù)順序
25、環(huán)境的特點,程序 A結(jié)束之后程序B才可以開始運行,因此總的運行時間應(yīng) 是兩個程序運行所需實際時間的總和,即(10+5+5+10+10)+(10+10+5+5+10)=80 秒再計算CPU運行時間:(10+5+10)+(10+5)=40 秒,因此CPU利用率為40秒/80秒=50%如果并發(fā)執(zhí)行,則 在程序A不使用CPU時,B可以占用CPU與A對其他設(shè)備的使用同步進(jìn)行。程序 A、B是同時進(jìn)行著,也是同時結(jié)束的,即運行時間重疊。因此可得,程序運行所需時間為45秒,而CPU運行時間為40秒,由此可得CPU利用率為40秒/45秒=89%21. 進(jìn)程間的同步是指進(jìn)程間在邏輯上的相互 關(guān)系。(分?jǐn)?shù):1.00
26、 )A. 聯(lián)接B. 制約 VC. 繼續(xù)D. 調(diào)用解析:分析某些進(jìn)程為完成同一任務(wù)需要分工協(xié)作,由于合作的每一個進(jìn)程都是獨立地以不可預(yù)知的速度推進(jìn),這就需要相互協(xié)作的進(jìn)程在某些協(xié)調(diào)點上協(xié)調(diào)各自的工作。為了解決進(jìn)程間協(xié)作關(guān)系(直接制約關(guān)系),因此引入了進(jìn)程同步。進(jìn)程同步主要源于進(jìn)程合作,是進(jìn)程間共同完成一項任務(wù)時,直接發(fā)生相互作用的關(guān)系,為進(jìn)程之間的直 接制約關(guān)系。在多道環(huán)境下,這種進(jìn)程間在執(zhí)行次序上的協(xié)調(diào)是必不可少的。22. 下列選項中,降低進(jìn)程優(yōu)先權(quán)級的合理時機(jī)是 。(分?jǐn)?shù):1.00 )A. 進(jìn)程的時間片用完 VB. 進(jìn)程剛完成I/O,進(jìn)入就緒隊列C. 進(jìn)程持久處于就緒隊列D. 進(jìn)程從就緒狀態(tài)
27、轉(zhuǎn)為運行態(tài) 解析:分析在操作系統(tǒng)中,進(jìn)程調(diào)度的時機(jī)主要有:進(jìn)程狀態(tài)轉(zhuǎn)換的時刻:進(jìn)程終止、進(jìn)程睡眠;當(dāng)前進(jìn)程的時間片用完時;設(shè)備驅(qū)動程序;進(jìn)程從中斷、異常及系統(tǒng)調(diào)用返回到用戶態(tài)時。在試題所給岀的4個選項中,A和D屬于上述“時機(jī)”,但是,當(dāng)進(jìn)程從就緒狀態(tài)轉(zhuǎn)為運行態(tài)時,如果降 低進(jìn)程優(yōu)先權(quán)級,則可能導(dǎo)致這種正在發(fā)生的轉(zhuǎn)換不能實施,這不合理。因此,相對而言,比較合理的時 機(jī)是進(jìn)程的時間片用完的時候。在動態(tài)優(yōu)先級調(diào)度方法中,一般采取的策略(也是比較合理的策略)是,進(jìn)程處于就緒隊列中的時間越長,其優(yōu)先級就應(yīng)該越高。 也就是說,當(dāng)進(jìn)程持久處于就緒隊列時, 應(yīng)該提高其優(yōu)先級,而不是降低其優(yōu)先級。23. 通常,
28、用戶進(jìn)程被建立后,。(分?jǐn)?shù):1.00 )A. 便一直存在于系統(tǒng)中,直到被操作人員撤銷B. 隨著作業(yè)運行正?;虿徽=Y(jié)束而撤銷VC. 隨著時間片輪轉(zhuǎn)而撤銷與建立D. 隨著進(jìn)程的阻塞或喚醒而撤銷與建立解析:分析每一個進(jìn)程都有生命期,即從創(chuàng)建到消亡的時間周期。當(dāng)操作系統(tǒng)為一個程序構(gòu)造一個進(jìn)程控制塊并分配 地址空間之后,就創(chuàng)建了一個進(jìn)程。用戶可以任意的取消用戶的作業(yè),隨著作業(yè)運行的正?;虿徽=Y(jié)束,進(jìn)程也被撤銷了。操作系統(tǒng)中,可以并行工作的基本單位是(12),它也是核心調(diào)度及資源分配的基本單位,它是由(13)組成的,它與程序的重要區(qū)別之一是(14)。(分?jǐn)?shù):0.99 )A. 作業(yè)B. 函數(shù)C. 進(jìn)程
29、VD. 過程解析:A. 程序、數(shù)據(jù)和PCB VB. 程序、數(shù)據(jù)和標(biāo)識符C. 程序、標(biāo)識符和PCBD. 數(shù)據(jù)、標(biāo)識符和PCB解析:A. 程序有狀態(tài),而它沒有B. 它有狀態(tài),而程序沒有C. 程序可占有資源,而它不可D. 它能占有資源,而程序不能V解析:分析進(jìn)程的本質(zhì)特征是并發(fā),在現(xiàn)代操作系統(tǒng)中,用戶程序以進(jìn)程方式占用系統(tǒng)資源,為管理進(jìn)程,建立PCB描述進(jìn)程的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。24. 某計算機(jī)系統(tǒng)中有8臺打印機(jī),由K個進(jìn)程競爭使用,每個進(jìn)程最多需要3臺打印機(jī)。該系統(tǒng)可能會發(fā)生死鎖的K的最小值是。(分?jǐn)?shù):1.00 )A. 2B. 3C. 4 VD. 5 解析: 分析 發(fā)生死鎖的現(xiàn)象就是占有并等待,并且等待
30、的資源不會被釋放??杉僭O(shè)死鎖已發(fā)生,進(jìn)而討論進(jìn)程個數(shù)??隙òl(fā)生死鎖的最小進(jìn)程數(shù)是這樣得到的:假設(shè)K個進(jìn)程,每個進(jìn)程需要 M個資源,而每個進(jìn)程已占有 M-1個,都在等待最后一個資源,于是死鎖發(fā)生;此時,只要再多一個資源,死鎖便可解除,K便是所求值。根據(jù)題目條件,M=3, KX(M-1)=8,得K=425. 產(chǎn)生死鎖的基本原因是 和進(jìn)程推進(jìn)順序非法。(分?jǐn)?shù): 1.00 )A. 資源分配不當(dāng) VB. 系統(tǒng)資源不足C. 作業(yè)調(diào)度不當(dāng)D. 進(jìn)程調(diào)度不當(dāng) 解析: 分析 死鎖的發(fā)生和資源的分配關(guān)系密切。當(dāng)用戶申請資源,系統(tǒng)不加限制地隨意分配就容易發(fā)生死鎖,所以死 鎖應(yīng)該是資源分配不當(dāng)時產(chǎn)生的后果。26. 時
31、間片輪轉(zhuǎn)法進(jìn)行進(jìn)程調(diào)度是為了 。(分?jǐn)?shù): 1.00 )A. 多個終端都能得到系統(tǒng)的及時響應(yīng) VB. 先來先服務(wù)C. 優(yōu)先級較高的進(jìn)程得到及時響應(yīng)D. 需要CPU最短的進(jìn)程先做解析: 分析 時間片輪轉(zhuǎn)(RR)調(diào)度算法尤其適用于分時系統(tǒng)。RR調(diào)度算法與FCFS調(diào)度算法非常相似,但是添加了進(jìn)程間的搶占轉(zhuǎn)換。RR定義了一個小的時間單元,被稱為時間量(或時間片)。一個時間量通常在10毫秒到100毫秒之間。把就緒隊列作為循環(huán)隊列對待。CPU調(diào)度程序環(huán)繞這個就緒隊列,將CPU分配到每個進(jìn)程,每隔一個時間量轉(zhuǎn)換一次。在這種調(diào)度算法中,系統(tǒng)將所有就緒進(jìn)程按到達(dá)時間的先后次序排成一個隊列。進(jìn)程調(diào)度程序總是選擇隊
32、列中第一個進(jìn)程執(zhí)行,且僅能執(zhí)行一個時間片。在使用完一個時間片后,即使進(jìn)程并未完成其運行,也必 須將處理機(jī)交給下一個進(jìn)程。27. 單處理機(jī)系統(tǒng)中,可并行的是 。I .進(jìn)程與進(jìn)程處理機(jī)與設(shè)備 山.處理機(jī)與通道 W.設(shè)備與設(shè)備(分?jǐn)?shù): 1.00 )A. I、U和山B. I、U 和 WC. I、山和WD. nm 和w V解析: 分析 在單處理機(jī)系統(tǒng)中,為提高系統(tǒng)效率,讓內(nèi)存中保持多個處于不同狀態(tài)的進(jìn)程(這稱為進(jìn)程并發(fā)執(zhí)行 ),但在同一時刻占用處理機(jī)的卻只有一個進(jìn)程,因此,進(jìn)程之間不是并行的;現(xiàn)代操作系統(tǒng)的形成正是通道產(chǎn) 生的結(jié)果,通道是可以獨立于 CPU空制輸入輸出的設(shè)備,在處理機(jī)進(jìn)行運算時,通道可同
33、時進(jìn)行I/O操作, 因此,這兩者也是并行的; 處理機(jī)運算時, 外設(shè)可同時進(jìn)行輸入 /輸出的操作, 因此, 也產(chǎn)生了并行; 顯然, 設(shè)備和設(shè)備之間也是可以并行的。28. 個運行進(jìn)程必須具備的3種基本狀態(tài)是(分?jǐn)?shù):1.00 )A. 就緒狀態(tài)、掛起狀態(tài)和執(zhí)行狀態(tài)B. 掛起狀態(tài)、阻塞狀態(tài)和執(zhí)行狀態(tài)C. 就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài)VD. 就緒狀態(tài)、執(zhí)行狀態(tài)和終止?fàn)顟B(tài)解析:分析一般來說,按進(jìn)程在執(zhí)行過程中的不同情況,進(jìn)程的基本狀態(tài)包括有以下幾種。就緒狀態(tài)(Ready):進(jìn)程已分配到除處理機(jī)以外的所有必要資源,具備了執(zhí)行的條件,可能會有多個進(jìn)程處于就緒狀態(tài),排成就緒隊列。執(zhí)行狀態(tài)(Running):進(jìn)程占
34、用處理機(jī)正在執(zhí)行其程序。單處理機(jī)系統(tǒng)中只能有一個進(jìn)程處于執(zhí)行狀態(tài), 多處理機(jī)系統(tǒng)中可能有多個進(jìn)程處于執(zhí)行狀態(tài)。阻塞狀態(tài)(Blocked):也叫等待或睡眠狀態(tài),是進(jìn)程由于等待某種事件的發(fā)生而處于暫停執(zhí)行的狀態(tài),如進(jìn)程因等待I/O的完成、等待緩沖空間等。29. 有5個批處理任務(wù) A B、C D、E幾乎同時到達(dá)一計算中心。其預(yù)計運行時間分別為10、6、2、4和8分鐘。其優(yōu)先級(由外部設(shè)定)分別為3、5、2、1和4,這里5為最高優(yōu)先級。下列各種調(diào)度算法中,其平 均進(jìn)程周轉(zhuǎn)時間為14分鐘的是。1.00 )A. 時間片輪轉(zhuǎn)B. 優(yōu)先級調(diào)度C. 先來先服務(wù)D. 最短作業(yè)優(yōu)先V解析:分析按照不同調(diào)度算法計算平
35、均周轉(zhuǎn)周期。時間片輪轉(zhuǎn):因沒有給岀時間片的長度,暫不計算。優(yōu)先級調(diào)度:100/5=20分鐘,先來先服務(wù):86/5=17.2分鐘。最短作業(yè)優(yōu)先:70/5=14分鐘。調(diào)度過程如圖 2-10所示*30. 通過撤銷進(jìn)程可以進(jìn)行死鎖恢復(fù),還可以采用 方法解除死鎖。(分?jǐn)?shù):1.00 )A. 阻塞進(jìn)程B. 資源剝奪 VC. 提高進(jìn)程優(yōu)先級D. 降低進(jìn)程優(yōu)先級解析:分析解除死鎖的方法有撤消進(jìn)程法和資源剝奪法。即強行將死鎖的進(jìn)程撤銷,或強行剝奪死鎖進(jìn)程的資源,以 打破僵持,使系統(tǒng)能夠繼續(xù)運轉(zhuǎn)下去。采用資源剝奪法,將剝奪的資源分配給死鎖進(jìn)程,以解決死鎖。31. 設(shè)與某資源相關(guān)聯(lián)的信號量初值為3,當(dāng)前值為1,若M表
36、示該資源的可用個數(shù),N表示等待該資源的進(jìn)程數(shù),則M, N分別是。(分?jǐn)?shù):1.00 )A.0,1B. 1 , 0 VC. 1 , 2D. 2 , 0解析:分析信號量的初值為3,說明有3個這樣的資源可供使用。但其當(dāng)前值為1,說明當(dāng)前只有1個這樣的資源可用,而另外2個已經(jīng)分配。由于還有 1個資源可用,所以此時沒有等待該資源的進(jìn)程。32. 調(diào)度算法有利于CPU繁忙型的作業(yè),而不利于I/O繁忙型的作業(yè)(進(jìn)程)。(分?jǐn)?shù):1.00)A. 時間片輪轉(zhuǎn)調(diào)度算法B. 先來先服務(wù)調(diào)度算法VC. 短作業(yè)(進(jìn)程)優(yōu)先算法D. 優(yōu)先權(quán)調(diào)度算法解析:分析目前存在著多種調(diào)度算法,有的算法適合作業(yè)調(diào)度;有的算法適用于進(jìn)程調(diào)度;
37、但也有些調(diào)度算法,既可 用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度。其中,先來先服務(wù)(FCFS)調(diào)度算法是一種最簡單的調(diào)度算法。當(dāng)在作業(yè)調(diào)度中采用該算法時,每次調(diào)度是 從后備作業(yè)隊列中,選擇一個或多個最先進(jìn)入該隊列的作用,將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進(jìn) 程,然后放入就緒隊列。在進(jìn)程調(diào)度中,采用FCFS調(diào)度算法時,則每次調(diào)度就是從就緒隊列中選擇一個最先進(jìn)入該隊列的進(jìn)程,把處理機(jī)分配給它,使之投入運行。該進(jìn)程一直運行到完成或發(fā)生某事件而阻塞后,才放棄處理機(jī)。FCFS算法比較有利于長作業(yè)(進(jìn)程),而不利于短作業(yè)(進(jìn)程),如表2-6所示列出了 A、B、C、D四個作業(yè) 分別到達(dá)系統(tǒng)的時間、要求服務(wù)的時間、開
38、始執(zhí)行時間及各自的完成時間,并計算岀各自的周轉(zhuǎn)時間和帶 權(quán)周轉(zhuǎn)時間。表2-6四個作業(yè)情況表進(jìn)程 名到達(dá)時 間服務(wù)時間開始執(zhí)行 時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時 間A010111B110011011001C 2 1101P 102100100D31001022021991.99從表2-6中可以看出,其中短作業(yè)C的帶權(quán)周轉(zhuǎn)時間竟高達(dá) 100,而長作業(yè)D的帶權(quán)周轉(zhuǎn)時間僅為1.99。由 此可見,F(xiàn)CFS調(diào)度算法有利于 CPU繁忙型的作業(yè),而不利于I/O繁忙型的作業(yè)(進(jìn)程)o CPU繁忙型作業(yè),是指該類作業(yè)需要大量的 CPU時間進(jìn)行計算,而很少請求 I/O。通常的科學(xué)計算便屬于 CPC繁忙型作業(yè)。 I/O
39、繁忙型作業(yè)是指 CPU進(jìn)行處理時,又需頻繁地請求I/O,而每次I/O的操作時間卻很短,目前大多數(shù)的 事務(wù)處理,都屬于I/O繁忙型作業(yè)。可以通過一個例子來說明采用FCFS調(diào)度算法的調(diào)度性能,表 2-7中有5個進(jìn)程A、B、C、D和E,它們到達(dá)的時間分別是0、1、2、3和4,所要求的服務(wù)時間分別是4、3、5、2和4,由表2-7還可以看出,A B C、D和E的完成時間分別是 4、7、12、14和18,從每個進(jìn)程的完成 時間中減去其到達(dá)時間,即得到每個進(jìn)程的周轉(zhuǎn)時間,進(jìn)而可以算岀每個進(jìn)程的帶權(quán)周轉(zhuǎn)時間。表2-7 FCFS高度算法性能作業(yè)情況進(jìn)程名稱ABCDE平均到達(dá)時間01234調(diào)度算法服務(wù)時間4352
40、4FCFS完成時間47121418周轉(zhuǎn)時間461011149帶權(quán)周轉(zhuǎn)時間1225.53.52.8 :、綜合題(總題數(shù):35,分?jǐn)?shù):70.00)33. UNIX作系統(tǒng)使用copy-on-write 方式來實現(xiàn)fork()系統(tǒng)調(diào)用以便創(chuàng)建一個新進(jìn)程。但在創(chuàng)建進(jìn)程時并 不能完全使用copy-on-write方式,因為進(jìn)程的某些部分必須在創(chuàng)建時即時copy,請問進(jìn)程的哪些部分必須在創(chuàng)建時即時copy,哪些部分可以采用 copy-on-write方式而不用即時copy?這樣做有什么好處?(分?jǐn)?shù):1.00)正確答案:(每個進(jìn)程執(zhí)行時必須將頁表始址或段表始址調(diào)到初始寄存器,并將頁表調(diào)入內(nèi)存,否則進(jìn)程無法執(zhí)行
41、,所以頁表部分必需在創(chuàng)建時即時copy,其他進(jìn)程管理程序所需的進(jìn)程信息如進(jìn)程號等也需要在創(chuàng)建時即時copy,而那些運行暫時不需要的進(jìn)程用戶上下文及數(shù)據(jù)可以先不復(fù)制到子進(jìn)程空間,而是采取 copy-on-write策略,因為子進(jìn)程以后很可能不會用到這部分內(nèi)容,而是調(diào)用exec()用新的進(jìn)程上下文覆蓋其原有上下文,這樣一來可以節(jié)省fork()調(diào)用開銷,避免不必要的 copy。)解析:34. 進(jìn)程和線程的主要區(qū)別是什么?(分?jǐn)?shù):1.00)正確答案:(線程具有許多傳統(tǒng)進(jìn)程所具有的特征,故又稱為輕型進(jìn)程或進(jìn)程元;而把傳統(tǒng)的進(jìn)程稱為重型進(jìn)程,它相當(dāng)于只有一個線程的任務(wù)。在引入了線程的操作系統(tǒng)中,通常一個進(jìn)
42、程都有若干個線程,至少 也需要有一個線程。下面從調(diào)度、并發(fā)性、系統(tǒng)開銷、擁有資源等方面,來比較線程與進(jìn)程。(1) 調(diào)度。在傳統(tǒng)操作系統(tǒng)中,擁有資源的基本單位和獨立調(diào)度、分派的基本單位都是進(jìn)程。而在引入線 程的操作系統(tǒng)中,則把線程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資源擁有的基本單位,使傳統(tǒng)進(jìn)程 的兩個屬性分開,線程便能輕裝運行,從而提高系統(tǒng)的并發(fā)程度。在同一進(jìn)程中,線程的切換不會引起進(jìn) 程的切換,在由一個進(jìn)程中的線程切換到另一進(jìn)程中的線程時,將會引起進(jìn)程切換。(2) 并發(fā)性。在引入線程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個進(jìn)程中的多個線程之間, 亦可并發(fā)執(zhí)行,因而使操作系統(tǒng)具有更
43、好的并發(fā)性,從而能更有效地使用系統(tǒng)資源和提高系統(tǒng)的吞吐量。(3) 擁有資源。不論是傳統(tǒng)的操作系統(tǒng),還是設(shè)有線程的操作系統(tǒng),進(jìn)程都是擁有資源的一個獨立單位,它可以擁有自己的資源。一般來說,線程不擁有系統(tǒng)資源(也有一點必不可少的資源),但它可以訪問其隸屬進(jìn)程的資源。亦即,一個進(jìn)程的代碼段、數(shù)據(jù)段以及系統(tǒng)資源,如已打開的文件、I/O設(shè)備等,可供同一進(jìn)程的所有線程共享。(4) 系統(tǒng)開銷。在創(chuàng)建或撤銷進(jìn)程時,系統(tǒng)都要為之分配或回收資源,如內(nèi)存空間、I/O設(shè)備等。因此,操作系統(tǒng)所付岀的開銷將顯著地大于在創(chuàng)建或撤消線程時的開銷。類似地,在進(jìn)行進(jìn)程切換時,涉及整個當(dāng)前進(jìn)程CPU環(huán)境的保存以及新被調(diào)度運行的進(jìn)程
44、CPU環(huán)境的設(shè)置。而進(jìn)程切換只需保存和設(shè)置少量寄存器的內(nèi)容,并不涉及存儲器管理方面的操作??梢?,進(jìn)程切換的開銷也遠(yuǎn)大于線程切換的開銷。此外,由 于同一進(jìn)程中的多個線程具有相同的地址空間,使兩者之間的同步和通信的實現(xiàn)也變得比較容易,在有的 系統(tǒng)中,線程的切換、同步和通信都無須需操作系統(tǒng)內(nèi)核干預(yù)。)解析:某個操作系統(tǒng)的設(shè)計目標(biāo)是同時支持實時任務(wù)和交互式任務(wù),它的實現(xiàn)采用混合式多線程策略,處理器調(diào)度策略采用多隊列策略,在系統(tǒng)資源匱乏時,可以采用中級調(diào)度來平衡系統(tǒng)負(fù)載。(分?jǐn)?shù):2.00 )(1) .該操作系統(tǒng)中存在著哪些與處理器調(diào)度有關(guān)的實體?(分?jǐn)?shù):1.00 ) 正確答案:(進(jìn)程:系統(tǒng)進(jìn)行資源管理和
45、保護(hù)的單位,與處理器調(diào)度相關(guān)的實體。內(nèi)核級線程:進(jìn)程的一條執(zhí)行路徑,操作系統(tǒng)進(jìn)行處理器調(diào)度的實體。用戶級線程:進(jìn)程的一條執(zhí)行路徑,操作系統(tǒng)不知道它的存在,在執(zhí)行時映射到內(nèi)核級線程上。)解析:(2).請設(shè)計一種合理的多隊列進(jìn)程調(diào)度策略,它既能滿足實時任務(wù)調(diào)度的需要,又能從外設(shè)訪問角度來滿 足交互式任務(wù)調(diào)度的需要。(分?jǐn)?shù):1.00)正確答案:(劃分成實時優(yōu)先級層次和交互式優(yōu)先級層次,其中實時優(yōu)先級層次較高。實時優(yōu)先級層次包括多個優(yōu)先級,可以組織成多個就緒線程隊列,也可以組織成一個優(yōu)先隊列;可以采用搶占式優(yōu)先數(shù)調(diào)度策 略,如果分配時間片,應(yīng)該分配較長的時間片。交互式優(yōu)先級層次可以劃分成 3個就緒線程
46、隊列,按照優(yōu)先級從高到低依次為:訪問字符設(shè)備的就緒線程 隊列、訪問塊設(shè)備的就緒線程隊列、時間片到的就緒線程隊列;其中優(yōu)先級較高的就緒線程隊列具有較短 的時間片。)解析:35. 某操作系統(tǒng)將消息緩沖通信作為進(jìn)程之間通信的基本手段。Send和Receive分別為發(fā)送消息和接收消息原語。請設(shè)計一種方案,用于Send和Receive原語來實現(xiàn)基于信號量的P、V操作。(分?jǐn)?shù):1.00)正確答案:(1)所有信號量由一個叫同步的進(jìn)程來完成,對應(yīng)每個信號量設(shè)置一個計數(shù)器(記錄信號量的值)和一個等待進(jìn)程鏈表。(2)P、V操作通過調(diào)用P、V過程來完成。P和V過程將信號量s和操作作為消息發(fā)給同步進(jìn)程,然后等待 同步
47、進(jìn)程的回答。(3)同步進(jìn)程接收到消息后,看所要求的操作能否完成。P操作當(dāng)S的值為0時,同步進(jìn)程把調(diào)用者推入隊列,不發(fā)回消息,調(diào)用者處于等待狀態(tài);V操作總能完成,所以發(fā)回一空消息給調(diào)用者,將其解凍,同時檢查S的值是否為1和相應(yīng)等待隊列是否為空。若S為1,且隊列不空,則從隊列中移出一個進(jìn)程,向它發(fā)送一個空消息,將它解凍。)解析:36. 對基本的進(jìn)程狀態(tài)轉(zhuǎn)換圖 2-11中的狀態(tài)轉(zhuǎn)換編號1、2、3、4。令I(lǐng)和J分別取值1、2、3、4(J不等 于I)。請分別討論在狀態(tài)轉(zhuǎn)換I和狀態(tài)轉(zhuǎn)換J之間是否存在因果關(guān)系;若存在,請指岀這種關(guān)系是必然的, 或是有條件的,條件是什么 ?(分?jǐn)?shù):1.00 )正確答案:(根據(jù)
48、圖2-11分析,狀態(tài)轉(zhuǎn)換1和2之間:沒有2就不會有1,因為2是進(jìn)程從就緒態(tài)被 CPU 調(diào)度進(jìn)入運行態(tài)的,若沒有這一轉(zhuǎn)換過程,則不會存在運行狀態(tài)的進(jìn)程,因此也就不會岀現(xiàn)從運行態(tài)進(jìn)入 就緒態(tài)的進(jìn)程,即狀態(tài)轉(zhuǎn)換 1不會岀現(xiàn):狀態(tài)轉(zhuǎn)換 3和4之間:沒有4就不會有3。因為4是進(jìn)程因等待 資源而從運行態(tài)進(jìn)入阻塞態(tài)的,在得到資源后才從阻塞態(tài)進(jìn)入就緒態(tài)(即狀態(tài)轉(zhuǎn)換3),因此可以說沒有 4就不會出現(xiàn)3。還可以認(rèn)為沒有2就不會有4,因為任何進(jìn)程必須先運行才可以申請資源,所以沒有進(jìn)入運 行態(tài)的進(jìn)程,就不可能有進(jìn)入阻塞狀態(tài)的進(jìn)程。)解析:37. 簡述計算機(jī)系統(tǒng)的中斷機(jī)制及其作用。中斷裝置如何判別發(fā)生的是自愿性中斷還是
49、強迫性中斷?(分?jǐn)?shù):1.00 )中斷裝置由一些特定的寄存器正確答案:(中斷機(jī)制包括硬件的中斷裝置和操作系統(tǒng)的中斷處理服務(wù)程序。和控制線路組成,中央處理器和外圍設(shè)備等識別到的事件保存在特定的寄存器中,中央處理器每執(zhí)行完一 條指令,均由中斷裝置判別是否有事件發(fā)生。若無事件發(fā)生,CPU繼續(xù)執(zhí)行;若有事件發(fā)生,則中斷裝置中斷原占有CPU的程序的執(zhí)行,讓操作系統(tǒng)的處理事件服務(wù)程序占用CPU對出現(xiàn)的事件進(jìn)行處理,事件處理完后,再讓原來的程序繼續(xù)占用CPU執(zhí)行。處理器執(zhí)行指令時,根據(jù)操作碼是否是訪管指令,來確定是否有自愿性中斷事件發(fā)生。若有,則通知中斷裝置; 對于強迫性中斷, 中斷裝置只要檢查中斷寄存器的內(nèi)
50、容,若非“0”, 表示有強迫性中斷事件發(fā)生。 )解析:38. 給出中斷響應(yīng)的系統(tǒng)流程。分?jǐn)?shù): 1.00 ) 正確答案:(每一個程序都要有一個程序狀態(tài)字 (PSW)來刻畫本程序的執(zhí)行狀態(tài),在單處理器的計算機(jī)系統(tǒng) 中整個系統(tǒng)設(shè)置一個用來存放當(dāng)前運行進(jìn)程的 PSW勺寄存器,該寄存器稱為“程序狀態(tài)字寄存器”。為了 說明中斷響應(yīng)過程,我們區(qū)分三種 PSW:(1) 存放在程序狀態(tài)字寄存器中的 psw是當(dāng)前正占用處理器的進(jìn)程的psw稱“當(dāng)前psWo(2) 出現(xiàn)中斷事件后,要由操作系統(tǒng)的中斷處理程序占用處理器,讓中斷處理程序處理出現(xiàn)的中斷事件。 我們把中斷處理程序的 PSW稱為“新PSW,新PSW中存放著中斷
51、處理程序的入口地址。(3) 中斷處理程序在占用處理器前,必須把被中斷進(jìn)程的PSW保護(hù)好,以便該進(jìn)程在適當(dāng)?shù)臅r候能使被中斷時的情況繼續(xù)執(zhí)行。把保護(hù)好的被中斷進(jìn)程的PSW稱為“舊PSWo當(dāng)中斷裝置發(fā)現(xiàn)中斷事件后,首先把出現(xiàn)的中斷事件存放到程序狀態(tài)字寄存器中的中斷碼位置,然后把程序狀態(tài)字寄存器中的“當(dāng)前 PSW作為“舊PSW存放到預(yù)先約定好的主存固定單元中保護(hù)起來,再把已經(jīng)確定好的操作系統(tǒng)處理程序的“新PSW送到程序狀態(tài)字寄存器, 成為“當(dāng)前PSW,這一過程稱為“交換:psw/o中斷裝置通過交換 PSW使被中斷進(jìn)程讓出處理器,且使處理器按照中斷處理程序的“新PSW控制執(zhí)行。于是,中斷處理程序就占用了
52、處理器, 它先從保存好的舊PSW中取出中斷碼,分析發(fā)生的具體事件, 從而可完成對中斷事件的處理。一個進(jìn)程占有處理器運行時,可以由于各種不同的事件發(fā)生而被中斷。對各類不同的事件操作系統(tǒng)的處理 是不同的,一般來說,對每一類事件都要有該類事件的處理程序,每一類處理程序都有一個“新PSW”o中斷裝置發(fā)現(xiàn)中斷事件后應(yīng)按中斷事件類讓相應(yīng)的中斷處理程序占有處理器,為此,可預(yù)先約定一些主存 固定單元用來分別存放各類中斷處理程序的“新PSW和由于各種不同原因被中斷的進(jìn)程的“舊PSW,發(fā)生哪類中斷事件就交換哪一類的新、舊PSW具體處理過程如下:中斷裝置發(fā)現(xiàn)中斷事件后把中斷事件存入程序狀態(tài)字寄存器中當(dāng)前PSW勺中斷
53、碼位置;把當(dāng)前PSW保存起來,根據(jù)發(fā)生的事件類找出事件對應(yīng)的舊PSW位置(假設(shè)發(fā)生的是外部中斷事件),把當(dāng)前的PSW保存到該位置上;把該類事件處理程序的新 PSW送入程序狀態(tài)字寄存器,處理器就按這個新PSW空制處理該事件的中斷處理程序執(zhí)行。) 解析:39. 給出不同中斷事件的中斷處理程序的處理。分?jǐn)?shù): 1.00 ) 正確答案:(各類中斷事件的處理原則大致如下。(1) 硬件故障中斷事件的處理排除這類故障必須進(jìn)行人工干預(yù),因此處理這類事件只能是輸出一些故障信息。例如,當(dāng)主存儲器的奇偶 校驗或海明校驗裝置發(fā)現(xiàn)主存儲器讀 /寫錯誤時, 產(chǎn)生故障中斷事件, 中斷處理程序要把訪問該主存單元的 進(jìn)程狀態(tài)改成
54、“等待干預(yù)”,向操作員報告出錯主存單元的地址和錯誤性質(zhì)。待操作員排除故障后重新啟 動進(jìn)程,使“等待干預(yù)”狀態(tài)的進(jìn)程變成“就緒”狀態(tài)。(2) 程序中斷事件的處理程序中斷事件往往與程序的具體編制有關(guān),不同的用戶對出現(xiàn)的事件可以有不同的處理要求,所以,中斷 處理程序可把出現(xiàn)的事件轉(zhuǎn)交給用戶自行處理。如果用戶對發(fā)生的事件沒有提出處理辦法,那么操作系統(tǒng) 就把發(fā)生事件的進(jìn)程名、程序斷點、事件性質(zhì)等報告給操作員。(3) 外部中斷事件的處理 用戶可以用控制板上的中斷鍵請求調(diào)用操作系統(tǒng)的某個特定功能。所以,當(dāng)按壓了一個中斷鍵產(chǎn)生一個外 部中斷事件時,處理該事件的程序根據(jù)中斷鍵的編號把處理轉(zhuǎn)交給一個特定的例行程序
55、。時鐘是操作系統(tǒng)進(jìn)行調(diào)度工作的重要工具,在UNIX系統(tǒng)中,硬件按電源頻率每隔20毫秒產(chǎn)生一次中斷請求。處理程序累計時鐘中斷次數(shù)用來調(diào)整日歷時鐘時間。只要在開機(jī)時置好開機(jī)時刻的年、月、日、時、分、秒,以后根 據(jù)時鐘中斷的次數(shù)可計算出當(dāng)前的時間。也可把時鐘作為定時鬧鐘,先確定一個定時的時間,只要把當(dāng)前 的日歷時鐘時間與定時的時間相加就得到喚醒時間,處理程序每隔一段時間(例如 1 秒鐘)把日歷時鐘時間與喚醒時間比較,當(dāng)日歷時鐘時間喚醒時間,就表示定時的時間到了,起到鬧鐘的作用。(4) 輸入/ 輸出中斷事件的處理I/O 中斷通常包括 I/O 正常結(jié)束和 I/O 錯誤,不同的情況系統(tǒng)采用不同的處理方法。(5) 訪管中斷事件的處理 這類中斷事件表示正在運行的進(jìn)程要調(diào)用操作系統(tǒng)的功能,中斷處理程序可設(shè)置一張“系統(tǒng)調(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幾分包合同范本
- 農(nóng)村耕地流轉(zhuǎn)合同范本
- 產(chǎn)品免責(zé)合同范本
- 倉儲臨時合同范本
- 化妝產(chǎn)品合同范本
- 信息驗收合同范例
- 書法裝裱售賣合同范本
- 農(nóng)村集體資源招租合同范本
- 免除追償工傷合同范本
- 兄弟籃球合同范本
- 2024年-ITSS新標(biāo)準(zhǔn)培訓(xùn)學(xué)習(xí)材料
- 第2課《讓美德照亮幸福人生》第2框《做守家庭美德的好成員》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- (正式版)SHT 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 2024屆廣東省深圳市中考物理模擬試卷(一模)(附答案)
- 前庭功能鍛煉科普知識講座
- 供應(yīng)鏈戰(zhàn)略布局與區(qū)域拓展案例
- 上海話培訓(xùn)課件
- 注塑車間績效考核方案
- 初中英語閱讀理解專項練習(xí)26篇(含答案)
- 誦讀經(jīng)典傳承文明課件
- 高中數(shù)學(xué)選擇性必修3 教材習(xí)題答案
評論
0/150
提交評論