操作系統(tǒng)教材答案陳向群楊芙清_第1頁
操作系統(tǒng)教材答案陳向群楊芙清_第2頁
操作系統(tǒng)教材答案陳向群楊芙清_第3頁
操作系統(tǒng)教材答案陳向群楊芙清_第4頁
操作系統(tǒng)教材答案陳向群楊芙清_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——操作系統(tǒng)教材答案陳向群楊芙清

《操作系統(tǒng)教程》課后習(xí)題答案

第一章操作系統(tǒng)概論

1.什么是計(jì)算機(jī)系統(tǒng)?計(jì)算機(jī)系統(tǒng)是怎么構(gòu)成的?了解PC的組成狀況,說明:1)硬件組織的基本結(jié)構(gòu),畫出硬件配置圖;2)主要系統(tǒng)軟件和應(yīng)用軟件(若有的話)他們的作用。

答:計(jì)算機(jī)系統(tǒng)就是依照人的要求接收和存儲(chǔ)信息,自動(dòng)進(jìn)行數(shù)據(jù)處理和計(jì)算,并輸出結(jié)果信息的系統(tǒng)。

計(jì)算機(jī)系統(tǒng)由硬件子系統(tǒng)和軟件子系統(tǒng)組成。計(jì)算機(jī)系統(tǒng)的構(gòu)成包括:如圖1.2計(jì)算機(jī)硬件系統(tǒng)的構(gòu)成:如圖1.4

2.從功能以及程序涉設(shè)計(jì)的角度說明計(jì)算機(jī)系統(tǒng)中軟件系統(tǒng)是如何構(gòu)成的?答:分為系統(tǒng)軟件,支撐軟件和應(yīng)用軟件三層。

3.什么是操作系統(tǒng)?請(qǐng)舉例說明操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的重要地位。答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,是一些程序模塊的集合。

它們能以盡量有效、合理的方式組織和管理計(jì)算機(jī)的軟硬件資源,合理的組織計(jì)算機(jī)的工作流程,控制程序的執(zhí)行并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、便利、有效的使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能安全高效地運(yùn)行4.請(qǐng)舉一個(gè)實(shí)際的例子來說明操作系統(tǒng)的功能。答:你能用用操作系統(tǒng)管理好多資源

5.為什么說“操作系統(tǒng)是控制硬件的軟件〞的說法不確鑿?答:操作系統(tǒng)不僅能夠控制硬件,也可以控制各種軟件資源。6.操作系統(tǒng)的基本特征是什么?說明他們之間的關(guān)系。答:1.并發(fā)性2.共享性3.隨機(jī)性

7.試從獨(dú)立性,并發(fā)性和交互性和實(shí)時(shí)性四個(gè)方面來比較批處理系統(tǒng),分時(shí)系統(tǒng)以及實(shí)時(shí)系統(tǒng)。答:

分時(shí)系統(tǒng):并發(fā)性是指同時(shí)有多個(gè)用戶共同使用一個(gè)計(jì)算機(jī),宏觀上看是多個(gè)人同時(shí)使用一個(gè)CPU,微觀上是多個(gè)人在不同時(shí)刻輪番使用CPU.

獨(dú)占性,是指用戶感覺不到計(jì)算機(jī)為他們服務(wù),就好像整個(gè)系統(tǒng)為他所獨(dú)占。交互性:是指用戶根據(jù)系統(tǒng)響應(yīng)結(jié)果進(jìn)一步提出新要求,用戶直接干預(yù)每一步。實(shí)時(shí)性:是指系統(tǒng)對(duì)用戶提出的請(qǐng)求及時(shí)響應(yīng)。

8.引入多道程序設(shè)計(jì)技術(shù)的起因和目的是什么?多道程序系統(tǒng)的特征是什么?

答:多道程序設(shè)計(jì)的基本思想在內(nèi)存中保持多個(gè)作業(yè),主機(jī)可以交替的方式同時(shí)處理多個(gè)作業(yè),一般來說任何一道作業(yè)的運(yùn)行總是要交替的使用處理器和外設(shè)子案

9.多道程序設(shè)計(jì)的度是指在任一給定時(shí)刻,單個(gè)CPU所能支持的進(jìn)程數(shù)目最大值。探討要確定一個(gè)特定系統(tǒng)的多道程序設(shè)計(jì)的度必需考慮的因素??梢约俣ㄅ幚硐到y(tǒng)中進(jìn)程數(shù)量與作業(yè)數(shù)量一致。答:

10.描述批處理系統(tǒng)響應(yīng)一個(gè)執(zhí)行請(qǐng)求需要的時(shí)間(稱為響應(yīng)時(shí)間),描述分時(shí)系統(tǒng)下的響應(yīng)時(shí)間,什么樣的系統(tǒng)可能有較短的響應(yīng)時(shí)間?為什么?

答:1)就是將用戶的作業(yè)組成一批作業(yè),之后輸入到計(jì)算機(jī)中,計(jì)算機(jī)依次執(zhí)行每個(gè)作業(yè)

,然后輸出,即為響應(yīng)時(shí)間。

2)定義這個(gè)響應(yīng)時(shí)間就是:系統(tǒng)對(duì)一個(gè)輸入的反應(yīng)時(shí)間實(shí)時(shí)系統(tǒng)的反應(yīng)時(shí)間

11.什么狀況下批處理是比較好的策略?什么狀況下分時(shí)是比較好的策略?現(xiàn)代的操作系統(tǒng)往往要把兩者結(jié)合,請(qǐng)舉出這樣的例子,并說明它們是怎樣被結(jié)合起來的,并通過這樣的結(jié)合獲得了什么好處。

答:常見的通用操作系統(tǒng)是分時(shí)系統(tǒng)與批處理系統(tǒng)結(jié)合,其原則是:分時(shí)優(yōu)先,批處理再后,\前臺(tái)\響應(yīng)需要頻繁交互的作業(yè),如終端的要求?!昂笈_(tái)〞處理時(shí)間性要求不強(qiáng)的作業(yè)。

12.操作系統(tǒng)的技術(shù)發(fā)展是怎樣的?從這一技術(shù)演化過程可以得到什么啟發(fā)?答:操作系統(tǒng)的發(fā)展是根據(jù)計(jì)算機(jī)硬件發(fā)展,計(jì)算機(jī)應(yīng)用軟件的發(fā)展而發(fā)展的,我們發(fā)展操作系統(tǒng)的目標(biāo)就是:充分利用硬件,提供更好的服務(wù)。

13.請(qǐng)作一個(gè)調(diào)查,看看各種計(jì)算機(jī)的應(yīng)用領(lǐng)域都在使用什么樣的操作系統(tǒng),他們分別是什么類型的操作系統(tǒng),調(diào)查的內(nèi)容應(yīng)當(dāng)涵概現(xiàn)代操作系統(tǒng)的主要類別.

14.現(xiàn)有一下應(yīng)用計(jì)算機(jī)的場(chǎng)合,請(qǐng)為其選擇適當(dāng)?shù)牟僮飨到y(tǒng)。1)航天航空,核變研究;2)國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中心;3)學(xué)校學(xué)生上機(jī)學(xué)習(xí)編程4)高爐爐溫控制;5)民航定票系統(tǒng),6)發(fā)送電子郵件(在兩個(gè)地區(qū)之間)答:1)航天航空,核變研究:嵌入式操作系統(tǒng)2)分布式操作系統(tǒng)3)個(gè)人計(jì)算機(jī)操作系統(tǒng)4)實(shí)時(shí)操作系統(tǒng)5)批處理操作系統(tǒng)6)網(wǎng)絡(luò)操作系統(tǒng)。

15.什么是Spooling技術(shù)?他有什么用?你認(rèn)為未來先進(jìn)的個(gè)人計(jì)算機(jī)遇把假脫機(jī)作為一個(gè)關(guān)鍵特性嗎?

