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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE17計算機操作系統(tǒng)作業(yè)專業(yè)班級:信管1302姓名:張美芝學號:130404017目錄第一章 3第二章 6第三章 9第四章 15第五章 18第七章 21第一章思考與練習題什么是操作系統(tǒng)?它的主要功能是什么?答:操作系統(tǒng)是用來管理計算機系統(tǒng)的,是所有其他軟件運行的基礎,從資源管理的角度來看,操作系統(tǒng)是對計算機系統(tǒng)內的所有軟、硬件資源進行管理和控制,優(yōu)化資源的利用,協(xié)調系統(tǒng)內的各種活動,處理可能出現的各種問題。它的主要功能:(1)存儲管理:方便用戶使用內存,提高內存利用率以及從邏輯上擴充內存。(2)處理機(CPU)管理:協(xié)調多道程序之間的關系,解決對處理機的調度分配及回收等問題。(3)設備管理:①完成用戶提出的輸入輸出請求,為用戶分配外部設備。②提高外部設備利用率。③盡可能地提高輸入輸出的速度。④方便用戶使用外部設備。(4)信息管理:向用戶提供一種簡便、統(tǒng)一的存取和管理信息的方法,并同時解決信息的共享、安全保密等問題。(5)用戶接口:為了方便用戶使用操作系統(tǒng),向用戶提供給了用戶與操作系統(tǒng)的接口。什么是多道程序設計技術?多道程序設計技術的主要特點是什么?答:多道程序設計技術是指把多個程序同時放入內存,使他們共享系統(tǒng)中的資源,并使他們交替地執(zhí)行,當一道程序暫停執(zhí)行時,系統(tǒng)調度另一道程序運行,使CPU一直處于忙碌狀態(tài)。主要特點:(1)多道,即計算機內存中同時存放多道相互獨立的程序。(2)宏觀上并行,是指同時進入系統(tǒng)的多道程序都處于運行過程中。(3)微觀上串行,是指在單處理環(huán)境下,內存中的多道程序輪流地占有CPU,交替執(zhí)行。批處理系統(tǒng)是怎樣的一種操作系統(tǒng)?它的特點是什么?答:批處理操作系統(tǒng)是一種基本的操作系統(tǒng)類型,在該系統(tǒng)中,用戶的作業(yè)(包括程序、數據及程序的處理步驟)被成批地輸入到計算機中,然后在操作系統(tǒng)的控制下,用戶的作業(yè)自動地執(zhí)行。批處理系統(tǒng)的特點:(1)資源利用率大。(2)系統(tǒng)吞吐量大。(3)平均周轉時間長。(2)無交互能力。什么是分時系統(tǒng)?什么是實時系統(tǒng)?試從交互性、及時性、獨立性、多路性和可靠性幾個方面比較分時系統(tǒng)和實時系統(tǒng)。答:分時系統(tǒng)是指一個計算機和許多終端設備連接,每個用戶通過終端向計算機發(fā)出命令,以交互方式使用計算機,共享主機中的資源的一種操作系統(tǒng)。實時系統(tǒng)是指當有外來信息時,計算機能夠接受并及時處理,在被控對象允許的范圍內做出快速反應,并控制所有實時任務協(xié)調一致運行的操作系統(tǒng)。實時系統(tǒng)與分時系統(tǒng)的比較:多路性:在分時系統(tǒng)中,按原則為多個終端用戶提供服務。而對于實時控制系統(tǒng),其多路性主要表現在經常對多路的現場信息進行采集以及對多個對象或多個執(zhí)行機構進行控制。獨立性:不管是實時信息處理系統(tǒng)還是實時控制系統(tǒng),與分時系統(tǒng)一樣具有獨立性。每個終端用戶在向系統(tǒng)提出服務請求時是彼此獨立地工作、互不干擾。交互性:實時信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互,僅限于訪問系統(tǒng)中某些特定的專用服務程序。而分時系統(tǒng)那樣向終端用戶提供數據處理、資源共享等服務。及時性:實時信息處理系統(tǒng)對及時性的要求與分時系統(tǒng)類似,都以人們能夠接受的等待時間來確定。而實時控制系統(tǒng)對及時性要求更高,是以控制對象所要求的開始截止時間或完成截止時間來確定的??煽啃裕悍謺r系統(tǒng)雖然也要求具有可靠性,但相比之下,實時系統(tǒng)則要求系統(tǒng)高度可靠。實時系統(tǒng)分為哪兩種類型?答:(1)實時控制系統(tǒng):能對輸入作出快速處理,并能及時提供輸出操作信號的計算機控制系統(tǒng)。(2)實時信息處理系統(tǒng):通常是把要求對信息進行實時處理的系統(tǒng)。操作系統(tǒng)的主要特征是什么?答:(1)并發(fā)性:用戶與用戶之間的并發(fā)執(zhí)行;用戶和操作系統(tǒng)程序之間的并發(fā)執(zhí)行。(2)共享性:各種資源供運行的程序共同享用。(3)虛擬性:通過技術手段把一個物理實體變成多個邏輯上的對應物。(4)不確定性:在一個不確定的環(huán)境下運行,人們不能對目前所運行的程序的行為做出判斷。操作系統(tǒng)與用戶的接口有幾種?它們各自用在什么場合?答:兩種,分為命令接口、程序接口命令接口:可分為聯機命令接口、脫機命令接口和圖形用戶界面接口。方便用戶直接控制自己的作業(yè)而提供的接口,其中聯機命令接口是為聯機用戶提供,脫機命令接口是為批處理用戶提供,而圖形用戶接口是采用圖形化方式顯示的操作界面。程序接口:又稱系統(tǒng)調用,是為用戶在程序一級訪問操作系統(tǒng)功能而設置的?!安僮飨到y(tǒng)是控制硬件的軟件”這一說法確切嗎?為什么?答:不確切,操作系統(tǒng)不僅僅是控制硬件,其他所有的軟件,如匯編程序、編譯程序、數據庫系統(tǒng)及大量的應用軟件,都依賴與操作系統(tǒng)的支持,所以操作系統(tǒng)還控制計算機軟件。9.設內存中有三道程序,A、B、C,他們按A→B→C的先后次序執(zhí)行,它們進行“計算”和“I/O操作”的時間表1-2所示,假設三道程序使用相同的I/O設備。表1-2三道程序的操作時間操作程序計算I/O操作計算A203010B305020C102010試畫出單道運行時三道程序的時間關系圖,并計算完成三道程序要花多長時間。單道程序時間關系圖20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms試畫出多道運行時三道程序的時間關系圖,并計算完成三道程序要花多長時間。多道程序時間關系圖20ms+30ms+10ms+40ms+20ms+10ms=130ms10.將下列左右兩列詞連接起來形成意義最恰當的的5對。第二章思考與練習題操作系統(tǒng)中為什么要引入進程的概念?為了實現并發(fā)進程之間的合作和協(xié)調,以及保證系統(tǒng)的安全,操作系統(tǒng)在進程管理方面要做哪些工作?答:操作系統(tǒng)引入進程的概念是為了從變化的角度動態(tài)地分析研究可以并發(fā)執(zhí)行的程序,真實地反映系統(tǒng)的獨立性、并發(fā)性、動態(tài)性和相互制約。操作系統(tǒng)的進程管理提供大量的服務,用來定義、支持和管理系統(tǒng)中的進程和線程。它除了負責進程和線程的管理之外,還負責用戶進程和系統(tǒng)進程的創(chuàng)建與撤銷、進程調度等。2.試描述當前正在運行的進程狀態(tài)改變時,操作系統(tǒng)進行進程切換的步驟。答:①運行狀態(tài)→就緒狀態(tài)。正在運行的進程,由于規(guī)定的時間片用完而被暫停執(zhí)行,該進程就會從運行狀態(tài)轉變?yōu)榫途w狀態(tài)。此進程根據其自身的情況(如優(yōu)先級)插入到就緒隊列的適當位置,系統(tǒng)收回處理機轉入進程調度程序重新進行調度。②運行狀態(tài)→阻塞狀態(tài)。處于運行狀態(tài)的進程,除了因為時間片用完而暫停執(zhí)行外,還有可能由于系統(tǒng)中的其他因素的影響而不能繼續(xù)執(zhí)行下去。一個進程從運行狀態(tài)到阻塞狀態(tài)后,系統(tǒng)會調用進程調度程序重新選擇一個進程投入運行。3.現代操作系統(tǒng)一般都提供多任務環(huán)境,試回答下列問題。(1)為支持多進程的并發(fā)執(zhí)行,系統(tǒng)必須建立哪些關于進程的數據結構?答:為支持多進程的并發(fā)執(zhí)行,系統(tǒng)必須建立PCB。用鏈接的方式把PCB連接起來就形成了運行隊列、就緒隊列。(2)為支持進程的狀態(tài)變遷,系統(tǒng)至少應提供哪些控制原語?答:系統(tǒng)至少應該提供創(chuàng)建新進程原語、喚醒原語、阻塞原語、激活原語、掛起原語(3)當進程的狀態(tài)變遷時,相應的數據結構發(fā)生變化嗎?發(fā)生變化創(chuàng)建原語:申請空白PCB,初始化進程描述信息,為進程分配資源、分配存儲空間,將新進程插入就緒隊列。撤銷原語:查找撤銷進程PCB,終止進程運行狀態(tài),歸還資源從所在隊列移出。阻塞原語:將進程PCB的運行狀態(tài)改為阻塞狀態(tài),并將進程投入阻塞隊列。喚醒原語:將進程PCB的運行狀態(tài)從阻塞狀態(tài)改為就緒狀態(tài),把進程從阻塞隊列移出投入就緒隊列。4.什么是進程控制塊?從進程管理、中斷管理、進程通信、文件管理、設備管理及存儲管理的角度設計進程控制塊應包含的內容。答:進程控制塊是來描述進程本身的特性、進程狀態(tài)、進程的調度信息及對資源的占有情況,它是進程實體的一部分,是操作系統(tǒng)中最重要的數據結構。進程控制塊記錄了操作系統(tǒng)所需的用于描述進程情況及控制進程運行的全部信息。為了進程管理,進程控制塊包括以下幾方面。①進程的描述信息,包括進程標識符、進程名等。②進程的當前狀況。③當前隊列鏈接指針。④進程的家族關系。為了中斷處理,進程控制塊的內容應該包括處理機狀態(tài)信息和各種寄存器的內容,如通用寄存器、指令計數器、程序狀態(tài)字(PSW)寄存器及棧指針等。為了文件管理的需要,進程在執(zhí)行時,可能與其他進程有同步關系或相互通信,進程使用的信號量、消息隊列指針等都要存放在PCB中。為了設備管理,進程控制塊的內容應該包括進程所需全部資源以及已經占有的資源等。5.假設系統(tǒng)就緒隊列中有10個進程,這10個進程輪換執(zhí)行,每隔300ms輪換一次,CPU在進程切換時所花費的時間是10ms,試問系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間比例的多少?答:10/(300+10)=3.2﹪6.試述線程的特點及其與進程之間的關系。答:線程是進程的一個實體,是被獨立調度和分派的基本單位。同一進程內的多個線程都可以訪問進程的所有資源,線程之間的通信比進程之間的通信方便。線程與進程的關系:線程與進程是兩個密切相關的概念,一個進程至少擁有比一個線程(該線程為主線程),進程根據需要創(chuàng)建若干個線程。進程中的所有線程共享該進程資源,它們駐留在同一塊地址空間中,并且可以訪問到相同的數據。7.根據圖2-18,回答以下問題。(1)進程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。答:1:表示新進程創(chuàng)建以后,進入高優(yōu)先級就緒隊列。3:表示正在運行的進程請求I/O或等待某事件,運行的進程進入阻塞隊列。4:表示進程運行的時間片用完。6:表示進程I/O或等待某事件完成,進程又重新進入就緒隊列。7:進程運行完成退出。(2)系統(tǒng)中常常由于某一進程的狀態(tài)變遷引起另一進程也產生狀態(tài)變遷,這種變遷稱為因果變遷。下述變遷是否是因果變遷:3→2,4→5,7→2,3→6,試說明原因。答:3→2是因果變遷,當一個進程從運行變?yōu)樽枞麜r,此時CPU空閑,首選一優(yōu)先級高的進程投入運行。4→5是因果變遷,進程在就緒隊列中輪換運行,當一進程時間片用完CPU空閑,此時立即選擇一進程投入運行,若無高優(yōu)先級只能提低優(yōu)先級。7→2是因果關系,當進程運行完成退出后,CPU空閑,高優(yōu)先級進程投入運行。3→6不是因果變遷,因為進程由于自身原因發(fā)生阻塞和另一進程等待時間達到沒有關系。(3)根據此進程狀態(tài)轉換圖,說明該系統(tǒng)CPU調度的策略和效果。圖2-18進程狀態(tài)轉換圖答:當進程調度時,首先從高優(yōu)先級就緒隊列選擇一進程,賦予時間片為100ms。如果高優(yōu)先級就緒隊列為空,則從低優(yōu)先級就緒隊列選擇進程,但賦予500ms。這一策略照顧了短進程,一個進程如果在100ms運行完畢它將退出系統(tǒng),照顧了I/O量大的進程,進程因I/O進入阻塞隊列,當I/O完成后它就進入了高優(yōu)先級就緒隊列。8.回答以下問題。(1)若系統(tǒng)中沒有運行進程,是否一定沒有就緒進程?為什么?答:是,若系統(tǒng)中沒有運行的進程,系統(tǒng)會馬上選擇一個就緒進程隊列中的進程投入運行。只有就緒隊列為空時,CPU才會空閑。(2)若系統(tǒng)中既沒有運行進程,也沒有就緒進程,系統(tǒng)中是否沒有阻塞進程?請解釋。答:不一定,當系統(tǒng)中所有進程都在請求I/O或等待某事件時他們都處于阻塞狀態(tài),此時既沒有就緒進程也沒有運行進程。(3)如果系統(tǒng)采用優(yōu)先級調度策略,運行的進程是否一定是系統(tǒng)中優(yōu)先級最高的進程?為什么?答:不一定,因為最高優(yōu)先級的進程可能處于等待狀態(tài),進程調度只能從就緒隊列中挑選一個進程投入運行。被選中運行的進程是就緒隊列中優(yōu)先級最高的,但它處于整個系統(tǒng)中不一定是最高的。9.假如有以下程序段,回答下面問題。并發(fā)程序執(zhí)行的Bernstein條件是什么?試畫圖表示它們執(zhí)行時的先后次序。利用Bernstein條件證明,、和哪兩個可以并發(fā)執(zhí)行,哪兩個不能。答:程序P1和P2并發(fā)執(zhí)行的條件,當且僅當R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={}(2)答:(3)答:S1和S2不能并發(fā)執(zhí)行:R(S2)∩W(S1)={a};R(S1)∩W(S2)={};S1和S3不能并發(fā)執(zhí)行:R(S3)∩W(S1)={a};R(S1)∩W(S3)={};S2和S3能并發(fā)執(zhí)行:R(S2)∩W(S3)∪R(S3)∩W(S2)∪W(S2)∩W(S3)={};第三章思考與練習題1.以下進程之間存在相互制約關系嗎?若存在,是什么制約關系?為什么?(1)幾個同學去圖書館借同一本書。答:互斥關系;只有一本書,先到者先得,剩下的人必須等待。(2)籃球比賽中兩隊同學爭搶籃板球。答:互斥關系;先搶到籃板球者先得分,由于爭搶籃板球,產生制約關系。(3)果汁流水線生產中搗碎、消毒、灌裝、裝箱等各道工序。答:同步關系;果汁的生產存在某種時序關系,它們按照規(guī)定的時序執(zhí)行,以共同完成一項任務。(4)商品的入庫和出庫。答:同步關系;只有商品先入庫了才能出庫,所以存在一定的時序關系。(5)工人做工與農民種糧。答:沒有相互制約關系。2.在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?答:用信號量可以實現進程之間的同步和互斥,但要設置很多信號量,使用大量的P、V操作,還要仔細安排多個P操作的排列次序,否則將出現錯誤的結果或出現死鎖現象。為了解決這些問題引入了管程。條件變量的作用:條件變量是一種機制,使得進程不僅能被掛起,而且當條件滿足且管程再次可用時,可以恢復該進程并允許它在掛起點重新進入管程。管程必須使用條件變量提供對同步支持,這些條件變量包含在管程中,并且只有在管程中才能被訪問。3.說明P、V操作為什么要設計成原語。答:原語由若干指令構成,是用于完成一定功能的過程。用信號量S表示共享資源,其初值為1表示有一個資源?,F在有兩個進程申請該資源,其中一個進程先執(zhí)行P操作,P操作由三條指令組成,先去S的寄存器使其減一再賦給S,若不用原語實現,在執(zhí)行前兩條指令時還沒有把S-1的值賦給S進程被剝奪CPU,另一進程也要執(zhí)行P操作。正確的結果是一個進程執(zhí)行完,使另一進程阻塞。4.設有一個售票大廳,可容納200人購票。如果廳內不足200人則允許進入,超過則在廳外等候;售票員某時只能給一個購票者服務,購票者買完票后就離開。試問:(1)購票者之間是同步關系還是互斥關系?答:購票者之間是互斥關系。(2)用P、V操作描述購票者的工作過程。答:5.進城之間的關系如圖3-16所示,試用P、V操作描述它們之間的同步。圖3-16進程之間的關系答:6.有四個進程P1、P2、P3、和P4共享一個緩沖區(qū),進程P1向緩沖區(qū)中存入消息,進程P2、P3和P4從緩沖區(qū)中取消息,要求發(fā)送者必須等三個進程都取過本條消息后才能發(fā)送下一條消息。緩沖區(qū)每次只能容納一個消息,用P、V操作敘述四個進程存取消息的情況。答:7.分析生產者—消費者問題中多個P操作顛倒引起的后果。答:多個P操作的次序不能顛倒,在程序中,應先對資源信號執(zhí)行P操作,再對互斥信號量執(zhí)行P操作,否則可能引起死鎖。如以下的程序將P操作顛倒,先對互斥信號量執(zhí)行P操作,此時易出現死鎖現象,當消費者進程運行時,在full信號量上阻塞,此時mutex=0,在想運行生產者程序mutex=-1<0,此時生產者進程阻塞就產生死鎖,生產者和消費者兩個進程均不能運行。8.讀者—寫者問題中寫者優(yōu)先算法的實現。9.寫一個用信號量解決哲學家進餐問題不產生死鎖的算法。答:書上所提供的方法可能導致哲學家都只拿一只筷子而導致死鎖且無法喚醒所有阻塞的進程??紤]引入一個互斥信號量mutex使哲學家一個個的進餐這樣就不會引起死鎖現象。新設計的進程如下:10.一個文件可有若干個不同進程所共享,每個進程具有唯一的編碼。假定文件可由滿足下列限制的若干個進程同時訪問,并發(fā)訪問該文件的那些進程的編號的總和不得大于n,設計一個協(xié)調對該文件訪問的管程。答:11.用管程解決讀者—寫者問題,并采用公平原則。第四章思考與練習題1.某進程被喚醒后立即投入運行,能說明該系統(tǒng)采用的是可剝奪調度算法嗎?答:不能說明該系統(tǒng)采用的是可剝奪調度算法。當進程被喚醒時,此時就緒隊列沒有一個進程,則調度程序將它投入運行。2.在哲學家進餐問題中,如果將先拿起左邊筷子的哲學家稱為左撇子,將先拿起右邊筷子的哲學家稱為右撇子。請說明在同時存在左、右撇子的情況下,任何的就座安排都不能產生死鎖。答:產生死鎖,有以下四個必要條件:互斥、請求與保持、不可剝奪、環(huán)路。此時哲學家進餐的問題,滿足互斥、請求與保持和不可剝奪這三個條件。但是要滿足環(huán)路條件,哲學家就需同時拿起左邊或右邊的筷子,即哲學家要么是左撇子,要么是右撇子??墒谴藭r同時存在左、右撇子則不滿足環(huán)路條件,任何就座安排都不產生死鎖。3.系統(tǒng)中有5個資源被4個進程所共享,如果每個進程最多需要2個這種資源,試問系統(tǒng)是否會產生死鎖。答:當資源數小于請求改種資源的進程數,就有可能產生死鎖?,F在由題可知每個進程最多需要2個資源,例如此時每個進程都先使用一個資源,則只剩下一個資源可供一個進程使用,這時一個進程申請資源,其他進程阻塞。這個進程運行完以后釋放資源,此時喚醒其他阻塞進程運行,則不會造成進程阻塞而且還無法被喚醒。系統(tǒng)不產生死鎖。4.計算機系統(tǒng)有8臺磁帶機,由N個進程競爭使用,每個進程最多需要3臺。問:當N為多少時,系統(tǒng)沒有死鎖的危險?答:當N=1時,一個進程最多需要3臺磁帶機,此時不會產生死鎖現象。當N=2時,兩個進程申請6臺,也足夠使用,也不出現死鎖現象。當N=3時,此時有進程不能完全得到3臺,可是其他進程運行完以后釋放磁帶機,則此時阻塞的進程可以運行,也不會出現死鎖的危險。當N=4時,可能出現每個進程都搶占到2臺的情況,此時每個進程都不能運行下去,就出現了死鎖。于是可以得出結論:當N<4時,系統(tǒng)不會出現死鎖的危險。5.假設系統(tǒng)有5個進程,它們的到達時間和服務時間如表4–8所示。新進程(沒有運行過)與老進程(運行過的進程)的條件相同時,假定系統(tǒng)選新進程運行。表4-8進程情況進程名到達時間服務時間A03B26C44D65E82若按先來先服務(FCFS),時間片輪轉法(時間片q=1),短進程優(yōu)先(SPN)、最短剩余時間優(yōu)先(SRT,時間片q=1)、響應比高者優(yōu)先(HRRN)及多級反饋隊列(MFQ,第一隊列的時間片為1,第i(i>1)個隊列的時間片q=2(i-1)算法進行CPU調度,請給出各個進程的完成時間、周轉時間、帶權周轉時間,及所有進程的平均周轉時間和平均帶權周轉時間。平均周轉時間為其中是每個作業(yè)的周轉時間,是作業(yè)的個數。平均帶權周轉時間為其中為帶權周轉時間,是作業(yè)的個數。以下是六種調度算法周轉時間、平均周轉時間、帶權周轉時間和平均帶權周轉時間的表格進程名ABCDE平均到達時間02468服務時間36452先來先服務完成時間39131820周轉時間37912128.6帶權周轉時間11.172.252.462.56時間片輪轉法q=1完成時間418172015周轉時間4161314710.8帶權周轉時間1.32.673.252.83.52.71短進程優(yōu)先完成時間39152011周轉時間37111437.6帶權周轉時間11.172.752.81.51.84最短剩余時間優(yōu)先完成時間31582010周轉時間31341427.2帶權周轉時間12.1712.811.59響應者比高者優(yōu)先完成時間39132015周轉時間3791478帶權周轉時間11.172.252.83.52.14多級反饋隊列完成時間317182014周轉時間3151414610.4帶權周轉時間12.53.52.832.566.設系統(tǒng)中有5個進程P1、P2、P3、P4和P5,有三種類型的資源A、B和C,其中A資源的數量是17,B資源的數量是5,C資源的數量是20,T0時刻系統(tǒng)狀態(tài)如表4-9所示。表4-9T0時刻系統(tǒng)狀態(tài)進程已分配資源數量最大資源需求量仍然需求資源數ABCABCABCP1212559347P2402536134P34054011006P4304425221P5314424110⑴計算每個進程還可能需要的資源,并填入表的“仍然需要資源數”欄目中。⑵T0時刻系統(tǒng)是否處于安全狀態(tài)?為什么?答:系統(tǒng)屬于安全狀態(tài),因為此時可以找到一組安全序列P4、P5、P2、P1、P3。⑶如果T0時刻進程P2又有新的資源請求(0,3,4),是否實施資源分配?為什么?答:不實施資源分配,因為此時P2有新的資源請求(0,3,4)則此時P2的最大資源需求量為(5,6,10),由題知B資源數量是5,此時若分配資源P2因為B資源數量不夠阻塞,不能釋放資源,可能產生死鎖現象。⑷如果T0時刻,若進程P4又有新的資源請求(2,0,1),是否實施資源分配?為什么?答:實施資源分配,此時P4的最大資源需求量達到(6,2,6)。此時可以先向P5分配資源,P5使用完以后釋放資源此時資源數為(5,4,7),然后在向進程P4進行資源分配。⑸在(4)的基礎上,若進程P1又有新的資源請求(0,2,0),是否實施資源分配?為什么?答:不實施資源分配,因為此時P1的最大資源需求量為(5,7,9),由題知B資源最大為5,此時若實施資源分配,進程P1不釋放資源容易造成死鎖現象。第五章思考與練習題存儲管理的基本任務是為多道程序的并發(fā)執(zhí)行提供良好的存儲環(huán)境,這包括哪些方面?答:(1)能使存儲器有較好的利用率。(2)為用戶對信息的訪問、保護、共享以及程序的動態(tài)鏈接、動態(tài)增長提供方便。(3)從邏輯上擴充內存容量,為用戶提供更大的存儲空間,使更多的程序同時投入運行或是很大的程序在較小的內存中運行。(4)防止某道程序干擾和破壞其他用戶程序或系統(tǒng)程序,存儲管理提供了一定的存儲保護措施。2.頁式存儲管理系統(tǒng)是否產生碎片?如何應對此現象?答:頁式存儲管理系統(tǒng)在為進程分配內存空間時,以頁為單位進行。進場的最后一頁經常裝不滿一個存儲塊,而形成不可利用的碎片,稱為頁內碎片。若選擇頁面較小,可以使頁內碎片減小。一般頁面大小應適中選擇,通常在512B~4MB之間。3.在頁式存儲管理系統(tǒng)中頁表的功能是什么?當系統(tǒng)的地址空間很大時會給頁表的設計帶來哪些新問題?答:在頁式管理系統(tǒng)中,進程的若干個頁被離散地存儲在內存的多個存儲塊中,為了能找到每個頁所對應的存儲塊,系統(tǒng)為每個進程建立一張頁表。進程所有的頁,依次在頁表中有頁表項,其中記錄了相應頁在內存中對應的物理塊號。因此頁表的功能是實現從頁號到存儲塊號的地址映射。當系統(tǒng)地址空間很大時,頁表也變得很大,占相當大的內存空間。4.什么是動態(tài)鏈接?用哪種存儲管理方案可以實現動態(tài)鏈接?答:鏈接程序的功能是將經過編譯后得到的一組目標模塊以及它們所需要的庫函數,裝配成一個完整的裝入模塊。動態(tài)鏈接就是在程序運行過程中,實現目標模塊的鏈接。只有在段式存儲管理方案中,才能實現在程序運行過程中調用某段時才將該段(目標模塊)調入內存并進行鏈接。動態(tài)鏈接也要求以段式為存儲管理單位。5.某進程的大小為25F3H字節(jié),被分配到內存的3A6BH字節(jié)開始的地址。但進程運行時,若使用上、下界寄存器,寄存器值是多少?如何進行存儲保護?若使用地址、限長寄存器,寄存器值是多少?如何進行存儲保護?答:下界寄存器的值是3A6BH,上界寄存器的值是25F3H+3A6BH=605EH,當訪問的地址小于3A6BH,大于605EH時,越界中斷。地址寄存器值是3A6BH,限長寄存器值是25F3H,當訪問地址小于3A6BH,大于605EH時發(fā)生越界中斷。6.在系統(tǒng)中采用可變分區(qū)存儲管理,操作系統(tǒng)占用低址部分的126KB,用戶區(qū)的大小是386KB,采用空閑分區(qū)表管理空閑分區(qū)。若分配時從高地址開始,對于下述作業(yè)申請序列:作業(yè)1申請80KB;作業(yè)2申請56KB;作業(yè)3申請120KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4申請156KB;作業(yè)5申請80KB。使用首次適應法處理上述作業(yè),并回答以下問題。(1)畫出作業(yè)1、2、3進入內存后,內存的分布情況。(2)畫出作業(yè)1、3完成后,內存的分布情況。(3)畫出作業(yè)4、5進入內存后,內存的分布情況。答:(1)(2)(3)7.某系統(tǒng)采用頁式存儲管理策略,某進程的邏輯地址空間為32頁,頁的大小為2KB,物理地址空間的大小是4MB。(1)寫出邏輯地址的格式。答:邏輯地址的格式如下:由題知邏輯空間為32頁,則頁號占5個位,頁大小為2KB故頁內位移占11位。(2)該進程的頁表有多少項?每項至少占多少位?答:由題知邏輯空間為32頁,所以頁表共有32項。頁表中記錄的是相應頁在內存中對應的物理塊號。物理地址的大小為4MB則分為4MB÷2KB=2KB個塊,每項占11位。(3)如果物理地址空間減少一半,頁表的結構有何變化?答:物理地址要是減少一半變?yōu)?MB,頁表的項數沒有發(fā)生改變仍為32項。由于2MB÷2KB=1KB,頁表中每項此時占10位。8.某頁式存儲管理系統(tǒng),內存的大小為64KB,被分為16塊。塊號為0、1、2、…、15.設某進程有4頁,其頁號為0、1、2、3,被分別裝入內存的2、4、7、5,為:(1)該進程的大小是多少字節(jié)?答:由題知內存大小為64KB且此時被分為16塊,則每一塊占4KB,這是進程總共有4頁,所以進程的大小為4×4KB=16KB。(2)寫出該進程每一頁在內存的起始地址。答:由題,頁號0、1、2、3對應的塊號為2、4、7、5。頁號為0內存的起始地址:2×4KB=8KB頁號為1內存的起始地址:4×4KB=16KB頁號為2內存的起始地址:7×4KB=28KB頁號為3內存的起始地址:5×4KB=20KB(3)邏輯地址4146對應的物理地址是多少?答:邏輯地址4146的二進制形式為1000000110010此時頁內位移占12位,剩下1位為頁號,邏輯地址4146的頁號為1,對應的塊號為4。9.某段式存儲管理系統(tǒng)的段表如圖5-33所示。圖5-33段表請將邏輯地址[0,137]、[1,9000]、[2,3600]、[3,320]轉化成物理地址。答:[0,137]的物理地址:由題知段號0段號的段長為15KB,137B<15KB,則此時[0,137]的物理地址為40×1024+137=41097B。[1,9000]的物理地址:由題知1段號的段長為8KB,此時9000B>8KB,此時發(fā)生越界中斷。[2,3600]的物理地址:由題知2段號的段長為10KB,此時3600B<10KB,則此時[2,3600]的物理地址為100×1024+3600=106000B。[3,320]由于該段表沒有給出段號為3時的段長和段始址,無法求出其物理地址。第七章思考與練習題數據傳輸控制方式有哪幾種?試比較它們的優(yōu)缺點。答:數據傳輸控制方式有以下四種:程序直接控制方式就是由用戶進程直接控制CPU與外設之間信息傳遞。缺點:①CPU與外設只能串行工作。②CPU在一段時間內只能與一臺外設交換數據信息,因此多臺外設之間也是串行。③無法發(fā)現和處理由于設備和其他硬件所產生的錯誤。程序直接控制方式只適用于那些CPU執(zhí)行速度較慢,且外設較少的系統(tǒng)。中斷控制方式與程序直接控制方式比較,中斷控制方式可以成百倍地提高CPU的利用率,但還存在以下問題:設備控制器的數據寄存器裝滿數據后,發(fā)生中斷。在進程傳送數據的過程中,發(fā)生中斷的次數可能很多,這將消耗CPU的大量處理時間。計算機的各種外設通過中斷方式進行數據傳送,由于中斷次數的急劇增加會造成CPU無法響應中斷,出現數據丟失現象。DMA控制方式采用中斷方式時,CPU是以字節(jié)為單位進行干預的。如果將這種方式用于塊設備I/O,顯然是低效的。因此引入DMA控制方式。局限性:DMA方式對外設的管理和操作仍由CPU控制,多個DMA同時使用顯然會引起內存地址的沖突并使得控制過程進一步復雜化。通道方式通道方式是DMA方式的發(fā)展,它可以進一步減少CPU干預,即把對一個數據塊的讀(寫)干預減少到對一組數據塊的讀(寫)干預。同時又實現CPU、通道及I/O設備三者的并行工作,從而更有效地提高整個系統(tǒng)的資源利用率。何謂設備的獨立性?如何實現設備的獨立性?答:設備的獨立性,也稱設備的無關性。其含義是,用戶獨立于具體使用的物理設備。為實現設備獨立性,系統(tǒng)必須使用能夠將用戶程序中所使用的邏輯設備名轉換成物理設備名。為此需要設置一張邏輯設備表(LUT),該表的每個表目包含邏輯設備、物理設備名和設備驅動程序的入口地址。當以后進程再利用邏輯設備名請求I/O操作時,系統(tǒng)通過查找LUT表,即可找到物理設備和相應設備的驅動程序。邏輯設備表如圖:3.什么是緩沖?為什么要引入緩沖?操作系統(tǒng)如何實現緩沖技術?答:緩沖是在通信問題中,為了通信雙方的速度匹配引入的一個中間層次,這個層次的速度比通信雙方中較慢的一方快,而與較快的一方更匹配。引入緩沖的目的:(1)緩解CPU與I/O設備之間速度不匹配的矛盾。(2)減少中斷CPU的次數。(3)提高CPU與I/O設備之間的并行性。為實現緩沖技術,操作系統(tǒng)在內存中開辟I/O設備緩沖區(qū)、文件緩沖區(qū)。脫機I/O技術和SPOOLing技術也屬于緩沖技術。4.設備分配中為什么可能出現死鎖?答:在對于不同屬性的設備時采用不同的分配方式。對于獨占設備,采用獨享分配策略,即在將一個設備分配給某個進程以后,便一直由它獨占,直到進程完成或釋放改設備,然后系統(tǒng)才將該設備分配給其他進程使用。若此時將設備分配給一個進程,它一直占有。其他進程請求設備只能阻塞,設備不釋放進程一直阻塞。此時設備利用不充分,還引起死鎖。對于共享設備,在多個進程使用時要合理調度,若多個進程此時都爭奪申請該設備就會出現死鎖現象。5.以打印機為例說明SPOOLing技術的工作原理。答SPOOLing系統(tǒng)組成當打印機要打印東西時,插入用戶的磁盤。此時由輸出設備在輸出井中為之申請一空閑盤塊區(qū),并將要打印的數據送入其中。輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表猶如打印隊列。當打印機空閑時,輸出進程將從請求打印隊列上依次取出一張用戶請求打印表,根據表中要求將要打印的數據從輸出井傳送到內存緩沖區(qū),再由打印機進行打印。打印完畢后,輸出進程再查看打印隊列是否還有等待打印的請求,依次根據要求打印。6.假設一個磁盤有200個柱面,編號0~199,當前存取臂的位置是在143號柱面上,并剛剛完成了125號柱面的服務請求,如果存在以下請求序列:86、147、91、177、94、150、102、175、130,試問:為完成上述請求,采用下列算法時存取臂的移動順序是什么?移動總量是多少?(1)先來先服務(FCFS)。(2)最短尋道時間優(yōu)先(SSTF)。(3)掃描算法(SCAN)。(4)循環(huán)掃描算法(C-SCAN)。以下表格清晰地展示了存取臂的移動順序:FCFSSSTFSCANC-SCAN下一個訪問的磁道移動的磁道數下一個訪問的磁道移動的磁道數下一個訪問的磁道移動的磁道數下一個訪問的磁道移動的磁道數865714741474147414761150315031503915613020175251752517786102281772177294839481304786911505691310228915102488659489431757317589913102813045177286513028移動總量:565移動總量:162移動總量:125移動總量:1697.磁盤的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論