操作系統(tǒng)大題_第1頁
操作系統(tǒng)大題_第2頁
操作系統(tǒng)大題_第3頁
操作系統(tǒng)大題_第4頁
操作系統(tǒng)大題_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 簡述操作系統(tǒng)的基本特征。答:(1)并發(fā)。在單處理機、多道程序環(huán)境下并發(fā)是指一段時間內(nèi),宏觀上多個程序同時運行、微觀上交替運行的情形。OS中引入進程的概念就是為了實現(xiàn)并發(fā);(2) 共享。是指系統(tǒng)中并發(fā)執(zhí)行的多個進程共享系統(tǒng)資源。根據(jù)資源屬性可以有互斥共享和同時訪問兩種方式;(3) 虛擬。OS會通過虛擬技術(shù)實現(xiàn)系統(tǒng)功能的擴充。(4) 異步性。并發(fā)執(zhí)行的多個進程由于資源的限制會出現(xiàn)“走走停?!钡倪\行模式。2、 試分析引起進程阻塞和喚醒的事件主要有哪些。答:(1)請求系統(tǒng)服務。當正在執(zhí)行的進程請求系統(tǒng)提供服務而系統(tǒng)無法滿足其請求時,進程阻塞等待;由釋放服務的進程喚醒阻塞進程。(2) 啟動某種操作。當進程啟動某種I/O操作后阻塞以等待操作完成;由中斷處理程序喚醒阻塞進程。(3) 新數(shù)據(jù)尚未到達。相互合作的進程中,消費者進程阻塞等待數(shù)據(jù)到達;生產(chǎn)者進程在數(shù)據(jù)到達后喚醒阻塞進程。(4) 無新工作可做。系統(tǒng)進程沒有新工作可做時阻塞等待;當有進程發(fā)出請求時喚醒阻塞進程。3、 簡述在操作系統(tǒng)中引入緩沖的主要原因。答:(1)緩和CPU與I/O設備間速度不匹配的矛盾。(2) 減少對CPU的中斷頻率,放寬對中斷響應時間的限制。(3) 提高CPU和I/O設備之間的并行性。4、 以獨占設備為例簡述設備分配的過程。答:(1)設備的分配。根據(jù)物理設備名,查找SDT;找出該設備的DCT,得該設備的狀態(tài):忙則將進程的PCB排入設備隊列中等待;閑則分配設備給進程。(2) 控制器的分配。根據(jù)設備的DCT找到與之相連的控制器的COCT,從中得到控制器的狀態(tài):忙則將進程的PCB排入控制器的等待隊列中;閑則分配控制器給進程。(3) 通道的分配。如果系統(tǒng)有通道,則根據(jù)控制器的COCT找到與之相連的通道的CHCT,從中得到通道的狀態(tài):忙則將進程的PCB掛入通道的等待隊列中;否則分配通道給進程。只有在三者都分配成功時,設備分配才算成功。五、綜合分析題(每小題5分,共30分)1、假定一個閱覽室最多可容納100人,讀者進入和離開閱覽室時都必須在閱覽室門口的一個登記表上標志(進入時登記,離開時去掉登記項),而且每次只允許一人登記或去掉登記,問:(1) 用P、V操作管理并發(fā)進程時,應如何定義信號量?寫出信號量的初值并說明其含義;(2) 根據(jù)所定義的信號量,把應執(zhí)行的P、V操作填入以下程序中,以保證進程能夠正確地并發(fā)執(zhí)行。COBEGINPROCEDUREEnterBegin登記;進入閱覽室;閱讀;End;PROCEDURELeaveBegin去掉登記項;離開;End;COEND;【解析】(1)設置資源信號量Empty:=100,表示閱覽室中最初有100個空位;設置互斥信號量Mutex:=1,表示登記表初始是可用的。(2)按順序填入P(Empty);P(Mutex);V(Empty);2、有一個具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進程調(diào)度采用以優(yōu)先數(shù)為基礎的非搶占式調(diào)度算法。下表所列的作業(yè)優(yōu)先數(shù)即為進程優(yōu)先數(shù),優(yōu)先數(shù)越小優(yōu)先級越高。作業(yè)名到達時間估計運行時間優(yōu)先數(shù)A10:0030分5B10:2020分4C10:3040分3D10:5010分6(1) 列出所有作業(yè)進入內(nèi)存時間及結(jié)束時間;(2) 計算平均周轉(zhuǎn)時間?!窘馕觥浚?)(2)答案如下所示:作業(yè)名到達時間運行時間優(yōu)先數(shù)進入內(nèi)存時間結(jié)束時間周轉(zhuǎn)時間A10:0030分510:0010:3030分B10:2020分410:2011:3070分C10:3040分310:3011:1040分D10:5010分611:1011:4050分平均周轉(zhuǎn)時間=(30+70+40+50)/4=47.5分3、假如某個時刻的系統(tǒng)狀態(tài)如圖所示:請問:(1)對該RAG進行化簡并說明是否存在死鎖,要求給出化簡步驟;(2)如果系統(tǒng)發(fā)生了死鎖,常用的死鎖解除策略有哪些?【解析】(1)OR2OR2R1OORAG可以完全化簡,故不存在死鎖。(2)如果發(fā)生了死鎖,常用的死鎖解除策略有:剝奪資源;撤消進程。4、給出某系統(tǒng)中的進程請求表和空閑分區(qū)表,系統(tǒng)采用可變分區(qū)存儲管理策略。進程名大小A96KB20KC200K進程請求表分區(qū)號大小起始地址132K100K210K150K35K200K4218K220K596K530K空閑分區(qū)表請問:(1)若采用首次適應算法和最佳適應算法來處理這些進程序列,哪一種算法可以滿足該進程序列的請求?(2)給出按照能滿足進程序列請求的算法進行分區(qū)分配后的空閑分區(qū)表?!窘馕觥浚?)最佳適應算法可以滿足所有進程的資源請求。(2)分區(qū)分配后的空閑分區(qū)表如下:分區(qū)號大小起始地址112K120K210K150K35K200K418K420K5、在某個請求分頁存儲系統(tǒng)中,已知頁面大小為1024K?,F(xiàn)有一進程,其頁表如下:頁號塊號狀態(tài)0311212413—04—0其中,狀態(tài)位為1表示該頁在內(nèi)存,為0表示不在內(nèi)存。請問:(1)若給定一邏輯地址為2148,其物理地址為多少?(2)若給定一邏輯地址為5000,給出其物理地址的計算過程。【解析】(1)邏輯地址LA=2148,則邏輯頁號P=INT(2148/1024)=2,頁內(nèi)位移W=2148mod1024=100。查頁表知:該頁在內(nèi)存,塊號為4,由此得物理地址PA=1024*4+100=4196。(2)邏輯地址LA=5000,則邏輯頁號P=INT(5000/1024=4,查頁表知:該頁不在內(nèi)存,發(fā)生缺頁中斷。6、在一個請求分頁存儲系統(tǒng)中,一個進程的頁面走向為4,3,2,1,4,3,5,3,2,1,設分配給該進程的內(nèi)存塊數(shù)M=3,采用FIFO頁面置換算法(每調(diào)進一個新頁認為發(fā)生一次缺頁中斷)。(1)試完成下表:時刻12345678910P4321435321M=3F(2)求缺頁中斷次數(shù)F=;缺頁率f=【解析】(1)時刻12345678910P43214353214441115555M=333344442222233331F123456789(2)缺頁中斷次數(shù)為F=9次,缺頁率為f=90%。1、 名詞解釋(1) 虛擬存儲器;虛擬存儲器:由進程中的目標代碼、數(shù)據(jù)等的虛擬地址組成的虛擬空間稱為虛擬存儲器。也可解釋為僅把作業(yè)的一部分裝入內(nèi)存便可運行作業(yè)的存儲器系統(tǒng);具體地說是指具有調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容量進行擴充的一種存儲器系統(tǒng)。(2) 死鎖;死鎖:指各并發(fā)進程彼此互相等待對方所擁有的資源,而且這些并發(fā)進程在得到對方的資源之前不會釋放自己所擁有的資源。從而造成大家都想的到資源而又的不到資源,各并發(fā)進程不能繼續(xù)向前推進的狀態(tài)。2、 簡答(1)段頁式管理這種存儲管理方式中為什么要設置高速聯(lián)想寄存器?因為如果不采用高速聯(lián)想寄存器,段頁式的地址轉(zhuǎn)換需要訪問內(nèi)存的次數(shù)將達三次以上,這將使cpu執(zhí)行指令的速度大大降低,所以必須要設置高速聯(lián)想寄存器,存放當前最常用的段號、頁號和對應的內(nèi)存頁面與其它控制欄目,達到大大提高地址轉(zhuǎn)換的目的。(2)進程和程序有什么區(qū)別和聯(lián)系?a) 進程是一個動態(tài)概念,而程序是一個靜態(tài)概念,程序是指令的有序集合,無執(zhí)行含義,進程則強調(diào)執(zhí)行的過程。b) 進程具有并行特征,程序沒有。c) 進程是競爭計算機系統(tǒng)資源的基本單位。d) 不同的進程可以包含同一個程序,同一程序也可產(chǎn)生多個進程。(3) 什么是系統(tǒng)調(diào)用?簡述系統(tǒng)調(diào)用的實現(xiàn)過程。系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。編程人員利用系統(tǒng)調(diào)用,在源程序一級動態(tài)請求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。實現(xiàn)過程:用戶在程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)調(diào)用名和函數(shù)后,即產(chǎn)生一條相應的陷入指令,通過陷入處理機制調(diào)用服務,引起處理機中斷,然后保護處理機現(xiàn)場,取系統(tǒng)調(diào)用功能號并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序繼續(xù)執(zhí)行。五、綜合題(每小題6分,共30分)1、假設有四個作業(yè)的單道系統(tǒng),它們的提交、運行時間如下表所示(時間單位:小時,以十進制進行計算)。若采用基于優(yōu)先權(quán)的非搶占式調(diào)度算法(優(yōu)先數(shù)高者優(yōu)先權(quán)低),試回答:(1)作業(yè)應以怎樣的順序調(diào)度?給出分析過程。(2)計算平均帶權(quán)周轉(zhuǎn)時間。作業(yè)號到達時間運行時間/IX Wr優(yōu)先數(shù)A8.02.04B8.50.56C9.00.22D9.51.05