答:假脫機(jī)(SPOOLing.)技術(shù)的全稱是同時(shí)得外部設(shè)備聯(lián)機(jī)操作,這種技術(shù)的基本思想是用磁盤設(shè)備作為主機(jī)的直接輸入輸出設(shè)備,,主機(jī)直接從磁盤上選取作業(yè)運(yùn)行,作業(yè)的執(zhí)行結(jié)果

16.外殼程序(shell)是不是操作系統(tǒng)的一部分,為什么?

答:不是,它不屬于操作系統(tǒng)內(nèi)核的一部分,它是一個(gè)應(yīng)用程序。

17.假使你有一個(gè)可用得類UNIX系統(tǒng),例如Linux,Minix或者BSD等,而且你有足夠的權(quán)限

重起或者使得系統(tǒng)崩潰,請(qǐng)編寫一個(gè)shell程序作下面的試驗(yàn),用該shell程序不停的產(chǎn)生新進(jìn)程,觀測(cè)發(fā)生的事情,在運(yùn)行你的shell之前,請(qǐng)用sync命令同步硬盤和內(nèi)存中的磁盤緩存,以免在程序運(yùn)行過程中訪問文件系統(tǒng),注意,請(qǐng)不要在任何共享的系統(tǒng)中做這件事情?

答:進(jìn)程數(shù)不斷增多,最終導(dǎo)致系統(tǒng)崩潰了!重要:

18.現(xiàn)代操作系統(tǒng)的設(shè)計(jì)很講求機(jī)制與策略的分開,已經(jīng)使操作系統(tǒng)的結(jié)構(gòu)和實(shí)現(xiàn)能夠在一定范圍內(nèi)適應(yīng)不同的需要。例如Solaris的調(diào)度器實(shí)現(xiàn)了進(jìn)程調(diào)度的基本機(jī)制,同時(shí)它允許通過動(dòng)態(tài)調(diào)整核心參數(shù)實(shí)現(xiàn)不同負(fù)載下的系統(tǒng)性能平衡,這就是一種機(jī)制和策略的分

離,請(qǐng)給出一個(gè)例子,說明怎樣根據(jù)調(diào)度將機(jī)制和策略分開。請(qǐng)構(gòu)造一種機(jī)制,允許父進(jìn)程控制子進(jìn)程的調(diào)度策略。

19.有興趣,可以去寫一篇,記得寫完了,發(fā)給我,我把你的文章貼上來!硬件環(huán)境

其次章操作系統(tǒng)的硬件環(huán)境

1.請(qǐng)簡(jiǎn)述處理器的組成和工作原理。你認(rèn)為那些部分和操作系統(tǒng)的密切關(guān)系,為什么?答:一般的處理器由運(yùn)算器,控制器,一系列的寄放器以及高速緩存構(gòu)成。運(yùn)算器實(shí)現(xiàn)任何指令中的算術(shù)和規(guī)律運(yùn)算,是計(jì)算機(jī)計(jì)算的核心;控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令,維護(hù)CPU狀態(tài),CPU與內(nèi)存之間的交互等等。寄放器是指令在CPU內(nèi)部做處理

的過程中占存數(shù)據(jù),地址一級(jí)指令信息的存儲(chǔ)設(shè)備,在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問速度。加上高速緩存以及內(nèi)存管理單元(MMU)

2.為了支持操作系統(tǒng),現(xiàn)代處理器一般都提供哪兩種工作狀態(tài),用來隔離操作系統(tǒng)和普通程序??jī)煞N狀態(tài)各有什么特點(diǎn)?答;

多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)

管態(tài):操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特權(quán)級(jí)別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)目態(tài):用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,又稱為普通態(tài)(普態(tài))、用戶態(tài)3.什么是分級(jí)的存儲(chǔ)體系結(jié)構(gòu)?它主要解決什么問題?答:

容量、速度和成本

三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡存取速度快,每比特價(jià)格高

容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)當(dāng)沿著層次下降時(shí)

每比特的價(jià)格將下降,容量將增大

速度將變慢,處理器的訪問頻率也將下降

4.主存儲(chǔ)器尋常有哪兩種類型?它們各自的特點(diǎn)是什么?用在哪里?答:硬盤存儲(chǔ)器,和內(nèi)存存儲(chǔ)器.

硬盤存儲(chǔ)器:容量大,存儲(chǔ)速率慢,斷電后,數(shù)據(jù)信息不丟失內(nèi)存存儲(chǔ)器:容量小,存儲(chǔ)速率快,斷電后,數(shù)據(jù)信息丟失。

5.請(qǐng)簡(jiǎn)述程序局部性原理。這個(gè)原理在分級(jí)的存儲(chǔ)體系結(jié)構(gòu)中是怎么樣起作用的?答:時(shí)間局部性,空間局部性。起的作用是:提高存儲(chǔ)系統(tǒng)效能這個(gè)目的。6.什么是存儲(chǔ)保護(hù)?有哪些方法實(shí)現(xiàn)存儲(chǔ)保護(hù)?

答:對(duì)主存中的信息加以嚴(yán)格的保護(hù),使操作系統(tǒng)及其它程序不被破壞,是其正確運(yùn)行的基本條件之一

多用戶,多任務(wù)操作系統(tǒng):OS給每個(gè)運(yùn)行進(jìn)程分派一個(gè)存儲(chǔ)區(qū)域操作系統(tǒng)提供了:1.界限地址寄放器,存儲(chǔ)健兩個(gè)存儲(chǔ)保護(hù)機(jī)構(gòu)!7。呵呵,大家去翻資料把!??!

8.緩沖技術(shù)在計(jì)算機(jī)系統(tǒng)中起著什么樣的作用?它是如何工作的?

答:緩沖技術(shù)一般有三個(gè)用途,一種是用在處理器和主存儲(chǔ)器之間的;另一種是用在處理

器和其他外部設(shè)備之間的;還有一種是用在設(shè)備與設(shè)備之間的通信上。9.什么是中斷?為什么說中斷對(duì)現(xiàn)代計(jì)算機(jī)很重要?答:

中斷概念:指CPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)異步事件是指無一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件如外部設(shè)備完成數(shù)據(jù)傳輸,實(shí)時(shí)設(shè)備出現(xiàn)異常等中斷機(jī)制是操作系統(tǒng)得以正常工作的最重要的手段它使得OS可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用及時(shí)處理設(shè)備的中斷請(qǐng)求

防止用戶程序中破壞性的活動(dòng)等等

10.中斷的一般處理過程是怎么樣的?多個(gè)中斷同時(shí)發(fā)生呢?答:1)如書圖2.9(簡(jiǎn)單的中斷處理過程)

2)如書圖2.12(一個(gè)多優(yōu)先級(jí)中斷系統(tǒng)中多個(gè)中斷的處理例如)

11.請(qǐng)簡(jiǎn)述中斷和操作體統(tǒng)的關(guān)系,操作系統(tǒng)是如何利用中斷機(jī)制的?答:

中斷機(jī)制是操作系統(tǒng)得以正常工作的最重要的手段它使得OS可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用及時(shí)處理設(shè)備的中斷請(qǐng)求

防止用戶程序中破壞性的活動(dòng)等等

12.常用的I/O控制技術(shù)有那些?各有什么特點(diǎn)?

答:常用的I/O控制技術(shù)有以下幾種:程序控制,中斷驅(qū)動(dòng)以及直接存儲(chǔ)器存?。―MA)以及通道。

程序控制I/O技術(shù):由處理器提供I/O相關(guān)指令來實(shí)現(xiàn)I/O處理單元處理請(qǐng)求并設(shè)置I/O狀態(tài)寄放器相關(guān)位不中斷處理器,也不給處理器警告信息

處理器定期輪詢I/O單元的狀態(tài),直四處理完畢I/O軟件包含直接操縱I/O的指令

控制指令:用于激活外設(shè),并告訴它做什么

狀態(tài)指令:用于測(cè)試I/O控制中的各種狀態(tài)和條件數(shù)據(jù)傳送指令:用于在設(shè)備和主存之間來回傳送數(shù)據(jù)

