【正文】
入臨界區(qū)的調(diào)度原則是: ①如果有若干進(jìn)程要求進(jìn)入空閑的臨界區(qū),一次僅允許一個進(jìn)程進(jìn)入。 ②任何時候,處于臨界區(qū)內(nèi)的進(jìn)程不可多于一個。如已有進(jìn)程進(jìn)入自己的臨界區(qū),則其它所有試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待?!? ③進(jìn)入臨界區(qū)的進(jìn)程要在有限時間內(nèi)退出,以便其它進(jìn)程能及時進(jìn)入自己的臨界區(qū)?! 、苋绻M(jìn)程不能進(jìn)入自己的臨界區(qū),則應(yīng)讓出CPU,避免進(jìn)程出現(xiàn)“忙等”現(xiàn)象。 P操作順序執(zhí)行下述兩個動作: ?、傩盘柫康闹禍p1,即S=S1; ②如果S≥0,則該進(jìn)程繼續(xù)執(zhí)行; 如果S<0,則把該進(jìn)程的狀態(tài)置為阻塞態(tài),把相應(yīng)的PCB連入該信號量隊列的末尾,并放棄處理機(jī),進(jìn)行等待(直至其它進(jìn)程在S上執(zhí)行V操作,把它釋放出來為止)。 V操作順序執(zhí)行下述兩個動作: ?、賁值加1,即S=S+1; ②如果S>0,則該進(jìn)程繼續(xù)運(yùn)行; 如果S≤0,則釋放信號量隊列上的第一個PCB(即信號量指針項所指向的PCB)所對應(yīng)的進(jìn)程(把阻塞態(tài)改為就緒態(tài)),執(zhí)行V操作的進(jìn)程繼續(xù)運(yùn)行。作業(yè)調(diào)度的主要功能是:6) 記錄系統(tǒng)中各個作業(yè)的情況;7) 按照某種調(diào)度算法從后備作業(yè)隊列中挑選作業(yè);8) 為選中的作業(yè)分配內(nèi)存和外設(shè)等資源;9) 為選中的作業(yè)建立相應(yīng)的進(jìn)程;10) 作業(yè)結(jié)束后進(jìn)行善后處理工作。進(jìn)程調(diào)度的主要功能是:1) 保存當(dāng)前運(yùn)行進(jìn)程的現(xiàn)場;2) 從就緒隊列中挑選一個合適進(jìn)程;3) 為選中的進(jìn)程恢復(fù)現(xiàn)場。五、應(yīng)用題解:(1)定義二個信號量SS2,初值均為1,即:S1=1,S2=1(共2分)(2)從[1]到[8]分別為:P(S1), V(S1), P(S2), V(S2), P(S1) ,V(S1) ,P(S2) ,V(S2) 解: ①系統(tǒng)可設(shè)三個進(jìn)程來完成這個任務(wù):R進(jìn)程負(fù)責(zé)從卡片輸入機(jī)上讀入卡片信息,輸入到緩沖區(qū)B1中;C進(jìn)程負(fù)責(zé)從緩沖區(qū)B1中取出信息,進(jìn)行加工處理,之后將結(jié)果送到緩沖區(qū)B2中;P進(jìn)程負(fù)責(zé)從緩沖區(qū)B2中取出信息,并在打印機(jī)上印出?!? ②R進(jìn)程受C進(jìn)程影響,B1放滿信息后R進(jìn)程要等待——等C進(jìn)程將其中信息全部取走,才能繼續(xù)讀入信息;C進(jìn)程受R進(jìn)程和P進(jìn)程的約束:B1中信息放滿后C進(jìn)程才可從中取出它們,且B2被取空后C進(jìn)程才可將加工結(jié)果送入其中;P進(jìn)程受C進(jìn)程的約束:B2中信息放滿后P進(jìn)程才可從中取出它們,進(jìn)行打印。 ③信號量含義及初值:B1full—— 緩沖區(qū)B1滿,初值為0;B1empty——緩沖區(qū)B1空,初值為0;B2full—— 緩沖區(qū)B2滿,初值為0;B2empty——緩沖區(qū)B2空,初值為0; P(B2full);從B2中取出信息進(jìn)行打?。? V(B2empty);P(B1full);從B1中取出信息;加工信息;結(jié)果送入B2;V(B1empty);V(B2full);P(B2empty);輸入信息寫入緩沖區(qū)B1; V(B1full); P(B1empty); R進(jìn)程 C進(jìn)程 P進(jìn)程解: (1)該分時系統(tǒng)采用的進(jìn)程調(diào)度算法是時間片輪轉(zhuǎn)法。 (2)狀態(tài)變化的原因如下: ①進(jìn)程被選中,變成運(yùn)行態(tài); ②時間片到,運(yùn)行的進(jìn)程排入就緒隊列尾部; ③運(yùn)行的進(jìn)程啟動打印機(jī),等待打印; ④打印工作結(jié)束,阻塞的進(jìn)程排入就緒隊列尾部; ⑤等待磁盤讀文件工作;⑥磁盤傳輸信息結(jié)束,阻塞的進(jìn)程排入就緒隊列尾部。答:(1)full表示放有產(chǎn)品的緩沖區(qū)數(shù),初值為0;empty表示可供使用的緩沖區(qū)數(shù),初值為N;mutex為互斥信號量,初值為1,表示互斥進(jìn)入臨界區(qū)。(2)P(empty),P(mutex),V(mutex),V(full)(3)生產(chǎn)者進(jìn)程算法中的臨界區(qū)是如下程序段:產(chǎn)品送往buffer(in)。 in=(in+1) mod N。 /*mod為取模運(yùn)算*第三章 處理機(jī)管理一、單項選擇題A C A C AB B A B B 1A 二、填空題 高級調(diào)度,中級調(diào)度,低級調(diào)度 重定位 重定位 設(shè)備無關(guān)性(設(shè)備獨(dú)立性) 頁表,硬件地址變換機(jī)構(gòu) 硬件法,軟件法,軟硬件結(jié)合 分配內(nèi)存,連續(xù)的內(nèi)存,不等,連續(xù)三、計算題 解:JOB1的周轉(zhuǎn)時間為7;JOB2的周轉(zhuǎn)時間為5;JOB3的周轉(zhuǎn)時間為4;。 解: (1) 非搶占式優(yōu)先級算法(3分) 作業(yè)1 作業(yè)3 作業(yè)2 | | | | t 0 10 13 17 (2) 和(3)作業(yè)到達(dá)時間運(yùn)行時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間1010101021417163231311平均周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時間解:段式存儲管理的地址轉(zhuǎn)換過程為:(1)根據(jù)邏輯地址中的段號查段表的相應(yīng)欄目;(2)根據(jù)段內(nèi)地址段長度,檢查地址是否越界;(3)若不越界,則絕對地址=該段的主存起始地址+段內(nèi)地址。邏輯地址(2,15)查段表得段長度為20,段內(nèi)地址1520,地址不越界,段號2查表得段首地址為480,于是絕對地址為480+15=495。邏輯地址(0,60)查段表得段長度為40,段內(nèi)地址6040,地址越界,系統(tǒng)發(fā)出“地址越界”中斷。邏輯地址(3,18)查段表得段長度為20,段內(nèi)地址1820,地址不越界,段號3查表得段首地址為370,于是絕對地址=370+18=388。第四章 存儲器管理一、 單項選擇題C B B D B B A B B A 1C 1D 1A 1C 1B 1B 1C 1A 1D B 2B 二、判斷題6是正確的。改正為:固定分區(qū)式管理是支持多道程序系統(tǒng)的一種存儲管理方式。改正為:可重定位分區(qū)管理必須把作業(yè)裝入到一個連續(xù)的內(nèi)存空間中。改正為:在頁式存儲管理方案中,不允許同時使用不同大小的頁面。改正為:頁式存儲管理和段式存儲管理,一個作業(yè)都可以占用不連續(xù)的內(nèi)存空間。三、填空題 限長寄存器 二級存儲器結(jié)構(gòu),動態(tài)地址轉(zhuǎn)換機(jī)構(gòu) 頁號,物理塊號,記錄內(nèi)存頁面的分配情況 用戶,物理實現(xiàn)四、簡答題用戶程序經(jīng)編譯之后的每個目標(biāo)模塊都以0為基地址順序編址,這種地址稱為邏輯地址。 內(nèi)存中各存儲單元的地址是從統(tǒng)一的基地址順序編址,這種地址稱為物理地址。 把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的物理地址的過程叫重定位。虛擬存儲器是由操作系統(tǒng)提供的一個假想的特大存儲器。它的基本特征是: 虛擬擴(kuò)充——不是物理上,而是邏輯上擴(kuò)充了內(nèi)存容量;部分裝入——每個作業(yè)不是全部一次性地裝入內(nèi)存,而是只裝入一部分;離散分配——不必占用連續(xù)的內(nèi)存空間,而是“見縫插針”;多次對換——所需的全部程序和數(shù)據(jù)要分成多次調(diào)入內(nèi)存。五、計算題 解: 頁式存儲管理的邏輯地址分為兩部分:頁號和頁內(nèi)地址。由已知條件“用戶編程空間共32個頁面”,可知頁號部分占5位;由“每頁為1KB”,1K=210,可知內(nèi)頁地址占10位。由“內(nèi)存為16KB”,可知有16塊,塊號為4位。 邏輯地址0A5C(H)所對應(yīng)的二進(jìn)制表示形式是:000 1010 0101 1100 ,根據(jù)上面的分析,下劃線部分為頁內(nèi)地址,編碼 “000 10” 為頁號,表示該邏輯地址對應(yīng)的頁號為2。查頁表,得到物理塊號是11(十進(jìn)制),即物理塊地址為:10 11,拼接塊內(nèi)地址10 0101 1100,得10 1110 0101 1100,即2E5C(H)。2.解: 采用先進(jìn)先出(FIFO)調(diào)度算法,頁面調(diào)度過程如下:頁面次序123412512345主存頁面情況111444555222111333332224 共產(chǎn)生缺頁中斷9次。依次淘汰的頁是2。 采用最近最少使用(LRU)調(diào)度算法,頁面調(diào)度過程如下:頁面次序123412512345主存頁面情況111444533322211114433322225 共產(chǎn)生缺頁中斷10次。依次淘汰的頁是2。 第五章 文件系統(tǒng)一、單項選擇題C B C A A A B A C B 1A 1C 1A 1B 1C 1A 1A 1D 1D C 2C 2A 2D二、填空題 普通文件,目錄文件,特別文件 輸入輸出設(shè)備,設(shè)備管理程序 絕對路徑名(或全路徑名),相對路徑名 文件控制塊 物理塊 文件主,同組用戶,其他用戶 非循環(huán)圖,成組鏈接,I節(jié)點(diǎn)第六章 設(shè)備管理一、單項選擇題B D A C A C A C D B 1A 1A二、填空題 塊,字符 獨(dú)占設(shè)備,共享設(shè)備,虛擬設(shè)備 SPOOLing,獨(dú)占,共享 先來先服務(wù),優(yōu)先級高的優(yōu)先服務(wù) 設(shè)備驅(qū)動程序 取輸入,存輸出三、簡答題引入緩沖技術(shù)的主要目的是: ①緩和CPU與I/O設(shè)備間速度不匹配的矛盾; ②提高它們之間的并行性; ③減少對CPU的中斷次數(shù),放寬CPU對中斷響應(yīng)時間的要求。 設(shè)置緩沖區(qū)的原則是:如果數(shù)據(jù)到達(dá)率與離去率相差很大,則可采用單緩沖方式;如果信息的輸入和輸出速率相同(或相差不大)時,則可用雙緩沖區(qū);對于陣發(fā)性的輸入、輸出,可以設(shè)立多個緩沖區(qū)。設(shè)備驅(qū)動進(jìn)程嚴(yán)格執(zhí)行設(shè)備驅(qū)動程序中規(guī)定的各種功能,即:接受用戶的I/O請求;取出請求隊列中隊首請求,將相應(yīng)設(shè)備分配給它;啟動該設(shè)備工作,完成指定的I/O操作;處理來自設(shè)備的中斷。第七章 中斷和信號機(jī)構(gòu)一、填空題 中斷源,CPU 中斷,異常 中斷響應(yīng),中斷處理 中斷向量 用戶態(tài),核心態(tài)二、簡答題1. 中斷響應(yīng)主要做的工作是: ①中止當(dāng)前程序的執(zhí)行; ②保存原程序的斷點(diǎn)信息(主要是程序計數(shù)器PC和程序狀態(tài)寄存器PS的內(nèi)容); ③轉(zhuǎn)到相應(yīng)的處理程序。一般中斷處理的主要步驟是:保存被中斷程序的現(xiàn)場,分析中斷原因,轉(zhuǎn)入相應(yīng)處理程序進(jìn)行處理,恢復(fù)被中斷程序現(xiàn)場(即中斷返回)。第八章 死鎖單項選擇題C B B D A 第九章 現(xiàn)代操作系統(tǒng)技術(shù)與系統(tǒng)管理填空題 微內(nèi)核,調(diào)度運(yùn)行,線程 服務(wù)器,客戶機(jī)23