2、輸入進程不斷地從磁盤讀入記錄存入緩沖區(qū)(假設該緩沖區(qū)的大小正好等于兩條磁盤記錄),計算進程不斷地從緩沖區(qū)取數(shù)據(jù)進行計算,要求輸入進程和計算進程之間的合作必須保持同步:即輸入進程不能向滿的緩沖區(qū)內(nèi)存記錄,計算進程不能從空的緩沖區(qū)內(nèi)取數(shù)據(jù)。用P、V原語描述輸入進程Input和計算進程Calculate之間的合作,并回答以下問題:(1)設置信號量empty,用于查看緩沖區(qū)是否有空間存儲新記錄,其初值應為多少?設置信號量full,用于查看緩沖區(qū)內(nèi)是否放入數(shù)據(jù),其初值應為多少?(2)根據(jù)定義的信號量,將適當?shù)腜、V原語填入以下程序使并發(fā)進程能夠正確執(zhí)行。COBEGINInput:RepeatBegin讀磁盤記錄 ① ;存入緩沖區(qū);EndUntilFalse;Calculate:RepeatBegin ③ ;取出記錄;④ ^ ;進行計算;EndUntilFalse;COEND已用3、設進程A(30K)、B(70K)和C(50K)依次請求內(nèi)存分配,內(nèi)存采用可變分區(qū)管理?,F(xiàn)有兩個空閑分區(qū)F1(120K)和F2(80K),如下圖所示。若采用首次適應算法,畫出內(nèi)存分配情況示意圖。已用1200KF1(120K)1500K已用1500KF2(80K)已用4、在一個分段存儲管理系統(tǒng)中,其段表如下:段號內(nèi)存始址段長0200500125008523009041006005500120計算與給定邏輯地址LA對應的物理地址PA,給出計算過程:(1)LA=(1,50);