主要缺陷:處理器必需關(guān)注I/O處理單元的狀態(tài),因而花費(fèi)大量時(shí)間輪詢信息,嚴(yán)重地降低了系統(tǒng)性能

中斷驅(qū)動(dòng)I/O技術(shù):為了解決程序控制I/O方法的主要問題應(yīng)當(dāng)讓處理器從輪詢?nèi)蝿?wù)中解放出來使I/O操作和指令執(zhí)行并行起來具體作法:

當(dāng)I/O處理單元準(zhǔn)備好與設(shè)備交互的時(shí)候通過物理信號(hào)通知處理器,即中斷處理器

DMA技術(shù):中斷的引入大大地提高了處理器處理I/O的效率當(dāng)處理器和I/O間傳送數(shù)據(jù)時(shí),效率仍舊不高解決方法:

直接存儲(chǔ)器訪問(DMA:DirectMemoryAccess)通過系統(tǒng)總線中一獨(dú)立控制單元——DMA控制器自動(dòng)控制成塊數(shù)據(jù)在內(nèi)存和I/O單元間的傳送

大大提高處理I/O的效能

通道:獨(dú)立于中央處理器,專門負(fù)責(zé)數(shù)據(jù)I/O傳輸?shù)奶幚頇C(jī)它對(duì)外設(shè)實(shí)現(xiàn)統(tǒng)一管理

代替CPU對(duì)I/O操作進(jìn)行控制使CPU和外設(shè)可以并行工作通道又稱為I/O處理機(jī)引入通道的目的:

為了使CPU從I/O事務(wù)中解脫出來

同時(shí)為了提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行度13.時(shí)鐘對(duì)操作系統(tǒng)有什么重要作用?時(shí)鐘為計(jì)算機(jī)完成以下必不可少的工作:

在多道程序運(yùn)行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯(cuò)誤)的作業(yè),防止機(jī)時(shí)的浪費(fèi)在分時(shí)系統(tǒng)中,間隔時(shí)鐘實(shí)現(xiàn)作業(yè)間按時(shí)間片輪轉(zhuǎn)

在實(shí)時(shí)系統(tǒng)中,按要求的間隔輸出正確時(shí)間信號(hào)給實(shí)時(shí)的控制設(shè)備(如A/D、D/A轉(zhuǎn)換設(shè)備)

定時(shí)喚醒要求延遲執(zhí)行的各外部事件(如定時(shí)為各進(jìn)程計(jì)算優(yōu)先數(shù),銀行中定時(shí)運(yùn)行某類結(jié)賬程序等)

記錄用戶使用設(shè)備時(shí)間和記錄某外部事件發(fā)生時(shí)間記錄用戶和系統(tǒng)所需要的絕對(duì)時(shí)間,即年、月、日

第三章用戶接口與作業(yè)管理

1.闡述程序,作業(yè),作業(yè)步和進(jìn)程之間的聯(lián)系和區(qū)別。答:(1)作業(yè)

用戶在一次計(jì)算過程中,或者一次事務(wù)處理過程中,要求計(jì)算機(jī)系統(tǒng)所做工作的總稱(2)作業(yè)步

一個(gè)作業(yè)可劃分成若干部分,稱為一個(gè)作業(yè)步典型的作業(yè)控制過程:“編譯〞、“連接裝配〞、“運(yùn)行〞

2.一個(gè)具有分時(shí)兼批處理功能的操作系統(tǒng)應(yīng)當(dāng)怎樣調(diào)度和管理作業(yè)?為什么?品

3.在一個(gè)批處理系統(tǒng)中,一個(gè)作業(yè)從提交到運(yùn)行終止并退出系統(tǒng),尋常要經(jīng)歷哪幾個(gè)階段和狀態(tài)?你能說出這些狀態(tài)轉(zhuǎn)變的原因嗎?哪些程序負(fù)責(zé)這些狀態(tài)的轉(zhuǎn)變?4.假設(shè)有三個(gè)作業(yè),他們進(jìn)入時(shí)間和估計(jì)運(yùn)行的時(shí)間如下:作業(yè)號(hào)進(jìn)入時(shí)刻估計(jì)運(yùn)行時(shí)間110:0060分鐘210:1060分鐘310:2515分鐘

在單道批處理方式下,采用先來先服務(wù)算法和最短作業(yè)優(yōu)先算法進(jìn)行作業(yè)調(diào)度。請(qǐng)給出

他們的調(diào)度程序,并分別計(jì)算出作業(yè)平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間,請(qǐng)對(duì)計(jì)算結(jié)果進(jìn)行解釋。

答:先來先服務(wù):

作業(yè)號(hào)進(jìn)入時(shí)間估計(jì)運(yùn)行時(shí)間開始時(shí)間終止時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間110:006010:0011:00601210:106011:0012:0011011/6310:251512:0012:1511022/3

平均周轉(zhuǎn)時(shí)間:280/3帶權(quán):55/6+6/6=61/6最短作業(yè)服務(wù):

作業(yè)號(hào)進(jìn)入時(shí)間估計(jì)運(yùn)行時(shí)間開始時(shí)間終止時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間110:006010:0011:00601

210:106011:1512:1512525/12310:251511:0011:155010/3

平均周轉(zhuǎn)時(shí)間:235/3帶權(quán):1+25/12+10/3=77/12

5.有一個(gè)兩道的批處理操作系統(tǒng),作業(yè)調(diào)度采用最短作業(yè)優(yōu)先的調(diào)度算法,進(jìn)程調(diào)度采用基于優(yōu)先數(shù)的搶占式調(diào)度算法,有如下的作業(yè)序列:作業(yè)進(jìn)入時(shí)間估計(jì)運(yùn)行時(shí)間優(yōu)先數(shù)110:0040分鐘5210:2030分鐘3310:3050分鐘4410:5020分鐘6

其中優(yōu)先數(shù)數(shù)值越小,優(yōu)先級(jí)越高。

1)列出所有作業(yè)進(jìn)入內(nèi)存時(shí)間及運(yùn)行終止時(shí)間2)計(jì)算作業(yè)平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間。答:

作業(yè)號(hào)進(jìn)入時(shí)間估計(jì)運(yùn)行時(shí)間開始時(shí)間終止時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間110:004010:0011:00603/2210:203010:2010:50301310:305010:3011:20501410:502011:0011:20303/2平均周轉(zhuǎn)時(shí)間:2.5帶權(quán):5

第四章進(jìn)程管理

1..一個(gè)單CPU的操作系統(tǒng)共有n個(gè)進(jìn)程,不考慮進(jìn)程狀態(tài)過渡時(shí)的狀況,也不考慮空轉(zhuǎn)進(jìn)

程(1)給出運(yùn)行進(jìn)程的個(gè)數(shù);(2)給出就緒進(jìn)程的個(gè)數(shù);(3)給出等待進(jìn)程的個(gè)數(shù)。解:1.運(yùn)行進(jìn)程的個(gè)數(shù)可能是0,也可能是1;2,就緒的進(jìn)程的個(gè)數(shù)可能是0,也可能是n-13.等待進(jìn)程的個(gè)數(shù)可能是0,也可能是n

2.多道程序在單CPU上并發(fā)運(yùn)行和多道程序在多CPU上并行執(zhí)行,這兩者在本質(zhì)是否一致

為什么?請(qǐng)給出以上兩者在實(shí)現(xiàn)時(shí)應(yīng)考慮什么問題?答:

1)本質(zhì)上不同,前者是宏觀上并發(fā)同時(shí)運(yùn)行,微觀上是交替順序執(zhí)行,后者則是宏觀上并行,微觀上也并行。

2)在實(shí)現(xiàn)多道程序設(shè)計(jì)時(shí),必需協(xié)調(diào)好資源使用者和被使用者之間的關(guān)系,即對(duì)處理機(jī)資源

