




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 簡述操作系統的基本特征。答:(1)并發。在單處理機、多道程序環境下并發是指一段時間內,宏觀上多個程序同時運行、微觀上交替運行的情形。OS中引入進程的概念就是為了實現并發;(2) 共享。是指系統中并發執行的多個進程共享系統資源。根據資源屬性可以有互斥共享和同時訪問兩種方式;(3) 虛擬。OS會通過虛擬技術實現系統功能的擴充。(4) 異步性。并發執行的多個進程由于資源的限制會出現“走走停停”的運行模式。2、 試分析引起進程阻塞和喚醒的事件主要有哪些。答:(1)請求系統服務。當正在執行的進程請求系統提供服務而系統無法滿足其請求時,進程阻塞等待;由釋放服務的進程喚醒阻塞進程。(2) 啟動某種操作。當進程啟動某種I/O操作后阻塞以等待操作完成;由中斷處理程序喚醒阻塞進程。(3) 新數據尚未到達。相互合作的進程中,消費者進程阻塞等待數據到達;生產者進程在數據到達后喚醒阻塞進程。(4) 無新工作可做。系統進程沒有新工作可做時阻塞等待;當有進程發出請求時喚醒阻塞進程。3、 簡述在操作系統中引入緩沖的主要原因。答:(1)緩和CPU與I/O設備間速度不匹配的矛盾。(2) 減少對CPU的中斷頻率,放寬對中斷響應時間的限制。(3) 提高CPU和I/O設備之間的并行性。4、 以獨占設備為例簡述設備分配的過程。答:(1)設備的分配。根據物理設備名,查找SDT;找出該設備的DCT,得該設備的狀態:忙則將進程的PCB排入設備隊列中等待;閑則分配設備給進程。(2) 控制器的分配。根據設備的DCT找到與之相連的控制器的COCT,從中得到控制器的狀態:忙則將進程的PCB排入控制器的等待隊列中;閑則分配控制器給進程。(3) 通道的分配。如果系統有通道,則根據控制器的COCT找到與之相連的通道的CHCT,從中得到通道的狀態:忙則將進程的PCB掛入通道的等待隊列中;否則分配通道給進程。只有在三者都分配成功時,設備分配才算成功。五、綜合分析題(每小題5分,共30分)1、假定一個閱覽室最多可容納100人,讀者進入和離開閱覽室時都必須在閱覽室門口的一個登記表上標志(進入時登記,離開時去掉登記項),而且每次只允許一人登記或去掉登記,問:(1) 用P、V操作管理并發進程時,應如何定義信號量?寫出信號量的初值并說明其含義;(2) 根據所定義的信號量,把應執行的P、V操作填入以下程序中,以保證進程能夠正確地并發執行。COBEGINPROCEDUREEnterBegin登記;進入閱覽室;閱讀;End;PROCEDURELeaveBegin去掉登記項;離開;End;COEND;【解析】(1)設置資源信號量Empty:=100,表示閱覽室中最初有100個空位;設置互斥信號量Mutex:=1,表示登記表初始是可用的。(2)按順序填入P(Empty);P(Mutex);V(Empty);2、有一個具有兩道作業的批處理系統,作業調度采用短作業優先的調度算法,進程調度采用以優先數為基礎的非搶占式調度算法。下表所列的作業優先數即為進程優先數,優先數越小優先級越高。作業名到達時間估計運行時間優先數A10:0030分5B10:2020分4C10:3040分3D10:5010分6(1) 列出所有作業進入內存時間及結束時間;(2) 計算平均周轉時間。【解析】(1)(2)答案如下所示:作業名到達時間運行時間優先數進入內存時間結束時間周轉時間A10:0030分510:0010:3030分B10:2020分410:2011:3070分C10:3040分310:3011:1040分D10:5010分611:1011:4050分平均周轉時間=(30+70+40+50)/4=47.5分3、假如某個時刻的系統狀態如圖所示:請問:(1)對該RAG進行化簡并說明是否存在死鎖,要求給出化簡步驟;(2)如果系統發生了死鎖,常用的死鎖解除策略有哪些?【解析】(1)OR2OR2R1OORAG可以完全化簡,故不存在死鎖。(2)如果發生了死鎖,常用的死鎖解除策略有:剝奪資源;撤消進程。4、給出某系統中的進程請求表和空閑分區表,系統采用可變分區存儲管理策略。進程名大小A96KB20KC200K進程請求表分區號大小起始地址132K100K210K150K35K200K4218K220K596K530K空閑分區表請問:(1)若采用首次適應算法和最佳適應算法來處理這些進程序列,哪一種算法可以滿足該進程序列的請求?(2)給出按照能滿足進程序列請求的算法進行分區分配后的空閑分區表。【解析】(1)最佳適應算法可以滿足所有進程的資源請求。(2)分區分配后的空閑分區表如下:分區號大小起始地址112K120K210K150K35K200K418K420K5、在某個請求分頁存儲系統中,已知頁面大小為1024K。現有一進程,其頁表如下:頁號塊號狀態0311212413—04—0其中,狀態位為1表示該頁在內存,為0表示不在內存。請問:(1)若給定一邏輯地址為2148,其物理地址為多少?(2)若給定一邏輯地址為5000,給出其物理地址的計算過程。【解析】(1)邏輯地址LA=2148,則邏輯頁號P=INT(2148/1024)=2,頁內位移W=2148mod1024=100。查頁表知:該頁在內存,塊號為4,由此得物理地址PA=1024*4+100=4196。(2)邏輯地址LA=5000,則邏輯頁號P=INT(5000/1024=4,查頁表知:該頁不在內存,發生缺頁中斷。6、在一個請求分頁存儲系統中,一個進程的頁面走向為4,3,2,1,4,3,5,3,2,1,設分配給該進程的內存塊數M=3,采用FIFO頁面置換算法(每調進一個新頁認為發生一次缺頁中斷)。(1)試完成下表:時刻12345678910P4321435321M=3F(2)求缺頁中斷次數F=;缺頁率f=【解析】(1)時刻12345678910P43214353214441115555M=333344442222233331F123456789(2)缺頁中斷次數為F=9次,缺頁率為f=90%。1、 名詞解釋(1) 虛擬存儲器;虛擬存儲器:由進程中的目標代碼、數據等的虛擬地址組成的虛擬空間稱為虛擬存儲器。也可解釋為僅把作業的一部分裝入內存便可運行作業的存儲器系統;具體地說是指具有調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統。(2) 死鎖;死鎖:指各并發進程彼此互相等待對方所擁有的資源,而且這些并發進程在得到對方的資源之前不會釋放自己所擁有的資源。從而造成大家都想的到資源而又的不到資源,各并發進程不能繼續向前推進的狀態。2、 簡答(1)段頁式管理這種存儲管理方式中為什么要設置高速聯想寄存器?因為如果不采用高速聯想寄存器,段頁式的地址轉換需要訪問內存的次數將達三次以上,這將使cpu執行指令的速度大大降低,所以必須要設置高速聯想寄存器,存放當前最常用的段號、頁號和對應的內存頁面與其它控制欄目,達到大大提高地址轉換的目的。(2)進程和程序有什么區別和聯系?a) 進程是一個動態概念,而程序是一個靜態概念,程序是指令的有序集合,無執行含義,進程則強調執行的過程。b) 進程具有并行特征,程序沒有。c) 進程是競爭計算機系統資源的基本單位。d) 不同的進程可以包含同一個程序,同一程序也可產生多個進程。(3) 什么是系統調用?簡述系統調用的實現過程。系統調用是操作系統提供給編程人員的唯一接口。編程人員利用系統調用,在源程序一級動態請求和釋放系統資源,調用系統中已有的系統功能來完成那些與機器硬件部分相關的工作以及控制程序的執行速度等。實現過程:用戶在程序中使用系統調用,給出系統調用名和函數后,即產生一條相應的陷入指令,通過陷入處理機制調用服務,引起處理機中斷,然后保護處理機現場,取系統調用功能號并尋找子程序入口,通過入口地址表來調用系統子程序,然后返回用戶程序繼續執行。五、綜合題(每小題6分,共30分)1、假設有四個作業的單道系統,它們的提交、運行時間如下表所示(時間單位:小時,以十進制進行計算)。若采用基于優先權的非搶占式調度算法(優先數高者優先權低),試回答:(1)作業應以怎樣的順序調度?給出分析過程。(2)計算平均帶權周轉時間。作業號到達時間運行時間/IX Wr優先數A8.02.04B8.50.56C9.00.22D9.51.05
2、輸入進程不斷地從磁盤讀入記錄存入緩沖區(假設該緩沖區的大小正好等于兩條磁盤記錄),計算進程不斷地從緩沖區取數據進行計算,要求輸入進程和計算進程之間的合作必須保持同步:即輸入進程不能向滿的緩沖區內存記錄,計算進程不能從空的緩沖區內取數據。用P、V原語描述輸入進程Input和計算進程Calculate之間的合作,并回答以下問題:(1)設置信號量empty,用于查看緩沖區是否有空間存儲新記錄,其初值應為多少?設置信號量full,用于查看緩沖區內是否放入數據,其初值應為多少?(2)根據定義的信號量,將適當的P、V原語填入以下程序使并發進程能夠正確執行。COBEGINInput:RepeatBegin讀磁盤記錄 ① ;存入緩沖區;EndUntilFalse;Calculate:RepeatBegin ③ ;取出記錄;④ ^ ;進行計算;EndUntilFalse;COEND已用3、設進程A(30K)、B(70K)和C(50K)依次請求內存分配,內存采用可變分區管理。現有兩個空閑分區F1(120K)和F2(80K),如下圖所示。若采用首次適應算法,畫出內存分配情況示意圖。已用1200KF1(120K)1500K已用1500KF2(80K)已用4、在一個分段存儲管理系統中,其段表如下:段號內存始址段長0200500125008523009041006005500120計算與給定邏輯地址LA對應的物理地址PA,給出計算過程:(1)LA=(1,50);
(2)LA=(5,350)。5、在一個請求分頁存儲管理系統中,某進程的頁面走向為2、3、2、1、5、2、4、5、3、2,當分配給該進程的物理塊數為3時(假設開始執行時內存中沒有頁面),試回答以下問題:(1) 計算采用最近最久未用LRU置換算法的缺頁率;(2) LRU置換算法選擇什么樣的頁面淘汰?1、作業號到達時間運行時間ZJX+心r優先數開始時間完成時間周轉時間帶權時間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到達,調度運行,10.0完成,此時B、C、D均到達;C具有最高優先權,調度運行,10.2完成;D的優先權較B高,調度D運行,11.2完成;11.2時調度B運行,11.7完成;故進程調度順序為:ACDB。(2) 作業A的周轉時間:10.0-8.0=2.0;帶權周轉時間:2.0/2.0=1.0;作業B的周轉時間:11.7-8.5=3.2;帶權周轉時間:3.2/0.5=6.4;作業C的周轉時間:10.2-9.0=1.2;帶權周轉時間:3.2/0.5=6.0;作業D的周轉時間:11.2-9.5=1.7;帶權周轉時間:1.7/1.0=1.7;故平均帶權周轉時間為: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發生地址越界。5、頁面走向2 3 2152453 2LRU2 2 2 22222333 3 3555555n=31114442缺頁XX XXXXX(1) 缺頁率:7/10=70%;(2) LRU置換算法選擇離當前時間最近的一段時間內最久沒有使用過的頁面淘汰。四,簡答題從資源管理的角度說明操作系統的主要功能.答:進程管理(或處理器管理),存儲管理,文件管理,作業管理和設備管理.什么是操作系統?它的主要功能是什么?答:操作系統是計算機系統中的一個系統軟件,它是這樣一些程序模塊的集合,是用戶與計算機之間的接口——它們能有效地組織和管理計算機系統中的硬件及軟件資源,合理地組織計算機工作流程,控制程序的執行,并向用戶提供各種服務功能,使得用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統能高效地運行。操作系統的主要功能包括:存儲器管理、處理機管理、設備管理、文件管理以及用戶接口管理。為什么說批處理多道系統能極大地提高計算機系統的工作效率?答:①多道作業并行工作,減少了處理器的空閑時間。作業調度可以合理選擇裝入主存儲器中的作業,充分利用計算機系統的資源。作業執行過程中不再訪問低速設備,而直接訪問高速的磁盤設備,縮短執行時間。作業成批輸入,減少了從操作到作業的交接時間。簡述進程的幾種狀態和引起狀態轉換的典型原因,以及相關的操作原語。試描繪出進程狀態轉換圖。答:進程的基本狀態有:新建、就緒,阻塞,執行、掛起和終止六種。新建到就緒:交換,系統完成了進程創建操作,且當前系統的性能和內存的容量均允許。創建原語就緒到執行:進程調度,調度程序選擇一個新的進程運行執行到阻塞:I/O請求,阻塞原語阻塞到就緒:I/O完成,喚醒原語執行到就緒:時間片完;運行進程被中斷,因為一高優先級進程處于就緒狀態阻塞到掛起:掛起原語掛起到就緒:激活原語執行到終止:進程執行完畢或被終止撤消原語。什么是臨界區進程進入臨界區的調度原則是什么答:在每個進程中訪問臨界資源的那段程序叫臨界區進程進入臨界區的調度原則是:如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入.任何時候,處于臨界區內的進程不可多于一個.如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待.進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區.如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現〃忙等〃現象.怎樣理解“計算機上由于裝有操作系統,從而擴展了原計算機功能'?答:原來的計算機功能很小,只能進行一些基本而又非常簡單的數據運算,而自從有了操作系統之后,計算機功能大大增加。DOS使計算機具有了命令處理、存儲器管理、文件管理和設備管理等功能,而后,出現的WINDOWS各種系統使得計算機不但功能更加齊全,而且系統的工作效率大大提高,更讓用戶建立了網絡,共享網絡通信資源!一個具有分時兼批處理功能的操作系統應怎樣調度和管理作業答:1)優先接納終端作業,僅當終端作業數小于系統可以允許同時工作的作業數時,可以調度批處理作業.允許終端作業和批處理作業混合同時執行.把終端作業的就緒進程排成一個就緒隊列,把批處理作業的就緒進程排入另外的就緒隊列中.有終端作業進程就緒時,優先讓其按〃時間片輪轉〃法先運行.沒有終端作業時再按確定算法選批處理作業就緒進程運行.在信號量S上作P、V操作時,S的值發生變化,當S>0、S=0、S<0時,它們的物理意義是什么?答:S的值表示它代表的物理資源的使用狀態:S>0表示還有共享資源可供使用。S=0表示共享資源正被進程使用但沒有進程等待使用資源。S<0表示資源已被分配完,還有進程等待使用資源。處理機調度分為哪三級?各自的主要任務是什么?答:作業調度:從一批后備作業中選擇一個或幾個作業,給它們分配資源,建立進程,掛入就緒隊列。執行完后,回收資源。進程調度:從就緒進程隊列中根據某個策略選取一個進程,使之占用CPU。交換調度:按照給定的原則和策略,將外存交換區中的進程調入內存,把內存中的非執行進程交換到外存交換區。試比較進程調度與作業調度的不同點.答:(1)作業調度是宏觀調度,它決定了哪一個作業能進入主存.進程調度是微觀調度,它決定各作業中的哪一個進程占有中央處理機.(或)作業調度是高級調度,它位于操作系統的作業管理層次.進程調度是低級調度,它位于操作系統分層結構的最內層.(2)作業調度是選符合條件的收容態作業裝入內存.進程調度是從就緒態進程中選一個占用處理機.進程與程序是兩個完全不同的概念,但又有密切的聯系,試寫出兩者的區別。答:兩者的主要區別有:進程是動態,程序是靜態的;進程是獨立運行的單位,程序不能作為運行單位;各進程間在并發執行過程中會產生相互制約關系,而程序由于是靜態的,所以不存在異步特征。單道批處理系統中,下列三個作業采用先來先服務調試算法和最高響應比優先算法進行調試,哪一種算法性能較好?請完成下表。作業提交時間運行時間開始時間完成時間周轉時間帶權周轉時間110:002:00210:101:00310:250:25平均作業周轉時間=平均作業帶權周轉時間W=FIFO作業提交時間運行時間開始時間完成時間周轉時間帶權周轉時間110:002:0010:0012:002120/120210:101:0012:0013:002:50170/60310:250:2513:0013:253180/25平均作業周轉時間=2.61平均作業帶權周轉時間W=3.34HRN作業提交時間運行時間開始時間完成時間周轉時間帶權周轉時間110:002:0010:0012:002120/120210:101:0012:2513:253:15195/60310:250:2512:0012:252120/25平均作業周轉時間=2.4167平均作業帶權周轉時間W=3.02可見HRRF比FIFO要好。簡述死鎖的防止與死鎖的避免的區別.答:死鎖的防止是系統預先確定一些資源分配策略,進程按規定申請資源,系統按預先規定的策略進行分配,從而防止死鎖的發生.而死鎖的避免是當進程提出資源申請時系統測試資源分配,僅當能確保系統安全時才把資源分配給進程,使系統一直處于安全狀態之中,從而避免死鎖.試說明資源的靜態分配策略能防止死鎖的原因.答:資源靜態分配策略要求每個進程在開始執行前申請所需的全部資源僅在系統為之分配了所需的全部資源后,該進程才開始執行.這樣,進程在執行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一〃占有并等待條件〃,從而防止死鎖的發生.計算機系統中產生死鎖的根本原因是什么一般解決死鎖的方法有哪三種答:計算機系統中產生死鎖的根本原因是:資源有限且操作不當.一般解決死鎖的方法有:死鎖的預防,死鎖的避免,死鎖的檢測與恢復等三種.什么是死鎖?產生死鎖的四個必要條件是什么?死鎖:當某進程提出資源申請后,使得系統中一些進程處于無休止的阻塞狀態,在無外力作用下,永遠不能再繼續前進。產生死鎖的必要條件:互斥條件:某段時間內某資源只能由一個進程使用。不剝奪條件:資源在未使用完前,不能被剝奪,由使用進程釋放。部分分配(請求和保持):進程因請求資源而阻塞時,對已分配給它的資源保持不放。環路條件:發生死鎖時,有向圖必構成一環路。進程調度中〃可搶占〃和〃非搶占〃兩種方式,哪一種系統的開銷更大?為什么答:可搶占式會引起系統的開銷更大.可搶占式調度是嚴格保證任何時刻,讓具有最高優先數(權)的進程占有處理機運行,因此增加了處理機調度的時機,引起為退出處理機的進程保留現場,為占有處理機的進程恢復現場等時間(和空間)開銷增大.存儲管理的主要功能是什么答:存儲管理的主要功能包括:(1)主存空間的分配和回收;(2)將用戶的邏輯地址轉換成主存的物理地址,完成重定位;(3)主存空間的共享和保護;(4)使用〃虛擬存儲器〃,擴充主存空間.試述分區管理方案的優缺點.答:優點:算法較簡單,實現較容易,內存開銷較少,存儲保護措施簡單.缺點:內存使用不充分,存在較嚴重的碎片問題.虛擬存儲器的基本特征是什么?虛擬存儲器的容量主要受到哪兩方面的限制?答:虛擬存儲器的基本特征是:虛擬擴充,即不是物理上而是邏輯上擴充了內存容量;部分裝入,即每個作業不是全部一次性地裝入內存,而是只裝入一部分;離散分配,即不必占用連續的內存空間,而是〃見縫插針〃;多次對換,即所需的全部程序和數據要分成多次調入內存.虛擬存儲器的容量主要受到指令中表示地址的字長和外存的容量的限制1什么是虛擬存儲器,它有什么特點?答:虛擬存儲器是一種存儲管理技術,用以完成用小的內存實現在大的虛空間中程序的運行工作。它是由操作系統提供的一個假想的特大存儲器。但是虛擬存儲器的容量并不是無限的,它由計算機的地址結構長度所確定,另外虛存容量的擴大是以犧牲CPU工作時間以及內、外存交換時間為代價的。什么是動態重定位?如何實現?動態重定位是指在程序執行期間,隨著每條指令和數據的訪問,自動的、連續的進行映射。具體實現過程為:當某個進程取得CPU控制權時,OS應負責把該作業程序在主存中的起始地址送入重定位寄存器中之后,每次訪問存儲器時,重定位寄存區的內容將被自動加到邏輯地址中區,經這樣變換后,執行結果是正確的。試簡述頁式存儲管理的優缺點。答:優點:有效地解決了碎片問題;缺點:程序的最后一頁會有浪費空間的現象并且不能應用在分段編寫的、非連續存放的大型程序中。影響缺頁中斷率的因素有哪些?答:4個因素,分別是:(1)分配給程序的主存塊數;(2)頁面的大小;(3)程序編制方法;(4)頁面調度算法。什么是快表?它在地址轉換中起什么作用?快表是一個高速、具有并行查詢能力的聯想存儲器,用于存放正運行的進程的當前頁號和塊號,或者段號和段起始地址。加入快表后,在地址轉換時,首先在快表中查找,若找到就直接進行地址轉換;未找到,則在主存頁表繼續查找,并把查到的頁號和塊號放入聯想存儲器中。快表的命中率很高,有效地提高了地址轉換的速度。主存空間信息保護有哪些措施?程序執行時訪問屬于自己主存區域的信息,允許它既可讀,又可寫;對共享區域中的信息只可讀,不可修改;對非共享區域或非自己的主存區域中的信息既不可讀,也不可寫。操作系統為用戶提供哪些接口?答:操作系統為用戶提供兩種類型的使用接口:一是操作員級的,它為用戶提供控制作業執行的途徑;二是程序員級的,它為用戶程序提供服務功能。系統調用的執行過程分可分為哪幾步?答:系統調用的執行過程分成以下幾步:(1)設置系統調用號和參數;(2)系統調用命令的一般性處理;(3)系統調用命令處理程序做具體處理。目前操作系統采用的目錄結構是什么?它具有什么優點?為了給用戶提供對文件的存取控制及保護功能,而按一定規則對系統中的文件名,(亦可包含文件屬性)進行組織所形成的表,稱為目錄表或文件目錄。目前操作系統采用的目錄結構是樹型目錄結構,它的優點有:有效地提高對目錄的檢索速度;允許文件重名;便于實現文件共享。試說明和比較幾種文件共享的方法繞彎路法:利用基本文件目錄實現文件共享:基于索引節點的共享方法:利用符號鏈實現文件共享:文件系統要解決哪些問題答:一般說來,文件系統應具備以下功能:文件管理(如創建/刪除文件,對文件的各種操作等),目錄管理(創建/刪除目錄項,權限驗證等),文件存儲空間的管理(如外存空間的分配與回收),文件的共享和保護,提供方便的接口(如實現按名存取,文件系統調用等).常用的文件存取控制方式有哪些答:主要有存取控制矩陣,用戶權限表,使用口令,使用密碼.UNIX/Linux文件系統的主要特點是什么答:UNIX/Linux文件系統的主要特點有:(1)UNIX或Linux文件系統的目錄組織是一個樹形結構;(2)文件本身是無結構的字符流;(3)UNIX或Linux文件系統把外部設備做成特殊文件,與普通文件一并進行管理.請說明在生產者一消費者問題的描述中,P操作顛倒會產生死鎖嗎?為什么?答:如果將生產者執行的兩個P操作順序顛倒,會產生死鎖。因為,在這種情況下,當緩沖區都為滿時,生產者仍可順利執行P(mutex)操作,于是它獲得了對緩沖區的存取控制權。然后,當它執行P(mutex)操作時,由于沒有空緩沖區它被掛起。能夠將這個生產者進程釋放的唯一途徑是消費者從緩沖區取出了一個產品,并執行V(mutex)操作。但在此時,由于緩沖區已被掛起的生產者所占有,所以沒有一個消費者能夠取得對緩沖區的存取控制權。因此,出現了生產者和消費者的互相死等的局面。什么是設備獨立性,它是如何實現的?答:設備獨立性即應用程序獨立于使用的物理設備,在應用程序中使用邏輯設備名稱來請求使用某類設備。系統在執行時,是使用物理設備名稱。要實現設備獨立性必須由設備獨立性軟件完成,包括執行所有設備的公有操作軟件提供統一的接口,其中邏輯設備到物理設備的映射是由邏輯設備表LUT完成的。在設備管理中,按照設備共享特性分成哪幾種類型比較合理,并分別舉例說明。答:按照是否可共享,可以分成獨占設備和共享設備兩類,獨占設備不能讓多個程序同時使用,共享設備可以同時讓多個程序使用。打印機屬于獨占設備,如果多個程序同時使用打印機,則打印出來的數據就可能會隨機混合交叉在一起,所以打印機只能讓一個程序獨占。而磁盤屬于共享設備,多個程序同時在磁盤上打開文件是可以的。實現虛擬設備的硬件條件是什么操作系統應設計哪些功能程序答:硬件條件是:配置大容量的磁盤,要有中斷裝置和通道操作系統應設計好〃預輸入〃程序,"井管理〃程序,〃緩輸出〃程序.五,應用題假定系統有三個并發進程read,move和print共享緩沖器B1和B2.進程read負責從輸入設備上讀信息,每
讀出一個記錄后把它存放到緩沖器B1中.進程move從緩沖器B1中取出一記錄,加工后存入緩沖器B2.進程print將B2中的記錄取出打印輸出.緩沖器B1和B2每次只能存放一個記錄.要求三個進程協調完成任務,使打印出來的與讀入的記錄的個數,次序完全一樣.請用PV操作,寫出它們的并發程序.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,在運行過程中都要使用系統中的一臺打印機輸出計算結果.(1) 試說明A,B兩進程之間存在什么樣的制約關系(2) 為保證這兩個進程能正確地打印出各自的結果,請用信號量和P,V操作寫出各自的有關申請,使用打印機的代碼.要求給出信號量的含義和初值.答:(1)A,B兩進程之間存在互斥制約關系.因為打印機屬于臨界資源,必須一個進程使用完之后另一個進程才能使用.(2)mutex:用于互斥的信號量,因為只有一臺打印機,所以初值為1.進程A進程BP(mutex);P(mutex);使用打印機;使用打印機;V(mutex); V(mutex); 設input進程不斷向緩沖區Q寫入信息,output進程不斷地將剛由input進程寫入的信息讀出。試問:(1) 這兩個進程有何相互制約關系?(2) 試用P、V操作寫出這兩個進程完成這項任務的代碼段和信號量的含義及初值。答:(1)這兩個進程的相互制約關系為同步關系;(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.兩個并發執行的進程A和B的程序如下:進程Awhile(true){N=N+5;}進程Bwhile(true){打印N的值;N=0;}其中N為整數,初值為4。若進程A先執行了三個循環后,進程A和進程B又并發執行了一個循環,寫出可能出現的打印值。正確的打印值應該是多少?請用P、V操作進行管理,使進程A和B并發執行時不會出現與時間有關的錯誤。答:因為N初值為4,若進程A先執行了三個循環,此時N的值為19。當進程A和進程B并發執行時可能會有如下兩種執行次序,即進程A先執行一次循環,然后再進程B執行一次循環,此時打印的是正確值24,執行后N中的值為0。但若進程B先執行一次循環,然后再進程A執行一次循環,則打印的值是19,執行后N中的值是5。這是錯誤的,即發生了與時間有關的錯誤。用P、V操作進行管理,使進程A和B并發時不會出現與時間有關的錯誤的程序如下:(S為互斥信號量,初值為1),進程A進程Bwhile(true)while(true){{P(S);P(S);N=N+5;打印N的值;V(S);N=0;}V(S);}設在公共汽車上,司機和售票員的活動分別如下:司機的活動:啟動車輛;正常行車;到站停車。售票員的活動:關車門;售票;開車門。(1)在汽車不停地到站、停車以及行駛的過程中,司機和售票員之間的活動有什么同步關系?(6分)答:(1)售票員關車門后,向司機發開車信號,司機接到開車信號后起動車輛,在汽車正常行駛過程中售票員售票,到站時司機停車,售票員在車停后開車門讓乘客下車。定義兩個信號量:run:表示是否允許司機起動車輛stop:表示是否允許售票員開門。初值為0。請將以下描述這兩個活動的P、V操作補充完整(4分):run=0;stop=0;main(){parbegindriver();conductor();parend;}driver()conductor(){while(1){while(1)1 ;{關車門;啟動車輛;3 ;正常行車;售票.;到站停車;4 ;2 ;開車門;}上下乘客;}}}run:表示是否允許司機起動車輛,stop:表示是否允許售票員開門stop=0;run=0;main(){parbegindriver();conductor();parend;}driver()conductor(){while(1){while(1){wait(run);{關車門;啟動車輛;signal(run);正常行車;售票.;到站停車;wait(stop);signal(stop);開車門;}上下乘客;}}}6.假定在單道批處理環境下有5個作業,各作業進入系統的時間和估計運行時間如下表所示:
作業進入系統時間估計運行時間/分鐘18:004028:203038:301249:001859:105(1)如果應用先來先服務的作業調度算法,試將下面表格填寫完整。作業進入系統時間估計運行時間/分鐘開始時間結束時間周轉時間/分鐘18:004028:203038:301249:001859:105作業平均周轉時間T=(2)如果應用最短作業優先的作業調度算法,試將下面表格填寫完整。作業進入系統時間估計運行時間/分鐘開始時間結束時間周轉時間/分鐘18:004028:203038:301249:001859:105作業平均周轉時間T=答:(1)應用先來先服務的作業調度算法,表格填寫如下:作業進入系統時間估計運行時間/分鐘開始時間結束時間周轉時間/分鐘18:00408:008:404028:20308:409:105038:30129:109:225249:00189:229:404059:1059:409:4535作業平均周轉時間T=43.4217(2)應用最短作業優先的作業調度算法,表格填寫如下:作業進入系統時間估計運行時間/分鐘開始時間結束時間周轉時間/分鐘18:00408:008:404028:20308:529:226238:30128:408:522249:00189:279:454559:1059:229:2717作業平均周轉時間T=37.2186
系統中有五個進程P、P、P、P、P,有三種類型的資源:R1、R2、和R3。在T時刻系統狀態如表所示。若采1 2 3 4 5 0用銀行家算法實施死鎖避免策略,回答下列問題:T0時刻是否為安全狀態?為什么?(2分)若這時P"請求資源(1,2,0),是否能實施資源分配?為什么?(4分)在上面的基礎上,若進程P"請求資源(0,1,0),是否能實施資源分配?為什么?(4分)T0時刻系統狀態已分配資源數量最大資源需求量R1R2R3R1R2R3P1001001P2200275P3003665P4115435P5033065R1R2R3剩余資源數330解:(共9分,每小題3分)1)T0時刻是安全的,安全序列為:P1,P4,P5,P2,P32)P4請求資源(1,2,0),根據銀行家算法,預分配后系統是安全的,安全序列為:P1,P4,P5,P2,P33)P3請求資源(1,1,0),根據銀行家算法,預分配后系統不安全,所以不能實施資源分配。1011,2148,4000,5012轉化為相應的物理地址.查頁表第0頁在第2塊,所以物理地址為3059.查頁表第2頁在第1塊,所以物理地址為1011,2148,4000,5012轉化為相應的物理地址.查頁表第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.根據如下段表:段號基地址長度合法(0)/非法(1)03002001750054023000101032000100(1) 求出邏輯地址為[0,100]的物理地址并將其的合法性填入段上表適當位置;(2) 求出邏輯地址為[3,100]的物理地址并將其的合法性填入上表適當位置;答:(1)物理地址為:300+100=400,合法性如下表所示。(2)物理地址為:2000+100=2100,合法性如下表所示。段號基地址長度合法(0)/非法(1)0300200017500540230001010320001001在一個采用頁式虛擬存儲管理的系統中,有一用戶作業,它依次要訪問的字地址序列是:115,228,120,88,446,102,321,432,260,167,若該作業的第0頁已經裝入主存,現分配給該作業的主存共300字,頁的大小為100字,請回答下列問題:(1) 按FIFO調度算法將產生次缺頁中斷,依次淘汰的頁號為,缺頁中斷率為.(2) 按LRU調度算法將產生次缺頁中斷,依次淘汰的頁號為,缺頁中斷率為.答:(1)按FIFO調度算法將產生5次缺頁中斷;依次淘汰的頁號為:0,1,2;缺頁中斷率為:5/10=50%(2)按LRU調度算法將產生6次缺頁中斷;依次淘汰的頁號為:2,0,1,3;缺頁中斷率為:6/10=60%某系統的進程狀態圖如下(1) 說明一個進程發生變遷1、3、4的原因是什么?(2) 下述因果變遷是否會發生?如果有可能的話,在什么情況下發生?A)1->3 B)2->4 C)4->1 D)5->1 E)3->2解:(1)發生變遷1的原因是:當CPU空閑且高優先就緒隊列中有進程,則從高優先就緒隊列調一個進程到CPU上去執行。發生變遷3的原因是:當一個在CPU上運行的進程用完它的時間片時,立即退出CPU而進入低優先就緒隊列。發生變遷4的原因是:一個正在CPU上運行的進程需要輸入或者輸出數據時,退出CPU而進入等待隊列。(2)A)和B)的因果變遷不可能發生。C)、D)和E)有可能發生,其原因是:C) 4->1:一個正在CPU上運行的進程需要輸入或者輸出數據時,退出CPU而進入等待隊列,CPU空閑,這時若高優先就緒隊列中有進程,則發生調度1。D) 5->1:當高優先就緒隊列和CPU都處于空閑狀態時,一個處于等待狀態的進程被喚醒進入高優先就緒隊列后立即被調度到CPU上去執行。
3->2:當一個在CPU上運行的進程用完它的時間片退出CPU而進入低優先就緒隊列時,若高優先就緒隊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫診所轉讓合同標準文本
- 個人桑蠶養殖合同樣本
- 養殖設備出貨合同樣本
- 中介協議與合同樣本
- 內購房轉讓合同標準文本
- 供貨月結合同樣本
- 保溫工程合同樣本
- 個人房貸結清合同標準文本
- 書畫買賣合同樣本
- 公建房使用合同樣本
- 學習通《《詩經》導讀》習題(含答案)
- 2025-2030智能代步車產業市場現狀供需分析及重點企業投資評估規劃分析研究報告
- 全媒體內容編輯技巧試題及答案
- 2025屆廣東省燕博園聯考(CAT)高三下學期3月模擬測試物理試題(含答案)
- 2025-2030中國SP導電炭黑市場現狀調研與前景研究報告
- 眼視光技術考試題(含答案)
- 垃圾清運合同范本模板
- 2025年“世界水日”活動知識競賽考試指導題庫100題(含答案)
- YS/T 3045-2022埋管滴淋堆浸提金技術規范
- 《煤礦安全生產責任制》培訓課件2025
- T-SZSA 030.1-2024 醫院及醫療機構建筑空間照明技術規范 第1部分:總規范
評論
0/150
提交評論