(2)LA=(5,350)。5、在一個請求分頁存儲管理系統(tǒng)中,某進程的頁面走向為2、3、2、1、5、2、4、5、3、2,當分配給該進程的物理塊數(shù)為3時(假設開始執(zhí)行時內(nèi)存中沒有頁面),試回答以下問題:(1) 計算采用最近最久未用LRU置換算法的缺頁率;(2) LRU置換算法選擇什么樣的頁面淘汰?1、作業(yè)號到達時間運行時間ZJX+心r優(yōu)先數(shù)開始時間完成時間周轉(zhuǎn)時間帶權(quán)時間A8.02.048.010.02.01.0B8.50.5611.211.73.26.4C9.00.2210.010.21.26.0D9.51.0510.211.21.71.7(1) 8.0時,只有A到達,調(diào)度運行,10.0完成,此時B、C、D均到達;C具有最高優(yōu)先權(quán),調(diào)度運行,10.2完成;D的優(yōu)先權(quán)較B高,調(diào)度D運行,11.2完成;11.2時調(diào)度B運行,11.7完成;故進程調(diào)度順序為:ACDB。(2) 作業(yè)A的周轉(zhuǎn)時間:10.0-8.0=2.0;帶權(quán)周轉(zhuǎn)時間:2.0/2.0=1.0;作業(yè)B的周轉(zhuǎn)時間:11.7-8.5=3.2;帶權(quán)周轉(zhuǎn)時間:3.2/0.5=6.4;作業(yè)C的周轉(zhuǎn)時間:10.2-9.0=1.2;帶權(quán)周轉(zhuǎn)時間:3.2/0.5=6.0;作業(yè)D的周轉(zhuǎn)時間:11.2-9.5=1.7;帶權(quán)周轉(zhuǎn)時間:1.7/1.0=1.7;故平均帶權(quán)周轉(zhuǎn)時間為:5.275。2、(1)資源信號量empty:=2;同步信號量full:=0;(2)①P(empty); ②;V(full) ③P(full); ④V(empty);3、4、 (1)LA=(1,50),PA=2500+50=2550;(2)LA=(5,350),因350>120發(fā)生地址越界。5、頁面走向2 3 2152453 2LRU2 2 2 22222333 3 3555555n=31114442缺頁XX XXXXX(1) 缺頁率:7/10=70%;(2) LRU置換算法選擇離當前時間最近的一段時間內(nèi)最久沒有使用過的頁面淘汰。四,簡答題從資源管理的角度說明操作系統(tǒng)的主要功能.答:進程管理(或處理器管理),存儲管理,文件管理,作業(yè)管理和設備管理.什么是操作系統(tǒng)?它的主要功能是什么?答:操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊的集合,是用戶與計算機之間的接口——它們能有效地組織和管理計算機系統(tǒng)中的硬件及軟件資源,合理地組織計算機工作流程,控制程序的執(zhí)行,并向用戶提供各種服務功能,使得用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統(tǒng)能高效地運行。操作系統(tǒng)的主要功能包括:存儲器管理、處理機管理、設備管理、文件管理以及用戶接口管理。為什么說批處理多道系統(tǒng)能極大地提高計算機系統(tǒng)的工作效率?答:①多道作業(yè)并行工作,減少了處理器的空閑時間。作業(yè)調(diào)度可以合理選擇裝入主存儲器中的作業(yè),充分利用計算機系統(tǒng)的資源。作業(yè)執(zhí)行過程中不再訪問低速設備,而直接訪問高速的磁盤設備,縮短執(zhí)行時間。作業(yè)成批輸入,減少了從操作到作業(yè)的交接時間。簡述進程的幾種狀態(tài)和引起狀態(tài)轉(zhuǎn)換的典型原因,以及相關(guān)的操作原語。試描繪出進程狀態(tài)轉(zhuǎn)換圖。答:進程的基本狀態(tài)有:新建、就緒,阻塞,執(zhí)行、掛起和終止六種。新建到就緒:交換,系統(tǒng)完成了進程創(chuàng)建操作,且當前系統(tǒng)的性能和內(nèi)存的容量均允許。創(chuàng)建原語就緒到執(zhí)行:進程調(diào)度,調(diào)度程序選擇一個新的進程運行執(zhí)行到阻塞:I/O請求,阻塞原語阻塞到就緒:I/O完成,喚醒原語執(zhí)行到就緒:時間片完;運行進程被中斷,因為一高優(yōu)先級進程處于就緒狀態(tài)阻塞到掛起:掛起原語掛起到就緒:激活原語執(zhí)行到終止:進程執(zhí)行完畢或被終止撤消原語。什么是臨界區(qū)進程進入臨界區(qū)的調(diào)度原則是什么答:在每個進程中訪問臨界資源的那段程序叫臨界區(qū)進程進入臨界區(qū)的調(diào)度原則是:如果有若干進程要求進入空閑的臨界區(qū),一次僅允許一個進程進入.任何時候,處于臨界區(qū)內(nèi)的進程不可多于一個.如已有進程進入自己的臨界區(qū),則其它所有試圖進入臨界區(qū)的進程必須等待.進入臨界區(qū)的進程要在有限時間內(nèi)退出,以便其它進程能及時進入自己的臨界區(qū).如果進程不能進入自己的臨界區(qū),則應讓出CPU,避免進程出現(xiàn)〃忙等〃現(xiàn)象.怎樣理解“計算機上由于裝有操作系統(tǒng),從而擴展了原計算機功能'?答:原來的計算機功能很小,只能進行一些基本而又非常簡單的數(shù)據(jù)運算,而自從有了操作系統(tǒng)之后,計算機功能大大增加。DOS使計算機具有了命令處理、存儲器管理、文件管理和設備管理等功能,而后,出現(xiàn)的WINDOWS各種系統(tǒng)使得計算機不但功能更加齊全,而且系統(tǒng)的工作效率大大提高,更讓用戶建立了網(wǎng)絡,共享網(wǎng)絡通信資源!一個具有分時兼批處理功能的操作系統(tǒng)應怎樣調(diào)度和管理作業(yè)答:1)優(yōu)先接納終端作業(yè),僅當終端作業(yè)數(shù)小于系統(tǒng)可以允許同時工作的作業(yè)數(shù)時,可以調(diào)度批處理作業(yè).允許終端作業(yè)和批處理作業(yè)混合同時執(zhí)行.把終端作業(yè)的就緒進程排成一個就緒隊列,把批處理作業(yè)的就緒進程排入另外的就緒隊列中.有終端作業(yè)進程就緒時,優(yōu)先讓其按〃時間片輪轉(zhuǎn)〃法先運行.沒有終端作業(yè)時再按確定算法選批處理作業(yè)就緒進程運行.在信號量S上作P、V操作時,S的值發(fā)生變化,當S>0、S=0、S<0時,它們的物理意義是什么?答:S的值表示它代表的物理資源的使用狀態(tài):S>0表示還有共享資源可供使用。S=0表示共享資源正被進程使用但沒有進程等待使用資源。S<0表示資源已被分配完,還有進程等待使用資源。處理機調(diào)度分為哪三級?各自的主要任務是什么?答:作業(yè)調(diào)度:從一批后備作業(yè)中選擇一個或幾個作業(yè),給它們分配資源,建立進程,掛入就緒隊列。執(zhí)行完后,回收資源。進程調(diào)度:從就緒進程隊列中根據(jù)某個策略選取一個進程,使之占用CPU。交換調(diào)度:按照給定的原則和策略,將外存交換區(qū)中的進程調(diào)入內(nèi)存,把內(nèi)存中的非執(zhí)行進程交換到外存交換區(qū)。試比較進程調(diào)度與作業(yè)調(diào)度的不同點.答:(1)作業(yè)調(diào)度是宏觀調(diào)度,它決定了哪一個作業(yè)能進入主存.進程調(diào)度是微觀調(diào)度,它決定各作業(yè)中的哪一個進程占有中央處理機.(或)作業(yè)調(diào)度是高級調(diào)度,它位于操作系統(tǒng)的作業(yè)管理層次.進程調(diào)度是低級調(diào)度,它位于操作系統(tǒng)分層結(jié)構(gòu)的最內(nèi)層.(2)作業(yè)調(diào)度是選符合條件的收容態(tài)作業(yè)裝入內(nèi)存.進程調(diào)度是從就緒態(tài)進程中選一個占用處理機.進程與程序是兩個完全不同的概念,但又有密切的聯(lián)系,試寫出兩者的區(qū)別。答:兩者的主要區(qū)別有:進程是動態(tài),程序是靜態(tài)的;進程是獨立運行的單位,程序不能作為運行單位;各進程間在并發(fā)執(zhí)行過程中會產(chǎn)生相互制約關(guān)系,而程序由于是靜態(tài)的,所以不存在異步特征。單道批處理系統(tǒng)中,下列三個作業(yè)采用先來先服務調(diào)試算法和最高響應比優(yōu)先算法進行調(diào)試,哪一種算法性能較好?請完成下表。作業(yè)提交時間運行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間110:002:00210:101:00310:250:25平均作業(yè)周轉(zhuǎn)時間=平均作業(yè)帶權(quán)周轉(zhuǎn)時間W=FIFO作業(yè)提交時間運行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間110:002:0010:0012:002120/120210:101:0012:0013:002:50170/60310:250:2513:0013:253180/25平均作業(yè)周轉(zhuǎn)時間=2.61平均作業(yè)帶權(quán)周轉(zhuǎn)時間W=3.34HRN作業(yè)提交時間運行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間110:002:0010:0012:002120/120210:101:0012:2513:253:15195/60310:250:2512:0012:252120/25平均作業(yè)周轉(zhuǎn)時間=2.4167平均作業(yè)帶權(quán)周轉(zhuǎn)時間W=3.02可見HRRF比FIFO要好。簡述死鎖的防止與死鎖的避免的區(qū)別.答:死鎖的防止是系統(tǒng)預先確定一些資源分配策略,進程按規(guī)定申請資源,系統(tǒng)按預先規(guī)定的策略進行分配,從而防止死鎖的發(fā)生.而死鎖的避免是當進程提出資源申請時系統(tǒng)測試資源分配,僅當能確保系統(tǒng)安全時才把資源分配給進程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖.試說明資源的靜態(tài)分配策略能防止死鎖的原因.答:資源靜態(tài)分配策略要求每個進程在開始執(zhí)行前申請所需的全部資源僅在系統(tǒng)為之分配了所需的全部資源后,該進程才開始執(zhí)行.這樣,進程在執(zhí)行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一〃占有并等待條件〃,從而防止死鎖的發(fā)生.計算機系統(tǒng)中產(chǎn)生死鎖的根本原因是什么一般解決死鎖的方法有哪三種答:計算機系統(tǒng)中產(chǎn)生死鎖的根本原因是:資源有限且操作不當.一般解決死鎖的方法有:死鎖的預防,死鎖的避免,死鎖的檢測與恢復等三種.什么是死鎖?產(chǎn)生死鎖的四個必要條件是什么?死鎖:當某進程提出資源申請后,使得系統(tǒng)中一些進程處于無休止的阻塞狀態(tài),在無外力作用下,永遠不能再繼續(xù)前進。產(chǎn)生死鎖的必要條件:互斥條件:某段時間內(nèi)某資源只能由一個進程使用。不剝奪條件:資源在未使用完前,不能被剝奪,由使用進程釋放。部分分配(請求和保持):進程因請求資源而阻塞時,對已分配給它的資源保持不放。環(huán)路條件:發(fā)生死鎖時,有向圖必構(gòu)成一環(huán)路。進程調(diào)度中〃可搶占〃和〃非搶占〃兩種方式,哪一種系統(tǒng)的開銷更大?為什么答:可搶占式會引起系統(tǒng)的開銷更大.可搶占式調(diào)度是嚴格保證任何時刻,讓具有最高優(yōu)先數(shù)(權(quán))的進程占有處理機運行,因此增加了處理機調(diào)度的時機,引起為退出處理機的進程保留現(xiàn)場,為占有處理機的進程恢復現(xiàn)場等時間(和空間)開銷增大.存儲管理的主要功能是什么答:存儲管理的主要功能包括:(1)主存空間的分配和回收;(2)將用戶的邏輯地址轉(zhuǎn)換成主存的物理地址,完成重定位;(3)主存空間的共享和保護;(4)使用〃虛擬存儲器〃,擴充主存空間.試述分區(qū)管理方案的優(yōu)缺點.答:優(yōu)點:算法較簡單,實現(xiàn)較容易,內(nèi)存開銷較少,存儲保護措施簡單.缺點:內(nèi)存使用不充分,存在較嚴重的碎片問題.虛擬存儲器的基本特征是什么?虛擬存儲器的容量主要受到哪兩方面的限制?答:虛擬存儲器的基本特征是:虛擬擴充,即不是物理上而是邏輯上擴充了內(nèi)存容量;部分裝入,即每個作業(yè)不是全部一次性地裝入內(nèi)存,而是只裝入一部分;離散分配,即不必占用連續(xù)的內(nèi)存空間,而是〃見縫插針〃;多次對換,即所需的全部程序和數(shù)據(jù)要分成多次調(diào)入內(nèi)存.虛擬存儲器的容量主要受到指令中表示地址的字長和外存的容量的限制1什么是虛擬存儲器,它有什么特點?答:虛擬存儲器是一種存儲管理技術(shù),用以完成用小的內(nèi)存實現(xiàn)在大的虛空間中程序的運行工作。它是由操作系統(tǒng)提供的一個假想的特大存儲器。但是虛擬存儲器的容量并不是無限的,它由計算機的地址結(jié)構(gòu)長度所確定,另外虛存容量的擴大是以犧牲CPU工作時間以及內(nèi)、外存交換時間為代價的。什么是動態(tài)重定位?如何實現(xiàn)?動態(tài)重定位是指在程序執(zhí)行期間,隨著每條指令和數(shù)據(jù)的訪問,自動的、連續(xù)的進行映射。具體實現(xiàn)過程為:當某個進程取得CPU控制權(quán)時,OS應負責把該作業(yè)程序在主存中的起始地址送入重定位寄存器中之后,每次訪問存儲器時,重定位寄存區(qū)的內(nèi)容將被自動加到邏輯地址中區(qū),經(jīng)這樣變換后,執(zhí)行結(jié)果是正確的。試簡述頁式存儲管理的優(yōu)缺點。答:優(yōu)點:有效地解決了碎片問題;缺點:程序的最后一頁會有浪費空間的現(xiàn)象并且不能應用在分段編寫的、非連續(xù)存放的大型程序中。影響缺頁中斷率的因素有哪些?答:4個因素,分別是:(1)分配給程序的主存塊數(shù);(2)頁面的大??;(3)程序編制方法;(4)頁面調(diào)度算法。什么是快表?它在地址轉(zhuǎn)換中起什么作用?快表是一個高速、具有并行查詢能力的聯(lián)想存儲器,用于存放正運行的進程的當前頁號和塊號,或者段號和段起始地址。加入快表后,在地址轉(zhuǎn)換時,首先在快表中查找,若找到就直接進行地址轉(zhuǎn)換;未找到,則在主存頁表繼續(xù)查找,并把查到的頁號和塊號放入聯(lián)想存儲器中??毂淼拿新屎芨?,有效地提高了地址轉(zhuǎn)換的速度。主存空間信息保護有哪些措施?程序執(zhí)行時訪問屬于自己主存區(qū)域的信息,允許它既可讀,又可寫;對共享區(qū)域中的信息只可讀,不可修改;對非共享區(qū)域或非自己的主存區(qū)域中的信息既不可讀,也不可寫。操作系統(tǒng)為用戶提供哪些接口?答:操作系統(tǒng)為用戶提供兩種類型的使用接口:一是操作員級的,它為用戶提供控制作業(yè)執(zhí)行的途徑;二是程序員級的,它為用戶程序提供服務功能。系統(tǒng)調(diào)用的執(zhí)行過程分可分為哪幾步?答:系統(tǒng)調(diào)用的執(zhí)行過程分成以下幾步:(1)設置系統(tǒng)調(diào)用號和參數(shù);(2)系統(tǒng)調(diào)用命令的一般性處理;(3)系統(tǒng)調(diào)用命令處理程序做具體處理。目前操作系統(tǒng)采用的目錄結(jié)構(gòu)是什么?它具有什么優(yōu)點?為了給用戶提供對文件的存取控制及保護功能,而按一定規(guī)則對系統(tǒng)中的文件名,(亦可包含文件屬性)進行組織所形成的表,稱為目錄表或文件目錄。目前操作系統(tǒng)采用的目錄結(jié)構(gòu)是樹型目錄結(jié)構(gòu),它的優(yōu)點有:有效地提高對目錄的檢索速度;允許文件重名;便于實現(xiàn)文件共享。試說明和比較幾種文件共享的方法繞彎路法:利用基本文件目錄實現(xiàn)文件共享:基于索引節(jié)點的共享方法:利用符號鏈實現(xiàn)文件共享:文件系統(tǒng)要解決哪些問題答:一般說來,文件系統(tǒng)應具備以下功能:文件管理(如創(chuàng)建/刪除文件,對文件的各種操作等),目錄管理(創(chuàng)建/刪除目錄項,權(quán)限驗證等),文件存儲空間的管理(如外存空間的分配與回收),文件的共享和保護,提供方便的接口(如實現(xiàn)按名存取,文件系統(tǒng)調(diào)用等).常用的文件存取控制方式有哪些答:主要有存取控制矩陣,用戶權(quán)限表,使用口令,使用密碼.UNIX/Linux文件系統(tǒng)的主要特點是什么答:UNIX/Linux文件系統(tǒng)的主要特點有:(1)UNIX或Linux文件系統(tǒng)的目錄組織是一個樹形結(jié)構(gòu);(2)文件本身是無結(jié)構(gòu)的字符流;(3)UNIX或Linux文件系統(tǒng)把外部設備做成特殊文件,與普通文件一并進行管理.請說明在生產(chǎn)者一消費者問題的描述中,P操作顛倒會產(chǎn)生死鎖嗎?為什么?答:如果將生產(chǎn)者執(zhí)行的兩個P操作順序顛倒,會產(chǎn)生死鎖。因為,在這種情況下,當緩沖區(qū)都為滿時,生產(chǎn)者仍可順利執(zhí)行P(mutex)操作,于是它獲得了對緩沖區(qū)的存取控制權(quán)。然后,當它執(zhí)行P(mutex)操作時,由于沒有空緩沖區(qū)它被掛起。能夠?qū)⑦@個生產(chǎn)者進程釋放的唯一途徑是消費者從緩沖區(qū)取出了一個產(chǎn)品,并執(zhí)行V(mutex)操作。但在此時,由于緩沖區(qū)已被掛起的生產(chǎn)者所占有,所以沒有一個消費者能夠取得對緩沖區(qū)的存取控制權(quán)。因此,出現(xiàn)了生產(chǎn)者和消費者的互相死等的局面。什么是設備獨立性,它是如何實現(xiàn)的?答:設備獨立性即應用程序獨立于使用的物理設備,在應用程序中使用邏輯設備名稱來請求使用某類設備。系統(tǒng)在執(zhí)行時,是使用物理設備名稱。要實現(xiàn)設備獨立性必須由設備獨立性軟件完成,包括執(zhí)行所有設備的公有操作軟件提供統(tǒng)一的接口,其中邏輯設備到物理設備的映射是由邏輯設備表LUT完成的。在設備管理中,按照設備共享特性分成哪幾種類型比較合理,并分別舉例說明。答:按照是否可共享,可以分成獨占設備和共享設備兩類,獨占設備不能讓多個程序同時使用,共享設備可以同時讓多個程序使用。打印機屬于獨占設備,如果多個程序同時使用打印機,則打印出來的數(shù)據(jù)就可能會隨機混合交叉在一起,所以打印機只能讓一個程序獨占。而磁盤屬于共享設備,多個程序同時在磁盤上打開文件是可以的。實現(xiàn)虛擬設備的硬件條件是什么操作系統(tǒng)應設計哪些功能程序答:硬件條件是:配置大容量的磁盤,要有中斷裝置和通道操作系統(tǒng)應設計好〃預輸入〃程序,"井管理〃程序,〃緩輸出〃程序.五,應用題假定系統(tǒng)有三個并發(fā)進程read,move和print共享緩沖器B1和B2.進程read負責從輸入設備上讀信息,每