加以管理,以實(shí)現(xiàn)處理機(jī)在各個(gè)可運(yùn)行程序之間的分派與調(diào)度,對(duì)內(nèi)存資源加以管理,將內(nèi)存分派給各個(gè)運(yùn)行程序,還要解決程序在內(nèi)存中的定位問題,并防止內(nèi)存中各個(gè)程序之間相互干擾或?qū)Σ僮飨到y(tǒng)的干擾,對(duì)設(shè)備資源進(jìn)行管理,使各個(gè)程序在使用設(shè)備時(shí),不發(fā)

生沖突。

3.用進(jìn)程概念說明操作系統(tǒng)的并發(fā)性和不確定性是怎樣表達(dá)出來的?答:進(jìn)程的并發(fā)特性和異步特性表達(dá)了操作系統(tǒng)的并發(fā)性和不確定性。

進(jìn)程的并發(fā)特性:可以同其他進(jìn)程一道向前推進(jìn),即一個(gè)進(jìn)程的第一個(gè)動(dòng)作可以在另一個(gè)進(jìn)程的最終一個(gè)動(dòng)作終止之前開始

進(jìn)程的異步性:每個(gè)進(jìn)程依照各自獨(dú)立的,不可預(yù)知的速度向前推進(jìn)。

4.PCB的作用是什么?他是怎么樣描述進(jìn)程的動(dòng)態(tài)本質(zhì)的?

答:PCB稱為進(jìn)程控制塊(ProcessControlBlock),為了便于系統(tǒng)控制和描述進(jìn)程的活動(dòng)過程,在操作系統(tǒng)核心中為進(jìn)程定義一個(gè)專門的數(shù)據(jù)結(jié)構(gòu),就是PCB。

系統(tǒng)利用PCB來描述進(jìn)程的基本狀況以及進(jìn)程的運(yùn)行變化過程。PCB是進(jìn)程存在的唯一標(biāo)

志。當(dāng)系統(tǒng)創(chuàng)立一個(gè)進(jìn)程時(shí),為進(jìn)程設(shè)置一個(gè)PCB,再利用PCB對(duì)進(jìn)程進(jìn)行控制和管理;撤

銷進(jìn)程時(shí),-系統(tǒng)收回它的PCB,進(jìn)程也隨之消亡。5.進(jìn)程的三個(gè)基本狀態(tài)轉(zhuǎn)換如圖(見書),圖中1,2,3,4表示某種類型的狀態(tài)變遷,請(qǐng)分別回復(fù)以下問題:

1)什么“事件〞引起某一種類型的狀態(tài)變遷

答:運(yùn)行中的進(jìn)程由于中斷的發(fā)生,或者需要等待某種事件的發(fā)生,變遷到等待狀態(tài)等待狀態(tài)的進(jìn)程,應(yīng)為所等待的事件發(fā)生了,變遷到就緒態(tài)CPU為空的時(shí)候,就緒態(tài)的進(jìn)程就變遷到運(yùn)行狀態(tài)運(yùn)行的進(jìn)程由于調(diào)度程序,變遷到就緒狀態(tài)

2)系統(tǒng)中往往由于某一進(jìn)程的狀態(tài)變遷引起另一進(jìn)程也產(chǎn)生狀態(tài)變遷,試判斷在下述情況下,假使有的話,將發(fā)生什么因果變遷?3->12.->14->13->4

假使有處于就緒態(tài)的進(jìn)程(3->1)假使有處于就緒態(tài)的進(jìn)程(2->1)CPU為空(4->1)等待事件發(fā)生(3->4)

3)在什么狀況下,下述變遷中哪些將不馬上引起其他變遷?1234

當(dāng)1發(fā)生,并不引起其他變遷

當(dāng)2發(fā)生,假使有進(jìn)程處于就緒態(tài),引起1發(fā)生當(dāng)3發(fā)生,假使有進(jìn)程處于就緒態(tài),引起1發(fā)生當(dāng)4發(fā)生,假使CPU為空,那么引起1發(fā)生4)引起進(jìn)程狀態(tài)變遷的根本原因是什么?

答:原因:自身的進(jìn)展?fàn)顩r和外界環(huán)境條件的變化。自身的規(guī)律,中斷和進(jìn)程調(diào)度程序等!

根據(jù)進(jìn)程的動(dòng)態(tài)性,進(jìn)程在其生命周期內(nèi),需要經(jīng)歷一系列離散狀態(tài)。6.內(nèi)核尋常完成哪些功能?經(jīng)過內(nèi)核擴(kuò)展后形成的虛擬機(jī)有哪些屬性?答:內(nèi)核一般提供如下功能

1)中斷處理2)進(jìn)程調(diào)度3)進(jìn)程控制4)進(jìn)程同步與互斥;5)進(jìn)程通信;6)存儲(chǔ)管理的基本操作7)設(shè)備管理的基本操作8)文件信息管理的基本操作9)時(shí)鐘管理

虛擬機(jī)的屬性有:1)沒有中斷2)為每個(gè)進(jìn)程提供了一臺(tái)虛擬處理機(jī),每個(gè)進(jìn)程好像在各自的處理機(jī)上順序的運(yùn)行3)為進(jìn)程提供了強(qiáng)大的指令系統(tǒng),即非特權(quán)的指令和原語一起組成的指令系統(tǒng)

7.并發(fā)進(jìn)程執(zhí)行時(shí)一定會(huì)產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤嗎?為什么?

答:不一定,假使并發(fā)進(jìn)程都占有一些受到保護(hù)的私有資源(包括內(nèi)存,設(shè)備等資源),那么執(zhí)行的結(jié)果和進(jìn)程調(diào)度的算法以及中斷等外界環(huán)境沒有關(guān)系,所以不一定會(huì)產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤.

8.試舉出進(jìn)程狀態(tài)轉(zhuǎn)換的典型原因和引起進(jìn)程調(diào)度的因素。

答:進(jìn)程狀態(tài)轉(zhuǎn)換的典型原因:1中斷或者等待某事件發(fā)生,2.所等待事件發(fā)生了3,CPU為

引起進(jìn)程調(diào)度的因素為:1)正在執(zhí)行的進(jìn)程運(yùn)行完畢

2)正在執(zhí)行的進(jìn)程調(diào)用阻塞原語將自己阻塞起來并進(jìn)入等待狀態(tài)

3)正在執(zhí)行的進(jìn)程調(diào)用了P原語操作,從而由于資源不足而被阻塞,或調(diào)用了V原語操作

激活了等待資源的進(jìn)程隊(duì)列

4)執(zhí)行中的進(jìn)程提出了I/O請(qǐng)求后被阻塞5)在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完

以上都是CPU為不可搶占方式下引起進(jìn)程調(diào)用的原因,當(dāng)CPU為可搶占時(shí),就緒隊(duì)列中的進(jìn)

程比當(dāng)前運(yùn)行的進(jìn)程的優(yōu)先級(jí)高,也引起進(jìn)程調(diào)度9.說明以下活動(dòng)是屬于哪些制約關(guān)系?1)若干同學(xué)去圖書館借書進(jìn)程互斥2)兩隊(duì)進(jìn)行籃球比賽進(jìn)程互斥

3)流水線生產(chǎn)中的各道工序進(jìn)程同步4)商品生產(chǎn)和社會(huì)消費(fèi)進(jìn)程同步

10,是否所有的共享資源都是臨界資源,為什么?

答:不是,根據(jù)定義,一次只允許一個(gè)進(jìn)程使用得進(jìn)程才叫臨界資源,能同時(shí)被多個(gè)進(jìn)程使用得資源不是臨界資源

11.設(shè)一臺(tái)計(jì)算機(jī),有兩條I/O通道,分別接一臺(tái)卡片輸入機(jī)和一臺(tái)打印機(jī)??ㄆ瑱C(jī)把一疊卡片逐一輸入到緩沖區(qū)B1中,加工處理后再搬到緩沖區(qū)B2中,并在打印機(jī)上印出,問:

1)系統(tǒng)要設(shè)幾個(gè)進(jìn)程來完成這個(gè)任務(wù)?各自的工作是什么?2)這些進(jìn)程間有什么樣的相互制約關(guān)系3)用P,V操作寫出這些進(jìn)程的同步算法

