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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論