讀出一個記錄后把它存放到緩沖器B1中.進程move從緩沖器B1中取出一記錄,加工后存入緩沖器B2.進程print將B2中的記錄取出打印輸出.緩沖器B1和B2每次只能存放一個記錄.要求三個進程協(xié)調(diào)完成任務,使打印出來的與讀入的記錄的個數(shù),次序完全一樣.請用PV操作,寫出它們的并發(fā)程序.semaphoreread()move()print()SR,SM1,SM2,SP;{{{recordB1,B2;recordX;recordY;recordZ;main()while(1)while(1)while(1){{{{SR=1;接收來自輸入設備上一個記錄P(SM1);P(SP);SM1=0;X=接收的一個記錄;Y=B1;Z=B2;SM2=1;P(SR);V(SR)V(SM2);SP=0B1=X;加工Y打印Z;cobeginV(SM1);P(SM2);}read;}B2=Y;move;V(SP);print}coend}}有兩個用戶進程A和B,在運行過程中都要使用系統(tǒng)中的一臺打印機輸出計算結(jié)果.(1) 試說明A,B兩進程之間存在什么樣的制約關(guān)系(2) 為保證這兩個進程能正確地打印出各自的結(jié)果,請用信號量和P,V操作寫出各自的有關(guān)申請,使用打印機的代碼.要求給出信號量的含義和初值.答:(1)A,B兩進程之間存在互斥制約關(guān)系.因為打印機屬于臨界資源,必須一個進程使用完之后另一個進程才能使用.(2)mutex:用于互斥的信號量,因為只有一臺打印機,所以初值為1.進程A進程BP(mutex);P(mutex);使用打印機;使用打印機;V(mutex); V(mutex); 設input進程不斷向緩沖區(qū)Q寫入信息,output進程不斷地將剛由input進程寫入的信息讀出。試問:(1) 這兩個進程有何相互制約關(guān)系?(2) 試用P、V操作寫出這兩個進程完成這項任務的代碼段和信號量的含義及初值。答:(1)這兩個進程的相互制約關(guān)系為同步關(guān)系;(2)設兩個信號量S1和S2。其中S1表示Q是否為空,初值為1,表示Q是空的;S2表示Q中是否有信息,初值為0,表示Q中無信息。兩進程的代碼段如下:

input進程{ output進程{ while信息未處理完畢while信息未處理完畢{{加工一個信息;P(S2);P(S1);從Q中讀出一個信息;將信息放入Q中;V(S1);V(S2); }}4.兩個并發(fā)執(zhí)行的進程A和B的程序如下:進程Awhile(true){N=N+5;}進程Bwhile(true){打印N的值;N=0;}其中N為整數(shù),初值為4。若進程A先執(zhí)行了三個循環(huán)后,進程A和進程B又并發(fā)執(zhí)行了一個循環(huán),寫出可能出現(xiàn)的打印值。正確的打印值應該是多少?請用P、V操作進行管理,使進程A和B并發(fā)執(zhí)行時不會出現(xiàn)與時間有關(guān)的錯誤。答:因為N初值為4,若進程A先執(zhí)行了三個循環(huán),此時N的值為19。當進程A和進程B并發(fā)執(zhí)行時可能會有如下兩種執(zhí)行次序,即進程A先執(zhí)行一次循環(huán),然后再進程B執(zhí)行一次循環(huán),此時打印的是正確值24,執(zhí)行后N中的值為0。但若進程B先執(zhí)行一次循環(huán),然后再進程A執(zhí)行一次循環(huán),則打印的值是19,執(zhí)行后N中的值是5。這是錯誤的,即發(fā)生了與時間有關(guān)的錯誤。用P、V操作進行管理,使進程A和B并發(fā)時不會出現(xiàn)與時間有關(guān)的錯誤的程序如下:(S為互斥信號量,初值為1),進程A進程Bwhile(true)while(true){{P(S);P(S);N=N+5;打印N的值;V(S);N=0;}V(S);}設在公共汽車上,司機和售票員的活動分別如下:司機的活動:啟動車輛;正常行車;到站停車。售票員的活動:關(guān)車門;售票;開車門。(1)在汽車不停地到站、停車以及行駛的過程中,司機和售票員之間的活動有什么同步關(guān)系?(6分)答:(1)售票員關(guān)車門后,向司機發(fā)開車信號,司機接到開車信號后起動車輛,在汽車正常行駛過程中售票員售票,到站時司機停車,售票員在車停后開車門讓乘客下車。定義兩個信號量:run:表示是否允許司機起動車輛stop:表示是否允許售票員開門。初值為0。請將以下描述這兩個活動的P、V操作補充完整(4分):run=0;stop=0;main(){parbegindriver();conductor();parend;}driver()conductor(){while(1){while(1)1 ;{關(guān)車門;啟動車輛;3 ;正常行車;售票.;到站停車;4 ;2 ;開車門;}上下乘客;}}}run:表示是否允許司機起動車輛,stop:表示是否允許售票員開門stop=0;run=0;main(){parbegindriver();conductor();parend;}driver()conductor(){while(1){while(1){wait(run);{關(guān)車門;啟動車輛;signal(run);正常行車;售票.;到站停車;wait(stop);signal(stop);開車門;}上下乘客;}}}6.假定在單道批處理環(huán)境下有5個作業(yè),各作業(yè)進入系統(tǒng)的時間和估計運行時間如下表所示:

作業(yè)進入系統(tǒng)時間估計運行時間/分鐘18:004028:203038:301249:001859:105(1)如果應用先來先服務的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:004028:203038:301249:001859:105作業(yè)平均周轉(zhuǎn)時間T=(2)如果應用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:004028:203038:301249:001859:105作業(yè)平均周轉(zhuǎn)時間T=答:(1)應用先來先服務的作業(yè)調(diào)度算法,表格填寫如下:作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:409:105038:30129:109:225249:00189:229:404059:1059:409:4535作業(yè)平均周轉(zhuǎn)時間T=43.4217(2)應用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,表格填寫如下:作業(yè)進入系統(tǒng)時間估計運行時間/分鐘開始時間結(jié)束時間周轉(zhuǎn)時間/分鐘18:00408:008:404028:20308:529:226238:30128:408:522249:00189:279:454559:1059:229:2717作業(yè)平均周轉(zhuǎn)時間T=37.2186

系統(tǒng)中有五個進程P、P、P、P、P,有三種類型的資源:R1、R2、和R3。在T時刻系統(tǒng)狀態(tài)如表所示。若采1 2 3 4 5 0用銀行家算法實施死鎖避免策略,回答下列問題:T0時刻是否為安全狀態(tài)?為什么?(2分)若這時P"請求資源(1,2,0),是否能實施資源分配?為什么?(4分)在上面的基礎上,若進程P"請求資源(0,1,0),是否能實施資源分配?為什么?(4分)T0時刻系統(tǒng)狀態(tài)已分配資源數(shù)量最大資源需求量R1R2R3R1R2R3P1001001P2200275P3003665P4115435P5033065R1R2R3剩余資源數(shù)330解:(共9分,每小題3分)1)T0時刻是安全的,安全序列為:P1,P4,P5,P2,P32)P4請求資源(1,2,0),根據(jù)銀行家算法,預分配后系統(tǒng)是安全的,安全序列為:P1,P4,P5,P2,P33)P3請求資源(1,1,0),根據(jù)銀行家算法,預分配后系統(tǒng)不安全,所以不能實施資源分配。1011,2148,4000,5012轉(zhuǎn)化為相應的物理地址.查頁表第0頁在第2塊,所以物理地址為3059.查頁表第2頁在第1塊,所以物理地址為1011,2148,4000,5012轉(zhuǎn)化為相應的物理地址.查頁表第0頁在第2塊,所以物理地址為3059.查頁表第2頁在第1塊,所以物理地址為1124.查頁表第3頁在第6塊,所以物理地址為7072.因頁號超過頁表長度,該邏輯地址非法.對于邏輯地址2148,P=INT(2148/1024)=2,D=2148mod1024=100,對于邏輯地址4000,P=INT(4000/1024)=3,D=4000mod1024=928,對于邏輯地址5012,P=INT(5012/1024)=4,D=5012mod1024=916,5.根據(jù)如下段表:段號基地址長度合法(0)/非法(1)03002001750054023000101032000100(1) 求出邏輯地址為[0,100]的物理地址并將其的合法性填入段上表適當位置;(2) 求出邏輯地址為[3,100]的物理地址并將其的合法性填入上表適當位置;答:(1)物理地址為:300+100=400,合法性如下表所示。(2)物理地址為:2000+100=2100,合法性如下表所示。段號基地址長度合法(0)/非法(1)0300200017500540230001010320001001在一個采用頁式虛擬存儲管理的系統(tǒng)中,有一用戶作業(yè),它依次要訪問的字地址序列是:115,228,120,88,446,102,321,432,260,167,若該作業(yè)的第0頁已經(jīng)裝入主存,現(xiàn)分配給該作業(yè)的主存共300字,頁的大小為100字,請回答下列問題:(1) 按FIFO調(diào)度算法將產(chǎn)生次缺頁中斷,依次淘汰的頁號為,缺頁中斷率為.(2) 按LRU調(diào)度算法將產(chǎn)生次缺頁中斷,依次淘汰的頁號為,缺頁中斷率為.答:(1)按FIFO調(diào)度算法將產(chǎn)生5次缺頁中斷;依次淘汰的頁號為:0,1,2;缺頁中斷率為:5/10=50%(2)按LRU調(diào)度算法將產(chǎn)生6次缺頁中斷;依次淘汰的頁號為:2,0,1,3;缺頁中斷率為:6/10=60%某系統(tǒng)的進程狀態(tài)圖如下(1) 說明一個進程發(fā)生變遷1、3、4的原因是什么?(2) 下述因果變遷是否會發(fā)生?如果有可能的話,在什么情況下發(fā)生?A)1->3 B)2->4 C)4->1 D)5->1 E)3->2解:(1)發(fā)生變遷1的原因是:當CPU空閑且高優(yōu)先就緒隊列中有進程,則從高優(yōu)先就緒隊列調(diào)一個進程到CPU上去執(zhí)行。發(fā)生變遷3的原因是:當一個在CPU上運行的進程用完它的時間片時,立即退出CPU而進入低優(yōu)先就緒隊列。發(fā)生變遷4的原因是:一個正在CPU上運行的進程需要輸入或者輸出數(shù)據(jù)時,退出CPU而進入等待隊列。(2)A)和B)的因果變遷不可能發(fā)生。C)、D)和E)有可能發(fā)生,其原因是:C) 4->1:一個正在CPU上運行的進程需要輸入或者輸出數(shù)據(jù)時,退出CPU而進入等待隊列,CPU空閑,這時若高優(yōu)先就緒隊列中有進程,則發(fā)生調(diào)度1。D) 5->1:當高優(yōu)先就緒隊列和CPU都處于空閑狀態(tài)時,一個處于等待狀態(tài)的進程被喚醒進入高優(yōu)先就緒隊列后立即被調(diào)度到CPU上去執(zhí)行。

3->2:當一個在CPU上運行的進程用完它的時間片退出CPU而進入低優(yōu)先就緒隊列時,若高優(yōu)先就緒隊

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論