4)設(shè)系統(tǒng)中只有上述幾個(gè)進(jìn)程,用圖表示出各自狀態(tài)變遷狀況及原因?答:這是一個(gè)典型的生產(chǎn)者,消費(fèi)者問題

1)系統(tǒng)要設(shè)三個(gè)進(jìn)程完成任務(wù),第一個(gè)進(jìn)程P1,從卡片輸入機(jī)中讀入數(shù)據(jù),并且把數(shù)據(jù)放入緩沖區(qū)B1中,其次個(gè)進(jìn)程從B1緩沖區(qū)中取數(shù)據(jù),加工處理后放入緩沖區(qū)B2中。第三個(gè)進(jìn)

程將緩沖區(qū)的內(nèi)容輸入到打印機(jī)中打印出來2)這三個(gè)進(jìn)程之間是同步和互斥的關(guān)系3)三個(gè)進(jìn)程之間必需協(xié)調(diào)工作,需設(shè)置四個(gè)信號(hào)量,S1,S2,S3,S4并令S1的初值為1,S2的處置為0,S4的初值為1,則程序?yàn)椋哼M(jìn)程p1進(jìn)程p2進(jìn)程p3P(S1)P(S2)P(S3)

從卡片機(jī)中讀入數(shù)據(jù)P(S4)將緩沖區(qū)B2內(nèi)容V(S2)將BufferB1中的數(shù)據(jù)在打印機(jī)中輸出拷貝道BufferB2中V(S4)V(S1)V(S3)

4)當(dāng)緩沖區(qū)B1為空時(shí),當(dāng)有輸入時(shí),進(jìn)程p1進(jìn)入就緒態(tài),假使CPU為空,則為運(yùn)行態(tài),

入完成后,進(jìn)入等待態(tài)

假使存在進(jìn)程p2,則為等待態(tài),當(dāng)S2+1后,處于等待態(tài)進(jìn)程進(jìn)入就緒態(tài),假使CPU為空

進(jìn)入運(yùn)行態(tài),拷貝完成后,進(jìn)入等待態(tài)

假使存在進(jìn)程p3,則為等待態(tài),當(dāng)S3+1后,處于等待態(tài)進(jìn)程進(jìn)入就緒態(tài),假使CPU為空

進(jìn)入運(yùn)行態(tài),輸出完成后,進(jìn)入等待態(tài)

12.設(shè)有無窮多個(gè)信息,輸入進(jìn)程把信息逐個(gè)寫入緩沖區(qū),輸入進(jìn)程逐個(gè)地從緩沖區(qū)中取出信息。在下述狀況下:1)緩沖區(qū)是環(huán)形的,最多可以容納n個(gè)信息;2)緩沖區(qū)是無窮大的。

試分別回復(fù)以下問題?

1)輸入,輸出兩進(jìn)程讀,寫緩沖區(qū)需要什么條件?

2)用P,V操作寫出輸入,輸出兩進(jìn)程的同步算法,并給出信號(hào)量含義以及初值3)指出信號(hào)量的值的變化范圍和其值的含義答:

一:當(dāng)緩沖區(qū)的大小為n時(shí)

1)當(dāng)緩沖區(qū)信息為空的時(shí)候,輸出進(jìn)程無法讀,處于等待狀態(tài),當(dāng)緩沖區(qū)信息為滿的時(shí)候無法寫,都某個(gè)緩沖區(qū)單位進(jìn)行讀寫的時(shí)候,要互斥2)

1.空的信號(hào)量empty初值為n,滿的信號(hào)量為full初值為0,對(duì)緩沖區(qū)單元的互斥信號(hào)量為mutex,j,k為緩沖區(qū)單位地址,初值為0寫進(jìn)程讀進(jìn)程P(empty)P(full)P(mutex)P(mutex)

向Buffer[i]寫入信息從Buffer[k]中讀信息V(mutex)V(mutex)V(full)V(empty)

j:=(j+1)modnk:=(k+1)modn

4)empty表示還有多少緩沖區(qū)單元為空,假使empty=0,表示緩沖區(qū)滿,系統(tǒng)調(diào)用寫進(jìn)程時(shí),寫進(jìn)程處于等待態(tài)

full表示緩沖區(qū)都多少有信心的單元,假使full=0,表示緩沖區(qū)空,系統(tǒng)調(diào)用寫進(jìn)程時(shí),讀進(jìn)程處于等待態(tài)

mutex表示對(duì)于緩沖區(qū)單元的互斥信號(hào)量,當(dāng)mutex=1時(shí),開鎖,mutex=0時(shí),閉鎖二.當(dāng)緩沖區(qū)大小為無窮大時(shí)1)同上2)

1.空的信號(hào)量empty不用設(shè),滿的信號(hào)量為full初值為0,對(duì)緩沖區(qū)單元的互斥信號(hào)量為mutex,j,k為緩沖區(qū)單位地址,初值為0寫進(jìn)程讀進(jìn)程P(full)

P(mutex)P(mutex)

向Buffer[i]寫入信息從Buffer[k]中讀信息V(mutex)V(mutex)

V(full)

j:=(j+1)modnk:=(k+1)modn

4)full表示緩沖區(qū)都多少有信心的單元,假使full=0,表示緩沖區(qū)空,系統(tǒng)調(diào)用寫進(jìn)程時(shí),讀進(jìn)程處于等待態(tài)

mutex表示對(duì)于緩沖區(qū)單元的互斥信號(hào)量,當(dāng)mutex=1時(shí),開鎖,mutex=0時(shí),閉鎖

13.假定一個(gè)閱覽室最多可以容納100人,讀者進(jìn)入和離開閱覽室都必需在閱覽室門口的一個(gè)登記表上標(biāo)志(進(jìn)入時(shí)登記,離開時(shí)去掉登記項(xiàng))而且每次只允許一人登記或者去掉登

記,問:

1)應(yīng)編寫幾個(gè)進(jìn)程完成這項(xiàng)工作,程序的主要?jiǎng)幼魇切┦裁???yīng)當(dāng)設(shè)置幾個(gè)進(jìn)程?進(jìn)程和程序間的關(guān)系如何?

2)用P,V操作寫出這些進(jìn)程的同步通信關(guān)系

答:編寫兩個(gè)進(jìn)程,一個(gè)處理讀者進(jìn)入,一個(gè)處理讀者離開,進(jìn)程是程序的動(dòng)態(tài)執(zhí)行設(shè)置信號(hào)量full為初值為0,空的信號(hào)量empty初值為100,互斥信號(hào)量mutex初值為1

進(jìn)入離開

P(empty)P(full)P(mutex)P(mutex)登記取消登記V(mutex)V(mutex)V(full)V(empty)進(jìn)入離開

14.在生產(chǎn)者和消費(fèi)者問題中,假使對(duì)調(diào)生產(chǎn)者(或消費(fèi)者)進(jìn)程中的兩個(gè)P操作和兩個(gè)V操作的次序,會(huì)發(fā)生什么狀況?請(qǐng)說明!

答:對(duì)調(diào)P操作,會(huì)發(fā)生死鎖由于P(empty)在p(mutex)和v(mutex)內(nèi)部,也就是臨界區(qū)中,當(dāng)empty≤0,時(shí),P(empty)在臨界區(qū)中進(jìn)入到了休眠狀態(tài)。那么就別的進(jìn)程都進(jìn)入不到臨界區(qū)中,進(jìn)入死鎖狀態(tài)。而兩個(gè)V操作無關(guān)緊要

15.為什么引入高級(jí)通信機(jī)構(gòu)?他有什么優(yōu)點(diǎn)?說明消息緩沖通信機(jī)構(gòu)的基本工作過程?答:

1)為了解決大量的消息交換,

2)優(yōu)點(diǎn):不僅能夠保證相互制約的進(jìn)程之間的相互關(guān)系,還同時(shí)實(shí)現(xiàn)了進(jìn)程之間的信息交換

