操作系統(tǒng)課后習(xí)題.doc_第1頁
操作系統(tǒng)課后習(xí)題.doc_第2頁
操作系統(tǒng)課后習(xí)題.doc_第3頁
操作系統(tǒng)課后習(xí)題.doc_第4頁
操作系統(tǒng)課后習(xí)題.doc_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1 存儲程序式的計算機的主要特點是什么?答:是集中順序過程控制,即控制部件根據(jù)程序?qū)φ麄€計算機的活動實行集中過程控制,并根據(jù)程序規(guī)定的順序依次執(zhí)行每一個操作。 集中控制:由CPU集中管理順序性:程序計數(shù)器控制過程性:模擬人們手工操作過程1.2 批處理系統(tǒng)和分時系統(tǒng)各具有什么特點?為什么分時系統(tǒng)的響應(yīng)比較快?答:在批處理系統(tǒng)中操作人員將作業(yè)成批裝入計算機并由計算機管理運行,在程序的運行期間用戶不能干預(yù),因此批處理系統(tǒng)的特點是:用戶脫機使用計算機,作業(yè)成批處理,系統(tǒng)內(nèi)多道程序并發(fā)執(zhí)行以及交互能力差。在分時系統(tǒng)中不同用戶通過各自的終端以及交互方式共同使用一臺計算機,以計算機“分時”的方法輪流為每個用戶服務(wù)。分時系統(tǒng)的主要特點是:多個用戶使用計算機的同時性,人機問答方式的交互性,每個用戶獨立使用計算機的獨占性以及系統(tǒng)響應(yīng)的及時性。分時系統(tǒng)一般采用時間輪轉(zhuǎn)的方法,使一臺計算機同時為多個終端用戶服務(wù),因此分時系統(tǒng)的響應(yīng)比較快。1.4 什么是多道程序設(shè)計技術(shù)?試論述多道程序運行的特征。答:多道程序設(shè)計技術(shù)是指同時把多個作業(yè)(程序)放入內(nèi)存并允許它們交替執(zhí)行和共享系統(tǒng)中的各類資源;當(dāng)一道程序因為某種原因(如I/O請求)而暫停執(zhí)行時,CPU立即轉(zhuǎn)去執(zhí)行另一道程序。多道程序運行具有如下特征: 多道:計算機內(nèi)存中同時存放幾道相互獨立的程序、 宏觀上并行:同時進入系統(tǒng)的幾道程序都處于運行過程中,它們先后開始了各自的運行,但都未運行完畢。 微觀上串行:從微觀上看,內(nèi)存中的多道程序輪流或分時地占有處理機,交替執(zhí)行。1.6 操作系統(tǒng)的主要特征是什么?為什么會具有這樣的特征?答:操作系統(tǒng)具備的主要特征就是并發(fā)和共享。另外,由于操作系統(tǒng)要隨時處理各種事件,所以它也具備不確定性。具有這樣的特性是因為為了充分利用計算機系統(tǒng)的資源,一般采用多個同時性用戶分用的策略。以順序計算為基礎(chǔ)的計算機系統(tǒng)要完成并處理的功能,必將導(dǎo)致順序計算模型與并行計算模型的矛盾,必須解決資源共享和多任務(wù)并發(fā)執(zhí)行的問題。2.1 什么是操作系統(tǒng)虛擬機?答:配置了操作系統(tǒng)的裸機稱為操作系統(tǒng)虛擬機。2.3 什么是處理機的態(tài)?為什么要區(qū)分處理機的態(tài)?答:是中央處理機的工作狀態(tài),當(dāng)前它正在執(zhí)行哪些程序。為了保護操作系統(tǒng)和進行正確地管理和控制,其本身是不能被破壞的。為此,系統(tǒng)應(yīng)建立一個保護環(huán)境,采用的辦法就是區(qū)分處理機的工作狀態(tài)。至少需要區(qū)分兩種狀態(tài):管態(tài)和用戶態(tài)。2.4 什么是管態(tài)?什么是用戶態(tài)?兩者有何區(qū)別?答:管態(tài)(系統(tǒng)態(tài))是操作系統(tǒng)管理程序執(zhí)行時機器所處的狀態(tài)。用戶態(tài)(目的態(tài))是用戶程序執(zhí)行時機器所處的狀態(tài)。這需要計算機硬件的支持,在計算機狀態(tài)寄存器下中需設(shè)置一個系統(tǒng)狀態(tài)位(模式位)。若有了系統(tǒng)狀態(tài)位就可以區(qū)分當(dāng)前正在執(zhí)行的是系統(tǒng)程序還是用戶程序。2.5 什么是中斷?在計算機系統(tǒng)中為什么要引進中斷?答:是指某個事件(如電源掉電、定點加法溢出或I/O傳輸結(jié)束等)發(fā)生時,系統(tǒng)中止現(xiàn)行程序的運行、引出處理事件程序?qū)υ撌录M行處理,處理完畢后返回斷點,繼續(xù)執(zhí)行。引進中斷是為了實現(xiàn)并并發(fā)活動,為了實現(xiàn)計算機系統(tǒng)的自動化工作。2.8中斷和俘獲有什么不同?答:由處理機外部事件引起的中斷稱為外中斷,又稱中斷。由處理機內(nèi)部事件引起的中斷稱為俘獲。終端和俘獲的來源和響應(yīng)的先后次序不同.2-9 什么是中斷響應(yīng),其實質(zhì)是什么?答:中斷響應(yīng)是當(dāng)處理機發(fā)現(xiàn)已有中斷請求時,中止現(xiàn)行的程序執(zhí)行,并自動引出中斷處理程序的過程。其實質(zhì)是交換指令執(zhí)行地址和處理機狀態(tài)。2.10 什么是程序狀態(tài)字,在微機中它一般由哪兩部分組成?答:是反映程序執(zhí)行時機器所處的現(xiàn)行狀態(tài)的代碼。在微機中它一般是由指令計數(shù)器(PC)和處理機狀態(tài)寄存器(PS)組成。2.11 什么是向量中斷?什么是中斷向量?答:向量中斷是指當(dāng)中斷發(fā)生時,由中斷源自己引導(dǎo)處理機進入中斷服務(wù)程序的中斷過程。中斷向量就是存儲該類型中斷服務(wù)例行程序的入口地址和處理機狀態(tài)字的存儲單元。2.12 以trap指令為例,用圖說明自陷處理的一般過程。3.2系統(tǒng)引導(dǎo)的主要任務(wù)是什么?答:將操作系統(tǒng)的必要部分裝入主存并使系統(tǒng)運行,最終處于命令接受狀態(tài)。3.3 處理應(yīng)用程序分哪幾個作業(yè)步?答:用某種預(yù)言編制一個程序,該程序被稱為源程序。將源程序和初始數(shù)據(jù)記錄在某種輸入介質(zhì)上,一般在終端設(shè)備上直接編輯源程序。按照一定的要求控制計算機工作,并經(jīng)過加工,最終計算出結(jié)果。3.4 靜態(tài)連接和動態(tài)鏈接有什么區(qū)別?答:靜態(tài)連接是將所需的外部調(diào)用函數(shù)連接到目標(biāo)文件中形成一個完整的主存映像文件。動態(tài)鏈接是將這一連接工作延遲到程序運行的時候進行,它需要的支持是動態(tài)鏈接庫。3.6 什么是系統(tǒng)調(diào)用?簡述系統(tǒng)調(diào)用的執(zhí)行過程。答:1、系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。是利用訪管指令定義的指令。2、用戶在程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)調(diào)用名和函數(shù)后,即產(chǎn)生一條相應(yīng)的陷入指令,通過陷入處理機制調(diào)用服務(wù),引起處理機中斷,然后保護處理機現(xiàn)場,取系統(tǒng)調(diào)用功能號并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序繼續(xù)執(zhí)行。4.1 試解釋下列名詞:程序的順序執(zhí)行一個計算由若干操作組成,而這些操作必須按照某種先后次序來執(zhí)行,以保證操作的結(jié)果是正確的,則這類計算過程就是程序的順序執(zhí)行過程。程序的并發(fā)執(zhí)行若干個程序段同時在系統(tǒng)中運行,這些程序段的執(zhí)行在時間上是重疊的,一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始,即使這種重疊是很小的一部分,也稱這幾個程序段是并發(fā)執(zhí)行的。4.3 什么是進程?進程與程序的主要區(qū)別是什么?答:進程是指一個具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次運行活動。進程是動態(tài)的,程序的靜態(tài)的,進程是程序的動態(tài)執(zhí)行過程。4-6 進程有哪幾種基本狀態(tài)?在一個系統(tǒng)中為什么必須區(qū)分出這幾種狀態(tài)?答:進程有三種基本狀態(tài),即運行狀態(tài),就緒狀態(tài),等待狀態(tài)。如果系統(tǒng)能為每個進程提供一臺處理機,則系統(tǒng)中所有進程都可以同時執(zhí)行,但實際上處理機的數(shù)目總是小于進程數(shù),因此往往只有少數(shù)幾個進程可真正獲得處理機控制權(quán)。4.7 某系統(tǒng)進程狀態(tài)變遷圖如圖4.31所示,所采用的調(diào)度方法為非剝奪方法,回答以下問題:發(fā)生變遷2、變遷3、變遷4、的原因是什么?答:當(dāng)運行進程在分得的時間片內(nèi)未完成,時間片到將發(fā)生變遷2.當(dāng)運行進程在執(zhí)行過程中,需要等待某時間的發(fā)生才能繼續(xù)向下執(zhí)行,此時會發(fā)生變遷3.當(dāng)?shù)却M程等待的事件發(fā)生了,將會發(fā)生變遷4.下述因果變遷是否可能發(fā)生?如果可能的話,在什么情況下發(fā)生? 31 21 32 41 答:正在運行的進程因等待某事件的發(fā)生而變?yōu)榈却隣顟B(tài)的變遷3,在就緒隊列非空時必然引起一個就緒進程被調(diào)度執(zhí)行的變遷1。正運行的進程因時間片到變?yōu)榫途w狀態(tài)的變遷2,必然引起一個就緒進程被調(diào)度執(zhí)行的變遷1.4.8 什么是進程控制塊?它有什么作用?答:為了描述一個進程和其他進程以及系統(tǒng)資源的關(guān)系,為了刻畫一個進程在各個不同時期所處的狀態(tài),人們采用一了個與進程相聯(lián)系的數(shù)據(jù)塊,稱為進程控制塊 PCB (process control block) 或稱為進程描述器(process descriptor)。 其作用是描述進程的動態(tài)特征,進程與其他進程和系統(tǒng)資源的關(guān)系。S4-11在下圖所示的進程流程圖中,有五個進程合作完成某一任務(wù)。說明這五個進程之間的同步關(guān)系,并用p,v操作實現(xiàn)之,要求寫出程序描述。答:main( ) int s2,s3,s4,s5=0; /*表示進程p2,p3,p4,p5能否執(zhí)行*/ cobegin P1( ); P2( );P3( ); P4( );見P116圖4.33F P5( ); coend P1( ) P2( ) P3( ) P4( ) P5( ) . p(s2); p(s3); p(s4); p(s5); . . . . . v(s2); . . . . v(s3); v(s5); v(s5); v(s4); 4-18 用于進程控制的原語主要有哪幾個?答:主要有:創(chuàng)建原語,撤銷原語,阻塞原語,喚醒原語。5.2什么是死鎖?試舉例說明?答:死鎖是兩個或多個進程被無限期地阻塞、相互等待的一種狀態(tài)。設(shè)一個具有3個磁帶驅(qū)動器的系統(tǒng),現(xiàn)有3個進程,某時某刻,每個進程都占用了一個磁帶驅(qū)動器。如果每個進程都不釋放自己已占用的磁帶驅(qū)動器,而且還需要另一個磁帶驅(qū)動器,那么這3個進程就會處于互相死等的狀態(tài),這種狀態(tài)稱為死鎖。5-6 下圖表示一帶閘門的運河,其上有兩架吊橋。吊橋坐落在一條公路上,為使該公路避開一塊沼澤地而令其橫跨運河兩次。運河和公路的交通都是單方向的。運河上的基本運輸由駁船擔(dān)負。在一艘駁船接近吊橋A時就拉汽笛警告,若橋上無車輛,吊橋就吊起,直到駁船尾部通過此橋為止。對吊橋 B 也按同樣次序處理。 (1) 一艘典型駁船的長度為200米,當(dāng)它在河上航行時是否會產(chǎn)生死鎖?若會,其理由是什么? (2) 如何能克服一個可能的死鎖?請?zhí)岢鲆粋€防止死鎖的辦法。 (3) 如何利用信號燈上的P,V操作實現(xiàn)車輛和駁船的同步?答:(1)駁船長 200 米,當(dāng)駁船通過了A橋,其船頭到達B橋,請求B橋吊起,而此時它的尾部仍占據(jù) A 橋。若這個時候 B 橋上及 B 橋到 A 橋之間的公路上都被汽車占據(jù),而汽車又要求通過 A 橋。這樣駁船和汽車都無法前進,形成死鎖的局面。 (2)可以有以下兩種方法: c資源的靜態(tài)分配。即進程把它所需要的所有資源在運行前提前申請,系統(tǒng)把它所需要的全部資源一次性都分配給它。也就是說,這時把 A 橋和 B 橋看成一個資源。打破了產(chǎn)生死鎖的四個必要條件之一的部分分配條件。 d可以規(guī)定資源按序申請和分配,從而破壞了死鎖的循環(huán)等待條件,防止死鎖的發(fā)生。規(guī)定如下:B 橋的序號小于 A 橋的序號,駁船和汽車都必須先申請序號小的資源 B 橋,申請得到滿足后,再申請序號大的資源 A 橋。(3)算法如下: c設(shè)置兩個互斥信號量 mutexa,mutexb,用來實現(xiàn)駁船和汽車對 A 橋和對 B 橋的互斥使用;設(shè)置一個共享變量 count,用來記錄當(dāng)前占用 A 橋和 B 橋的汽車數(shù)并設(shè)置互斥信號量 mutex,用來實現(xiàn)汽車對共享變量 count 的互斥訪問。 Main( ) int mutexa, mutexb, mutex, count mutexa=1; mutexb=1; mutex=1; count=0; cobegin bargei; /i=1,2,.,m carj; /j=1,2,.,n coend bargei() . P(mutexb); P(mutexa); 吊起 B 橋; 吊起 A 橋; 駁船通過 A 橋; 放下 A 橋; 駁船通過 B 橋; 放下 B 橋; V(mutexa); V(mutexb); . carj() . P(mutex); count+; if(count=1) P(mutexb); P(mutexa); V(mutex); 汽車通過 B 橋; 汽車通過 AB 段公路; 汽車通過 A 橋; P(mutex); count-; if(count=0) V(mutexb); V(mutexa); V(mutex); . d設(shè)置兩個互斥信號量mutexa,mutexb,用來實現(xiàn)駁船和汽車對A橋和對B橋的互斥使用;設(shè)置兩個共享變量counta和countb,分別用來記錄A橋和B橋上的汽車數(shù)并設(shè)置互斥信號量mutex1和mutex2,用來實現(xiàn)汽車對共享變量counta和countb的互斥訪問。Main( ) int mutexa, mutexb, mutex1, mutex2, counta, countb; mutexa=1; mutexb=1; mutex1=mutex2=1; counta=countb=0; cobegin bargei; /i=1,2,.,m carj; /j=1,2,.,n Coendbargei() . P(mutexb); 吊起 B 橋; P(mutexa); 吊起 A 橋; 駁船通過 A 橋; 放下 A 橋; V(mutexa); 駁船通過 B 橋; 放下 B 橋; V(mutexb); . carj() . P(mutex2); countb+; if(countb=1) P(mutexb); V(mutex2); 汽車通過 B 橋; P(mutex2); countb-; if(countb=0) V(mutexb); V(mutex2); 汽車通過 AB 段公路; P(mutex1); counta+; if(counta=1) P(mutexa); V(mutex1); 汽車通過 A 橋; P(mutex1); counta-; if(counta=0) V(mutexa); V(mutex1); . 5-7 討論圖 5.8 描述的交通死鎖的例子(設(shè)各方向上的汽車是單線、直線行駛): (1)對于產(chǎn)生死鎖的四個必要條件中的哪些條件在此例中是適用的? (2)提出一個簡單的原則,它能避免死鎖。 (3)若用計算機實現(xiàn)交通自動管理,請用信號燈上的P、V操作來實現(xiàn)各方向上汽車行駛的同步。答:(1)路口是共享資源。 c 互斥條件:路口必須互斥使用,即汽車對它所需要的路口是排他性控制的。 d 不剝奪

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論