3)消息緩沖通信技術(shù)的工作過程:

其基本思想是:根據(jù)“生產(chǎn)者-消費(fèi)者〞原理,利用內(nèi)存中公用消息緩沖區(qū)實(shí)現(xiàn)進(jìn)程之間的信息交換。

內(nèi)存中開拓了若干消息緩存區(qū),用以存放消息,每當(dāng)一個(gè)進(jìn)程(發(fā)送進(jìn)程)向另一個(gè)進(jìn)程(接收進(jìn)程)發(fā)送消息時(shí),便申請(qǐng)一個(gè)消息緩沖區(qū),并把已準(zhǔn)備好的消息發(fā)送到緩沖區(qū)中,然后把該消息緩沖區(qū)插入到接受進(jìn)程的消息隊(duì)列中,最終通知接受進(jìn)程,接收進(jìn)程收到發(fā)送進(jìn)程發(fā)送到的通知后,從本進(jìn)程的消息隊(duì)列中摘下一消息緩沖區(qū),取出所需的消息,然后把消息緩沖區(qū)還給系統(tǒng)。

16.進(jìn)程間為什么要進(jìn)行通信?在編寫自己的程序時(shí),是否考慮到要和別的用戶程序進(jìn)行通信?各個(gè)用戶進(jìn)程間是否存在制約關(guān)系?

答;1)各個(gè)進(jìn)程在運(yùn)行的時(shí)候,共享內(nèi)存,或者共同完成一個(gè)特定的功能,都需要進(jìn)行通信,

2)需要,

3)促在同步和互斥的關(guān)系,譬如閑聊程序

17.假定一個(gè)系統(tǒng)的磁盤塊大小為2KB,一個(gè)塊的平均訪問時(shí)間是20毫秒。一個(gè)有40KB進(jìn)程

由于資源請(qǐng)求從運(yùn)行態(tài)變?yōu)樽枞麘B(tài),它必需保持阻塞多長(zhǎng)時(shí)間?答:40/2*20=400毫秒

保持阻塞態(tài)400毫秒

18.假設(shè)A,B兩個(gè)火車站之間是單軌線,大量列車同時(shí)到達(dá)A站,然后經(jīng)過A站到達(dá)B站;又

列車從A到B的行駛時(shí)間是t,列車在B戰(zhàn)后的停留時(shí)間是t/2,試問在該問題模型中,什么是

臨界資源,什么是臨界區(qū)?

答:臨界資源:A到B之間的單軌線,以及B站是臨界資源臨界區(qū):在A到B之間行駛,以及在B上停留是臨界區(qū)19.同步機(jī)制應(yīng)當(dāng)遵循哪些原則?為什么?

答:1.它的描述能力應(yīng)當(dāng)足夠強(qiáng),既能解決各種進(jìn)程間的同步互斥問題;2.其次,應(yīng)當(dāng)簡(jiǎn)單實(shí)現(xiàn)并效率高3.第三,使用便利

20.我們?yōu)槟撑R界資源設(shè)置一把鎖W。當(dāng)W=1時(shí),表示關(guān)鎖,W=0時(shí),表示開鎖,試寫出開鎖

和關(guān)鎖原語,并利用它去實(shí)現(xiàn)互斥。答:while(1==w);enter臨界區(qū)

21.進(jìn)程A1,A2,?,An通過m個(gè)緩沖區(qū)向進(jìn)程B1,B2,?,Bn不斷發(fā)送消息,發(fā)送和接收工作遵

循如下規(guī)則:

1)每個(gè)發(fā)送進(jìn)程每次發(fā)送一個(gè)消息,寫入一個(gè)緩沖區(qū),緩沖區(qū)大小與消息長(zhǎng)度一樣2)對(duì)每一個(gè)消息,B1,B2,..Bn都需要各接收一次,讀到各自的數(shù)據(jù)區(qū)中;3)m個(gè)緩沖區(qū)都滿時(shí),發(fā)送進(jìn)程等待,沒有可讀消息時(shí),接受進(jìn)程等待試用P,V操作組織正確的發(fā)送和接收操作。答:VAR

mutex:Semaphore:{初值為1,實(shí)現(xiàn)對(duì)緩沖區(qū)的互斥}empty:Semaphore:{初值為n,有多少緩沖}

Full:Array[1..n]OFSemaphore:{初值為0,每個(gè)接收進(jìn)程當(dāng)前可接收的緩沖區(qū)}

Count:Array[1..n]OFINTEGER;{初值為0,n個(gè)緩沖區(qū)被訪問的次數(shù)}

ReceivePointer:Array[1?n]OFINTEGER{初值為0,該接收進(jìn)程要取哪個(gè)}SendPointer:INTEGER;{初值為0,發(fā)送進(jìn)程下次要放到哪個(gè)緩沖區(qū)}發(fā)送進(jìn)程(num:INTEGER){num為進(jìn)程號(hào)}RepeatP(empty)P(mutex)

向buff[sendPointer]放消息

sendPointer:=(sendPointer+1)modkcount[sendPointer]:=0V(mutex)

Fori:=1TonDoV(Full[i])UntilFALSE

接收進(jìn)程(num:INTEGER):{num為接收進(jìn)程號(hào)}Repeat

P(Full[num])P(mutex)

從buff[ReceivePoiner[num]]中取消息V(mutex)

Count[ReceivePoiner[num]]:=Count[ReceivePoiner[num]]+1IF(Count[ReceivePoiner[num]]==n)THENV(empty)

Count[ReceivePoiner[num]]==0

ReceivePoiner[num]]:=(ReceivePoiner[num])+1)modnUntilFALSE

22.有K個(gè)進(jìn)程共享一個(gè)臨界區(qū),對(duì)于下述狀況,請(qǐng)說明信號(hào)量值的初值,含義,并用P,V

操作寫出相關(guān)的互斥算法。

1)一次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)2)一次只允許m個(gè)進(jìn)程進(jìn)入臨界區(qū)答:1)設(shè)置互斥信號(hào)量mutex,初值為1P(mutex)Enter_regionV(mutex)

2)設(shè)置同步信號(hào)量mutex,初值為m;P(mutex)Enter_regionV(mutex)

23.愛睡覺的理發(fā)師問題,一個(gè)理發(fā)店有兩間相連的屋子,一間是私室,里面有一把理發(fā)椅,另一個(gè)是等候室,有一個(gè)滑動(dòng)門和N把椅子。理發(fā)師忙的時(shí)候,通向私室的門被關(guān)閉,新來的顧客找一把空椅子坐下,假使椅子都被占用了,則顧客只好離去,假使沒有顧客,則理發(fā)師在理發(fā)椅上睡覺。并開啟通向私室的門。理發(fā)師睡覺時(shí),顧客可以叫醒他理發(fā),請(qǐng)編寫

理發(fā)師和顧客的程序,正確實(shí)現(xiàn)同步和互斥問題!答:

解:VAR:

S1,S2:Semaphore;{初值為0,實(shí)現(xiàn)理發(fā)師與顧客的同步}Mutex:Semaphore:{初值為1,實(shí)現(xiàn)對(duì)waiting的互斥}waiting:INTEGER:{初值為0,等待的顧客數(shù)}理發(fā)師進(jìn)程REPEAT

P(S1){若無顧客,則睡覺}P(mutex)

Waiting:=waiting-1

V(S2);(喚醒一個(gè)等待的客戶)V(mutex)理發(fā)

UntilFALSE顧客進(jìn)程P(mutex)

IF(waitingT,3)ST時(shí),CPU的利用率=T/(T+S)*100%(當(dāng)進(jìn)程運(yùn)行完后,就切換,也就相當(dāng)于時(shí)間片=T

)

3)當(dāng)S

P(mutex)

if(count2[k]==0)P(S[k])count[k]++

過第k+1個(gè)船閘P(mutex)count[k]--

if(count[k]==0)V(S[k])V(mutex)}

35.某銀行有人民幣儲(chǔ)蓄業(yè)務(wù),由n個(gè)柜員負(fù)責(zé),每個(gè)顧客進(jìn)入銀行后,先取一個(gè)號(hào),并且等著叫號(hào),當(dāng)一個(gè)柜員人員空閑下來,就叫上一個(gè)號(hào),使用P,V操作正確編寫柜臺(tái)人員和顧客進(jìn)程的程序!

解;取號(hào)的互斥信號(hào)量mutex,叫號(hào)的互斥信號(hào)量mutex1柜臺(tái)人員和顧客進(jìn)程的同步信號(hào)量為S1,S2,初值分別為n,0柜臺(tái)人員進(jìn)程:

P(S2)(無顧客則等待)P(mutex1)叫號(hào)

V(mutex1)服務(wù)V(S1)顧客進(jìn)程P(mutex)取號(hào)V(mutex)P(S1)享受服務(wù)V(S2)

36,設(shè)A,B,C三個(gè)進(jìn)程共享一個(gè)存儲(chǔ)資源F,A對(duì)F只讀不寫,B對(duì)F只寫不讀,C對(duì)F先讀后寫。

(當(dāng)一個(gè)進(jìn)程寫F時(shí),其他進(jìn)程既不能讀F,也不能寫F,但多個(gè)進(jìn)程同時(shí)讀F是允許的)試

利用管程的方法或者P,V操作,寫出A,B,C三個(gè)進(jìn)程的框架,要求:(1)執(zhí)行正確(2)正常運(yùn)行時(shí)不產(chǎn)生死鎖;(3)使用F的并發(fā)度高37,某系統(tǒng)如此定義P,V操作P(S)S=S-1

若S

2)40,65,203)20,50,604)130,60k,205)140,70,70

14.頁式存儲(chǔ)管理系統(tǒng)中作業(yè)的地址空間是一維的還是二維的?請(qǐng)說明理由答:二維的,有一維是:頁號(hào),和其次維是:頁內(nèi)地址!

15.頁式存儲(chǔ)管理需要哪些硬件支持?如何實(shí)現(xiàn)規(guī)律地址到物理地址的映射?答:系統(tǒng)提供了一對(duì)寄放器:頁表始址寄放器和頁表長(zhǎng)度寄放器。1)具體步驟說明如下

1)地址映射機(jī)制把CPU給出的規(guī)律地址分為兩部分:頁號(hào)P和頁內(nèi)地址

2)將規(guī)律頁號(hào)P與頁表長(zhǎng)度寄放器內(nèi)容比較,假使P大于等于頁表長(zhǎng)度L,則為越屆,發(fā)生

地址越界中斷

3)根據(jù)頁表始址寄放器的內(nèi)容D得到頁表在內(nèi)存的首地址,并根據(jù)規(guī)律頁號(hào)P在頁表中找到對(duì)應(yīng)的內(nèi)存塊號(hào)P'

4)把物理頁號(hào)與規(guī)律地址中的頁內(nèi)地址D拼在一起,形成訪問內(nèi)存的物理地址

16.假定一個(gè)存儲(chǔ)管理程序已經(jīng)把它的頁面淘汰決定縮小到兩頁之一,假定其中一頁由幾個(gè)進(jìn)程共享,另一頁僅由一個(gè)進(jìn)程使用,最終應(yīng)當(dāng)淘汰哪一頁?請(qǐng)解釋!答:當(dāng)然是后一頁,這樣就能避免頻繁的調(diào)度頁面!

17.在多道程序系統(tǒng)中,程序和數(shù)據(jù)共享可以大大的節(jié)省內(nèi)存空間,分別說明頁式,段式和段頁式存儲(chǔ)管理系統(tǒng)中是如何實(shí)現(xiàn)共享的?答:

頁式:頁式存儲(chǔ)管理使每個(gè)程序能利用內(nèi)存空間中一些不連續(xù)的存儲(chǔ)塊,這種靈活性就允許兩個(gè)或多個(gè)程序共享程序中的代碼或公共數(shù)據(jù)段。

段式:假使多個(gè)用戶進(jìn)程或作業(yè)需要共享某段程序或數(shù)據(jù),可以使用不同的段名,在各自的段表中填入已在內(nèi)存中的共享段的起始地址,并設(shè)置適當(dāng)?shù)淖x寫控制權(quán),就可以做到共享一個(gè)內(nèi)存段的信息。段頁式:?

18.在頁式存儲(chǔ)管理系統(tǒng)中,對(duì)數(shù)據(jù),過程的共享有什么限制,為什么?

答:對(duì)于數(shù)據(jù)頁面的共享,實(shí)現(xiàn)起來比較簡(jiǎn)單,由于這個(gè)共享的數(shù)據(jù)頁面,可以安排在程序

地址空間的任何一個(gè)頁面上,而代碼的共享則不然,它必需把共享的代碼安排到所有共享它

的程序地址空間中一致頁號(hào)的頁面中,即共享代碼所在地址空間必需重疊。19.為什么期望大多數(shù)程序具有局部性?

答:利用虛擬存儲(chǔ)技術(shù),可以為程序提供較少的物理頁面,就可以完成執(zhí)行程序的任務(wù)。20.設(shè)計(jì)一個(gè)頁表應(yīng)考慮哪些因素?

答:系統(tǒng)為每個(gè)用戶程序建立一張頁表,用于記錄用戶程序的規(guī)律頁面與內(nèi)存物理頁面之間

的對(duì)應(yīng)關(guān)系,包括兩項(xiàng)內(nèi)容:規(guī)律頁面號(hào),該規(guī)律頁面在內(nèi)存中分派的物理頁面號(hào)(內(nèi)存塊號(hào)),用戶程序的地址空間有多少頁,該頁表里登記多少行,且按規(guī)律頁的順序排列。頁表存放在內(nèi)存系統(tǒng)區(qū)。

21.操作系統(tǒng)的存儲(chǔ)管理目標(biāo)是什么?段頁式管理是如何實(shí)現(xiàn)這些目標(biāo)的?答:

1)充分利用內(nèi)存,對(duì)多道程序并發(fā)執(zhí)行。

22.為什么說段頁式管理時(shí)的虛擬地址依舊是二維的?答:段號(hào),段內(nèi)地址。

23.假定磁盤空閑空間表說明有以下存儲(chǔ)塊空閑塊:13,11,18,9和20塊。有一個(gè)要求為某文件分派10個(gè)連續(xù)的磁盤塊。

1)假使采用首次適應(yīng)分派策略,那么將分派哪個(gè)塊?

31.有一臺(tái)計(jì)算機(jī)含有四個(gè)頁面,每一頁的裝入時(shí)間,最終一次修改時(shí)間以及R與M位的值

如下(時(shí)間為時(shí)間周期):

頁裝入時(shí)間最終訪問時(shí)間RM012627900123026010212027211316028011

1)NRU應(yīng)當(dāng)淘汰哪一頁?2)FIFO應(yīng)當(dāng)淘汰哪一頁?3)LRU應(yīng)當(dāng)淘汰哪一頁?

4)其次次機(jī)遇應(yīng)當(dāng)淘汰哪一頁?答:?

32.請(qǐng)求頁式存儲(chǔ)管理中,頁面置換算法所花的時(shí)間屬于系統(tǒng)開銷,這種說法對(duì)嗎?答:額外開銷。

33.何謂系統(tǒng)的“抖動(dòng)〞現(xiàn)象?當(dāng)系統(tǒng)發(fā)生“抖動(dòng)〞時(shí),你認(rèn)為應(yīng)當(dāng)采取什么措施加以克服?

答:在虛存中,頁面在內(nèi)存和外存之間頻繁的調(diào)度,以至于調(diào)度頁面所需時(shí)間比進(jìn)程實(shí)際運(yùn)行的時(shí)間還多,此時(shí)系統(tǒng)效率急劇下降,甚至導(dǎo)致系統(tǒng)崩潰,這種現(xiàn)象稱為顛簸(抖動(dòng))

產(chǎn)生的原因:頁面置換算法不合理,分派給進(jìn)程的物理頁面數(shù)太少。解決方法:調(diào)整算法,多分派物理頁面數(shù)。

34.在虛擬頁式存儲(chǔ)管理中,進(jìn)程在內(nèi)外存中的存放有以下兩種方法:1)一部分頁面放在內(nèi)存,其余頁面放在外存2)一部分頁面放在內(nèi)存,全部頁面放在外存

試從系統(tǒng)開銷的角度分析兩種方法各自的優(yōu)缺點(diǎn),并說明頁表的區(qū)別。答:?

35,36,37其次次復(fù)習(xí)的時(shí)候做??!

第六章文件管理

1.舉一個(gè)文件訪問的例子,所舉的領(lǐng)域在某些狀況下,信息必需隨機(jī)訪問,而在其他時(shí)間必需順序訪問.

答:進(jìn)行視頻文件播放時(shí)。

2.為什么支持索引文件的文件系統(tǒng)無法獲得順序訪問文件系統(tǒng)一致的效率?

答:由于:索引結(jié)構(gòu)的缺點(diǎn)就是:較多的尋道次數(shù)和尋道時(shí)間,以及索引表本身增加了存儲(chǔ)空間的開銷。

連續(xù)結(jié)構(gòu)的優(yōu)點(diǎn)就是:文件存取十分簡(jiǎn)單迅速。

3.假設(shè)一個(gè)活動(dòng)頭磁盤有200道,編號(hào)1-199,當(dāng)前磁頭正在143道上服務(wù),并且剛剛完成了

125道的請(qǐng)求,現(xiàn)有如下訪盤請(qǐng)求序列(磁道號(hào))86,147,91,177,94,150,102,175,130

試給出采用以下算法后磁頭移動(dòng)的順序和移動(dòng)總量(總磁道數(shù))1)最短尋道時(shí)間優(yōu)先(SSTF)磁盤調(diào)度算法

2)掃描法(SCAN)磁盤調(diào)度算法(假設(shè)沿磁頭移動(dòng)方向不再有訪問請(qǐng)求,磁頭沿相反方向移動(dòng))

答:1)1431471501301029491861751772)143130102949186147150175177

4.假定一個(gè)文件系統(tǒng)用索引文件結(jié)構(gòu)管理存儲(chǔ)塊。每個(gè)文件都有一個(gè)目錄項(xiàng),存放文件名,第一個(gè)索引塊,以及文件長(zhǎng)度。第一個(gè)索引塊指向248各文件塊和下一個(gè)索引塊。假使一個(gè)文件當(dāng)前放在第2023各規(guī)律塊,而下一個(gè)操作是訪問第306個(gè)規(guī)律塊,那么必需從磁盤上讀多少個(gè)物理塊?答:

5.假定一個(gè)UNIX的磁盤塊能夠存放1048個(gè)磁盤地址。用直接盤塊指針的文件的最大尺寸是

多少?一重間接塊指針呢?二重間接塊指針呢?三重呢?

6.早期MS-DOS版本的文件系統(tǒng)最大能夠管理32M的磁盤空間,根據(jù)本章所講的有關(guān)目錄和

文件的知識(shí),推測(cè)由于該限制可能導(dǎo)致的一些后果。

7.假定一個(gè)文件系統(tǒng)的組織方式與MS-DOS文件系統(tǒng)類似,在FAT中有64K個(gè)指針,請(qǐng)說明該

文件系統(tǒng)是否能夠用這64K個(gè)指針來引用一個(gè)512M磁盤上一個(gè)512字節(jié)塊。

8.文件系統(tǒng)檢測(cè)程序經(jīng)常利用位圖?;镜南敕ň褪前言搱D拷貝到檢測(cè)程序的地址空間去,把圖中每一個(gè)項(xiàng)放大,使它能夠包含更多的狀態(tài)信息(例如已分派,未分派,已檢測(cè),壞塊),請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,用增加內(nèi)容位示圖來檢測(cè)一個(gè)磁盤的上述狀態(tài)信息,并作出具體統(tǒng)計(jì)。

答:1)為位圖增加一個(gè)內(nèi)容位示圖,已分派,未分派,已檢測(cè),壞塊分別用0,1,2,3來代替

2)檢測(cè)磁盤,遇到0,:count0++,遇到1:count1++,遇到2,count2++,遇到3,count3++,(初值都為0)

3)得出相應(yīng)的塊的個(gè)數(shù)。

9.假定需要一種機(jī)制,是的一個(gè)文件能被任何用戶讀,但只能被一個(gè)用戶寫。譬如全國(guó)高考成績(jī),可被高考學(xué)生讀,但只能被有關(guān)辦公室修改成績(jī),請(qǐng)?jiān)O(shè)計(jì)該文件的存取控制機(jī)制。

答:1)審定用戶權(quán)限

2)比較用戶權(quán)限的本次存取要求是否和用戶的存取權(quán)限一致

3)將用戶的存取要求和被訪問文件的存取控制表進(jìn)行比較,看是否沖突,假使沒有

沖突,允許用戶對(duì)有關(guān)文件進(jìn)行訪問,假使有沖突,處理沖突。

10.請(qǐng)描述一種機(jī)制,硬件的或軟件的,它根據(jù)用戶的指紋進(jìn)行身份識(shí)別。

答:第一步要對(duì)用戶的身份進(jìn)行驗(yàn)證,其次步,采用一組稱為存取控制模塊的程序,對(duì)用戶

的存取權(quán)限進(jìn)行控制。

11.文件目錄的作用是什么?一個(gè)目錄表目應(yīng)包含哪些信息?

答:文件目錄就是文件控制塊的有序集合,即把所有文件控制塊有機(jī)地組織起來,就構(gòu)成了文件目錄。

文件控制塊應(yīng)當(dāng)包括以下內(nèi)容:文件名,文件號(hào),用戶名,文件地址,文件長(zhǎng)度,文件類型,文件屬性,共享計(jì)數(shù),文件的建立日期,保存期限,最終修改日期等!12.多級(jí)目錄結(jié)構(gòu)的特點(diǎn)有哪些?有什么好處?答:優(yōu)點(diǎn):

層次結(jié)構(gòu)明了,便于管理和保護(hù);有利于文件分類;解決重名問題;提高文件檢索速度;能進(jìn)行存取權(quán)限的控制缺點(diǎn):

查找一個(gè)文件按路徑名逐層檢查,由于每個(gè)文件都放在外存,屢屢訪盤影響速度13.可通過什么方法來實(shí)現(xiàn)用戶之間共享某個(gè)文件?答:1)繞道法2)I節(jié)點(diǎn)法3)符號(hào)鏈接法

14.在設(shè)計(jì)文件系統(tǒng)時(shí),對(duì)文件的數(shù)據(jù)結(jié)構(gòu)應(yīng)做何考慮?答:順序結(jié)構(gòu),鏈接結(jié)構(gòu),索引結(jié)構(gòu)以及I節(jié)點(diǎn).

15.請(qǐng)?jiān)O(shè)計(jì)一個(gè)文件系統(tǒng)的FCB,并說明為何要安排FCB的每一項(xiàng)內(nèi)容。

答:文件控制塊PCB為系統(tǒng)管理文件而設(shè)置的一個(gè)數(shù)據(jù)結(jié)構(gòu)。FCB是文件存在的標(biāo)志,它記

錄了系統(tǒng)管理文件所需要的全部信息。見圖6.2文件控制塊16.在文件系統(tǒng)中,使用Create和Open命令的目的是什么?他們的具體功能是什么?能不能只用一個(gè)命令,完成文件的建立和開啟操作?

答:create和open命令是建立一個(gè)和開啟一個(gè)文件。

create建立一個(gè)文件,open開啟一個(gè)已存在的文件,或者先創(chuàng)立然后開啟一個(gè)文件能用一個(gè)命令open來完成文件的建立和開啟操作.

17.對(duì)以下每個(gè)問題,試說明它由文件系統(tǒng)中哪一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論