計(jì)算機(jī)操作系統(tǒng)第四版湯小丹教案名師優(yōu)質(zhì)課賽課一等獎(jiǎng)市公開課獲獎(jiǎng)?wù)n件_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹教案名師優(yōu)質(zhì)課賽課一等獎(jiǎng)市公開課獲獎(jiǎng)?wù)n件_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹教案名師優(yōu)質(zhì)課賽課一等獎(jiǎng)市公開課獲獎(jiǎng)?wù)n件_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹教案名師優(yōu)質(zhì)課賽課一等獎(jiǎng)市公開課獲獎(jiǎng)?wù)n件_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)第四版湯小丹教案名師優(yōu)質(zhì)課賽課一等獎(jiǎng)市公開課獲獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩69頁(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)介

西安電子科技大學(xué)出版社高等學(xué)校計(jì)算機(jī)類“十二五”規(guī)劃教材部級(jí)優(yōu)異教材

計(jì)算機(jī)操作系統(tǒng)湯小丹梁紅兵哲鳳屏湯子瀛

(第四版)編著

第1頁(yè)第五章虛擬存儲(chǔ)器5.1虛擬存放器概述5.2請(qǐng)求分頁(yè)存放管理方式5.3頁(yè)面置換算法5.4“抖動(dòng)”與工作集5.5請(qǐng)求分段存放管理方式習(xí)題第2頁(yè)

5.1虛擬存放器概述

第四章所介紹各種存放器管理方式有一個(gè)共同特點(diǎn),即它們都要求將一個(gè)作業(yè)全部裝入內(nèi)存后方能運(yùn)行。于是,出現(xiàn)了下面這么兩種情況:

(1)有作業(yè)很大,其所要求內(nèi)存空間超出了內(nèi)存總?cè)萘浚鳂I(yè)不能全部被裝入內(nèi)存,致使該作業(yè)無(wú)法運(yùn)行;

(2)有大量作業(yè)要求運(yùn)行,但因?yàn)閮?nèi)存容量不足以容納全部這些作業(yè),只能將少數(shù)作業(yè)裝入內(nèi)存讓它們先運(yùn)行,而將其它大量作業(yè)留在外存上等候。第3頁(yè)5.1.1常規(guī)存放管理方式特征和局部性原理

1.常規(guī)存放器管理方式特征

我們把前一章中所介紹各種存放器管理方式統(tǒng)稱為傳統(tǒng)存放器管理方式,它們?nèi)己幸韵聝蓚€(gè)共同特征:

(1)一次性

(2)駐留性第4頁(yè)

2.局部性原理

程序運(yùn)行時(shí)存在局部性現(xiàn)象,很早就已被人發(fā)覺,但直到1968年,P.Denning才真正指出:程序在執(zhí)行時(shí)將展現(xiàn)出局部性規(guī)律,即在一較短時(shí)間內(nèi),程序執(zhí)行僅局限于某個(gè)部分,對(duì)應(yīng)地,它所訪問存放空間也局限于某個(gè)區(qū)域。第5頁(yè)不足又表現(xiàn)在下述兩個(gè)方面:

(1)時(shí)間不足。

(2)空間不足。第6頁(yè)

3.虛擬存放器基本工作情況

基于局部性原理可知,應(yīng)用程序在運(yùn)行之前沒有必要將之全部裝入內(nèi)存,而僅須將那些當(dāng)前要運(yùn)行少數(shù)頁(yè)面或段先裝入內(nèi)存便可運(yùn)行,其余部分暫留在盤上。第7頁(yè)5.1.2虛擬存放器定義和特征

1.虛擬存放器定義

當(dāng)用戶看到自己程序能在系統(tǒng)中正常運(yùn)行時(shí),他會(huì)認(rèn)為,該系統(tǒng)所含有內(nèi)存容量一定比自己程序大,或者說(shuō),用戶所感覺到內(nèi)存容量會(huì)比實(shí)際內(nèi)存容量大得多。但用戶所看到大容量只是一個(gè)錯(cuò)覺,是虛,故人們把這么存放器稱為虛擬存放器。第8頁(yè)

2.虛擬存放器特征

與傳統(tǒng)存放器管理方式比較,虛擬存放器含有以下三個(gè)主要特征:

(1)屢次性。

(2)對(duì)換性。

(3)虛擬性。第9頁(yè)5.1.3虛擬存放器實(shí)現(xiàn)方法

1.分頁(yè)請(qǐng)求系統(tǒng)

1)硬件支持

主要硬件支持有:

(1)請(qǐng)求分頁(yè)頁(yè)表機(jī)制。

(2)缺頁(yè)中止機(jī)構(gòu)。

(3)地址變換機(jī)構(gòu)。

2)實(shí)現(xiàn)請(qǐng)求分頁(yè)軟件

第10頁(yè)

2.請(qǐng)求分段系統(tǒng)

1)硬件支持

主要硬件支持有:

(1)請(qǐng)求分段段表機(jī)制。

(2)缺頁(yè)中止機(jī)構(gòu)。

(3)地址變換機(jī)構(gòu)。

2)軟件支持

第11頁(yè)

5.2請(qǐng)求分頁(yè)存放管理方式

5.2.1請(qǐng)求分頁(yè)中硬件支持

為了實(shí)現(xiàn)請(qǐng)求分頁(yè),系統(tǒng)必須提供一定硬件支持。計(jì)算機(jī)系統(tǒng)除了要求一定容量?jī)?nèi)存和外存外,還需要有請(qǐng)求頁(yè)表機(jī)制、缺頁(yè)中止機(jī)構(gòu)以及地址變換機(jī)構(gòu)。第12頁(yè)

1.請(qǐng)求頁(yè)表機(jī)制

在請(qǐng)求分頁(yè)系統(tǒng)中需要主要數(shù)據(jù)結(jié)構(gòu)是請(qǐng)求頁(yè)表,其基本作用依然是將用戶地址空間中邏輯地址映射為內(nèi)存空間中物理地址。為了滿足頁(yè)面換進(jìn)換出需要,在請(qǐng)求頁(yè)表中又增加了四個(gè)字段。這么,在請(qǐng)求分頁(yè)系統(tǒng)中每個(gè)頁(yè)表應(yīng)含以下諸項(xiàng):第13頁(yè)

2.缺頁(yè)中止機(jī)構(gòu)

(1)在指令執(zhí)行期間產(chǎn)生和處理中止信號(hào)。

(2)一條指令在執(zhí)行期間可能產(chǎn)生屢次缺頁(yè)中止。第14頁(yè)圖5-1包括6次缺頁(yè)中止指令第15頁(yè)

3.地址變換機(jī)構(gòu)

請(qǐng)求分頁(yè)系統(tǒng)中地址變換機(jī)構(gòu)是在分頁(yè)系統(tǒng)地址變換機(jī)構(gòu)基礎(chǔ)上,為實(shí)現(xiàn)虛擬存放器,再增加了一些功效所形成,如產(chǎn)生和處理缺頁(yè)中止,以及從內(nèi)存中換出一頁(yè)功效等等。圖5-2示出了請(qǐng)求分頁(yè)系統(tǒng)中地址變換過程。第16頁(yè)圖5-2請(qǐng)求分頁(yè)中地址變換過程第17頁(yè)5.2.2請(qǐng)求分頁(yè)中內(nèi)存分配

1.最小物理塊數(shù)確實(shí)定

一個(gè)顯而易見事實(shí)是,伴隨為每個(gè)進(jìn)程所分配物理塊降低,將使進(jìn)程在執(zhí)行中缺頁(yè)率上升,從而會(huì)降低進(jìn)程執(zhí)行速度。為使進(jìn)程能有效地工作,應(yīng)為它分配一定數(shù)目標(biāo)物理塊,但這并不是最小物理塊數(shù)概念。第18頁(yè)

2.內(nèi)存分配策略

在請(qǐng)求分頁(yè)系統(tǒng)中,可采取兩種內(nèi)存分配策略,即固定和可變分配策略。在進(jìn)行置換時(shí),也可采取兩種策略,即全局置換和局部置換。于是可組合出以下三種適用策略。

1)固定分配局部置換(FixedAllocation,LocalReplacement)

2)可變分配全局置換(VariableAllocation,GlobalReplacement)

3)可變分配局部置換(VariableAllocation,LocalReplacement)

第19頁(yè)

3.物理塊分配算法

在采取固定分配策略時(shí),怎樣將系統(tǒng)中可供分配全部物理塊分配給各個(gè)進(jìn)程,可采取下述幾個(gè)算法:

(1)平均分配算法,即將系統(tǒng)中全部可供分配物理塊平均分配給各個(gè)進(jìn)程。

(2)按百分比分配算法,即依據(jù)進(jìn)程大小按百分比分配物理塊。假如系統(tǒng)中共有n個(gè)進(jìn)程,每個(gè)進(jìn)程頁(yè)面數(shù)為Si,

則系統(tǒng)中各進(jìn)程頁(yè)面數(shù)總和為:第20頁(yè)又假定系統(tǒng)中可用物理塊總數(shù)為m,則每個(gè)進(jìn)程所能分到物理塊數(shù)為bi可由下式計(jì)算:

這里,bi應(yīng)該取整,它必須大于最小物理塊數(shù)。第21頁(yè)

(3)考慮優(yōu)先權(quán)分配算法。在實(shí)際應(yīng)用中,為了照料到主要、緊迫作業(yè)能盡快地完成,應(yīng)為它分配較多內(nèi)存空間。通常采取方法是把內(nèi)存中可供分配全部物理塊分成兩部分:一部分按百分比地分配給各進(jìn)程;另一部分則依據(jù)各進(jìn)程優(yōu)先權(quán)進(jìn)行分配,為高優(yōu)先進(jìn)程適當(dāng)?shù)卦黾悠鋵?duì)應(yīng)份額。在有系統(tǒng)中,如主要實(shí)時(shí)控制系統(tǒng),則可能是完全按優(yōu)先權(quán)為各進(jìn)程分配其物理塊。第22頁(yè)5.2.3頁(yè)面調(diào)入策略

為使進(jìn)程能夠正常運(yùn)行,必須事先將要執(zhí)行那部分程序和數(shù)據(jù)所在頁(yè)面調(diào)入內(nèi)存?,F(xiàn)在問題是:

(1)系統(tǒng)應(yīng)在何時(shí)調(diào)入所需頁(yè)面;

(2)系統(tǒng)應(yīng)從何處調(diào)入這些頁(yè)面;

(3)是怎樣進(jìn)行調(diào)入。第23頁(yè)

1.何時(shí)調(diào)入頁(yè)面

(1)預(yù)調(diào)頁(yè)策略。

(2)請(qǐng)求調(diào)頁(yè)策略。第24頁(yè)

2.從何處調(diào)入頁(yè)面

(1)系統(tǒng)擁有足夠?qū)Q區(qū)空間,這時(shí)能夠全部從對(duì)換區(qū)調(diào)入所需頁(yè)面,以提升調(diào)頁(yè)速度。

(2)系統(tǒng)缺乏足夠?qū)Q區(qū)空間,這時(shí)凡是不會(huì)被修改文件,都直接從文件區(qū)調(diào)入;而當(dāng)換出這些頁(yè)面時(shí),因?yàn)樗鼈兾幢恍薷?,則無(wú)須再將它們重寫到磁盤(換出),以后再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。但對(duì)于那些可能被修改部分,在將它們換出時(shí)便須調(diào)到對(duì)換區(qū),以后需要時(shí)再?gòu)膶?duì)換區(qū)調(diào)入。

(3)?UNIX方式。第25頁(yè)

3.頁(yè)面調(diào)入過程

每當(dāng)程序所要訪問頁(yè)面未在內(nèi)存時(shí)(存在位為“0”),便向CPU發(fā)出一缺頁(yè)中止,中止處理程序首先保留CPU環(huán)境,分析中止原因后轉(zhuǎn)入缺頁(yè)中止處理程序。第26頁(yè)

4.缺頁(yè)率

假設(shè)一個(gè)進(jìn)程邏輯空間為n頁(yè),系統(tǒng)為其分配內(nèi)存物理塊數(shù)為m(m≤n)。假如在進(jìn)程運(yùn)行過程中,訪問頁(yè)面成功(即所訪問頁(yè)面在內(nèi)存中)次數(shù)為S,訪問頁(yè)面失敗(即所訪問頁(yè)面不在內(nèi)存中,需要從外存調(diào)入)次數(shù)為F,則該進(jìn)程總頁(yè)面訪問次數(shù)為A?=?S?+?F,那么該進(jìn)程在其運(yùn)行過程中缺頁(yè)率即為第27頁(yè)實(shí)際上,在缺頁(yè)中止處理時(shí),當(dāng)因?yàn)榭臻g不足,需要置換部分頁(yè)面到外存時(shí),選擇被置換頁(yè)面還需要考慮到置換代價(jià),如頁(yè)面是否被修改過。沒有修改過頁(yè)面能夠直接放棄,而修改過頁(yè)面則必須進(jìn)行保留,所以處理這兩種情況時(shí)時(shí)間也是不一樣。假設(shè)被置換頁(yè)面被修改概率是β,其缺頁(yè)中止處理時(shí)間為ta,被置換頁(yè)面沒有被修改缺頁(yè)中止時(shí)間為tb,那么,缺頁(yè)中止處理時(shí)間計(jì)算公式為

t=β×ta+(1—β)×tb第28頁(yè)

5.3頁(yè)面置換算法

在進(jìn)程運(yùn)行過程中,若其所要訪問頁(yè)面不在內(nèi)存,而需把它們調(diào)入內(nèi)存,但內(nèi)存已無(wú)空閑空間時(shí),為了確保該進(jìn)程能正常運(yùn)行,系統(tǒng)必須從內(nèi)存中調(diào)出一頁(yè)程序或數(shù)據(jù)送到磁盤對(duì)換區(qū)中。但應(yīng)將哪個(gè)頁(yè)面調(diào)出,須依據(jù)一定算法來(lái)確定。通常,把選擇換出頁(yè)面算法稱為頁(yè)面置換算法(ReplacementAlgorithms)。置換算法好壞將直接影響到系統(tǒng)性能。第29頁(yè)5.3.1最正確置換算法和先進(jìn)先出置換算法

1.最正確(Optimal)置換算法

最正確置換算法是由Belady于1966年提出一個(gè)理論上算法。其所選擇被淘汰頁(yè)面將是以后永不使用,或許是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪問頁(yè)面。采取最正確置換算法通??纱_保取得最低缺頁(yè)率。但因?yàn)槿藗儺?dāng)前還無(wú)法預(yù)知,一個(gè)進(jìn)程在內(nèi)存若干個(gè)頁(yè)面中,哪一個(gè)頁(yè)面是未來(lái)最長(zhǎng)時(shí)間內(nèi)不再被訪問,因而該算法是無(wú)法實(shí)現(xiàn),但能夠利用該算法去評(píng)價(jià)其它算法。第30頁(yè)圖5-3利用最正確頁(yè)面置換算法時(shí)置換圖第31頁(yè)

2.先進(jìn)先出(FIFO)頁(yè)面置換算法

FIFO算法是最早出現(xiàn)置換算法。該算法總是淘汰最先進(jìn)入內(nèi)存頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久頁(yè)面給予淘汰。該算法實(shí)現(xiàn)簡(jiǎn)單,只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存頁(yè)面按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱為替換指針,使它總是指向最老頁(yè)面。但該算法與進(jìn)程實(shí)際運(yùn)行規(guī)律不相適應(yīng),因?yàn)樵谶M(jìn)程中,有些頁(yè)面經(jīng)常被訪問,比如,含有全局變量、慣用函數(shù)、例程等頁(yè)面,F(xiàn)IFO算法并不能確保這些頁(yè)面不被淘汰。第32頁(yè)圖5-4利用FIFO置換算法時(shí)置換圖第33頁(yè)5.3.2最近最久未使用和最少使用置換算法

1.?LRU(LeastRecentlyUsed)置換算法描述

FIFO置換算法性能之所以較差,是因?yàn)樗罁?jù)條件是各個(gè)頁(yè)面調(diào)入內(nèi)存時(shí)間,而頁(yè)面調(diào)入先后并不能反應(yīng)頁(yè)面使用情況。最近最久未使用(LRU)頁(yè)面置換算法是依據(jù)頁(yè)面調(diào)入內(nèi)存后使用情況做出決議。第34頁(yè)圖5-5

LRU頁(yè)面置換算法第35頁(yè)

2.LRU置換算法硬件支持

1)存放器

為了統(tǒng)計(jì)某進(jìn)程在內(nèi)存中各頁(yè)使用情況,須為每個(gè)在內(nèi)存中頁(yè)面配置一個(gè)移位存放器,可表示為

R?=?Rn-1Rn-2Rn-3…R2R1R0第36頁(yè)當(dāng)進(jìn)程訪問某物理塊時(shí),要將對(duì)應(yīng)存放器Rn-1位置成1。此時(shí),定時(shí)信號(hào)將每隔一定時(shí)間(比如100ms)將存放器右移一位。假如我們把n位存放器數(shù)看作是一個(gè)整數(shù),那么,含有最小數(shù)值存放器所對(duì)應(yīng)頁(yè)面,就是最近最久未使用頁(yè)面。第37頁(yè)圖5-6某進(jìn)程含有8個(gè)頁(yè)面時(shí)LRU訪問情況第38頁(yè)

2)棧

可利用一個(gè)特殊棧保留當(dāng)前使用各個(gè)頁(yè)面頁(yè)面號(hào)。每當(dāng)進(jìn)程訪問某頁(yè)面時(shí),便將該頁(yè)面頁(yè)面號(hào)從棧中移出,將它壓入棧頂。所以,棧頂一直是最新被訪問頁(yè)面編號(hào),而棧底則是最近最久未使用頁(yè)面頁(yè)面號(hào)。假定現(xiàn)有一進(jìn)程,它分有五個(gè)物理塊,所訪問頁(yè)面頁(yè)面號(hào)序列為:

4,7,0,7,1,0,1,2,1,2,6第39頁(yè)圖5-7用棧保留當(dāng)前使用頁(yè)面時(shí)棧改變情況第40頁(yè)

3.最少使用(LeastFrequentlyUsed,LFU)置換算法

在采取LFU算法時(shí),應(yīng)為在內(nèi)存中每個(gè)頁(yè)面設(shè)置一個(gè)移位存放器,用來(lái)統(tǒng)計(jì)該頁(yè)面被訪問頻率。該置換算法選擇在最近時(shí)期使用最少頁(yè)面作為淘汰頁(yè)。第41頁(yè)5.3.3Clock置換算法

1.簡(jiǎn)單Clock置換算法

當(dāng)利用簡(jiǎn)單Clock算法時(shí),只需為每頁(yè)設(shè)置一位訪問位,再將內(nèi)存中全部頁(yè)面都經(jīng)過鏈接指針鏈接成一個(gè)循

環(huán)隊(duì)列。第42頁(yè)圖5-8簡(jiǎn)單Clock置換算法流程和示例第43頁(yè)

2.改進(jìn)型Clock置換算法

在將一個(gè)頁(yè)面換出時(shí),假如該頁(yè)已被修改過,便須將該頁(yè)重新寫回到磁盤上;但假如該頁(yè)未被修改過,則無(wú)須將它拷回磁盤。換而言之,對(duì)于修改過頁(yè)面,在換出時(shí)所付出開銷比未修改過頁(yè)面大,或者說(shuō),置換代價(jià)大。在改進(jìn)型Clock算法中,除須考慮頁(yè)面使用情況外,還須再增加一個(gè)原因——置換代價(jià)。第44頁(yè)5.3.4頁(yè)面緩沖算法(PageBufferingAlgorithm,PBA)

1.影響頁(yè)面換進(jìn)換出效率若干原因

(1)頁(yè)面置換算法。

(2)寫回磁盤頻率。

(3)讀入內(nèi)存頻率。第45頁(yè)

2.頁(yè)面緩沖算法PBA

PBA算法主要特點(diǎn)是:①顯著地降低了頁(yè)面換進(jìn)、換出頻率,使磁盤I/O操作次數(shù)大為降低,因而降低了頁(yè)面換進(jìn)、換出開銷;②正是因?yàn)閾Q入換出開銷大幅度減小,才能使其采取一個(gè)較簡(jiǎn)單置換策略,如先進(jìn)先出(FIFO)算法,它不需要特殊硬件支持,實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單。

1)空閑頁(yè)面鏈表

2)修改頁(yè)面鏈表

第46頁(yè)5.3.5訪問內(nèi)存有效時(shí)間

與基本分頁(yè)存放管理方式不一樣,在請(qǐng)求分頁(yè)管理方式中,內(nèi)存有效訪問時(shí)間不但要考慮訪問頁(yè)表和訪問實(shí)際物理地址數(shù)據(jù)時(shí)間,還必須要考慮到缺頁(yè)中止處理時(shí)間。第47頁(yè)

5.4?“抖動(dòng)”與工作集

因?yàn)檎?qǐng)求分頁(yè)式虛擬存放器系統(tǒng)性能優(yōu)越,在正常運(yùn)行情況下,它能有效地降低內(nèi)存碎片,提升處理機(jī)利用率和吞吐量,故是當(dāng)前最慣用一個(gè)系統(tǒng)。但假如在系統(tǒng)中運(yùn)行進(jìn)程太多,進(jìn)程在運(yùn)行中會(huì)頻繁地發(fā)生缺頁(yè)情況,這又會(huì)對(duì)系統(tǒng)性能產(chǎn)生很大影響,故還須對(duì)請(qǐng)求分頁(yè)系統(tǒng)性能做簡(jiǎn)單分析。第48頁(yè)5.4.1多道程序度與“抖動(dòng)”

1.多道程序度與處理機(jī)利用率

因?yàn)樘摂M存放器系統(tǒng)能從邏輯上擴(kuò)大內(nèi)存,這時(shí),只需裝入一個(gè)進(jìn)程部分程序和數(shù)據(jù)便可開始運(yùn)行,故人們希望在系統(tǒng)中能運(yùn)行更多進(jìn)程,即增加多道程序度,以提升處理機(jī)利用率。但處理機(jī)實(shí)際利用率卻如圖5-9中實(shí)線所表示。第49頁(yè)圖5-9處理機(jī)利用率第50頁(yè)

2.產(chǎn)生“抖動(dòng)”原因

發(fā)生“抖動(dòng)”根本原因是,同時(shí)在系統(tǒng)中運(yùn)行進(jìn)程太多,由此分配給每一個(gè)進(jìn)程物理塊太少,不能滿足進(jìn)程正常運(yùn)行基本要求,致使每個(gè)進(jìn)程在運(yùn)行時(shí),頻繁地出現(xiàn)缺頁(yè),必須請(qǐng)求系統(tǒng)將所缺之頁(yè)調(diào)入內(nèi)存。這會(huì)使得在系統(tǒng)中排隊(duì)等候頁(yè)面調(diào)進(jìn)/調(diào)出進(jìn)程數(shù)目增加。顯然,對(duì)磁盤有效訪問時(shí)間也隨之急劇增加,造成每個(gè)進(jìn)程大部分時(shí)間都用于頁(yè)面換進(jìn)/換出,而幾乎不能再去做任何有效工作,從而造成發(fā)生處理機(jī)利用率急劇下降并趨于0情況。我們稱此時(shí)進(jìn)程是處于“抖動(dòng)”狀態(tài)。第51頁(yè)5.4.2工作集

1.工作集基本概念

進(jìn)程發(fā)生缺頁(yè)率時(shí)間間隔與進(jìn)程所取得物理塊數(shù)相關(guān)。圖5-10示出了缺頁(yè)率與物理塊數(shù)之間關(guān)系。第52頁(yè)圖5-10缺頁(yè)率與物理塊數(shù)之間關(guān)系第53頁(yè)

2.工作集定義

所謂工作集,是指在某段時(shí)間間隔Δ里,進(jìn)程實(shí)際所要訪問頁(yè)面集合。Denning指出,即使程序只需要少許幾頁(yè)在內(nèi)存便可運(yùn)行,但為了較少地產(chǎn)生缺頁(yè),應(yīng)將程序全部工作集裝入內(nèi)存中。然而我們無(wú)法事先預(yù)知程序在不一樣時(shí)刻將訪問哪些頁(yè)面,故仍只有像置換算法那樣,用程序過去某段時(shí)間內(nèi)行為作為程序在未來(lái)某段時(shí)間內(nèi)行為近似。第54頁(yè)圖5-11窗口為3、4、5時(shí)進(jìn)程工作集第55頁(yè)5.4.3“抖動(dòng)”預(yù)防方法

1.采取局部置換策略

在頁(yè)面分配和置換策略中,假如采取是可變分配方式,則為了預(yù)防發(fā)生“抖動(dòng)”,可采取局部置換策略。第56頁(yè)

2.把工作集算法融入處處理機(jī)調(diào)度中

當(dāng)調(diào)度程序發(fā)覺處理機(jī)利用率低下時(shí),它將試圖從外存調(diào)入一個(gè)新作業(yè)進(jìn)入內(nèi)存,來(lái)改進(jìn)處理機(jī)利用率。第57頁(yè)

3.利用“L=S”準(zhǔn)則調(diào)整缺頁(yè)率

Denning于1980年提出了“L=S”準(zhǔn)則來(lái)調(diào)整多道程序度,其中L是缺頁(yè)之間平均時(shí)間,S是平均缺頁(yè)服務(wù)時(shí)間,即用于置換一個(gè)頁(yè)面所需時(shí)間。假如是L遠(yuǎn)比S大,說(shuō)明極少發(fā)生缺頁(yè),磁盤能力還未得到充分利用;反之,假如是L比S小,則說(shuō)明頻繁發(fā)生缺頁(yè),缺頁(yè)速度已超出磁盤處理能力。只有當(dāng)L與S靠近時(shí),磁盤和處理機(jī)都可到達(dá)它們最大利用率。理論和實(shí)踐都已證實(shí),利用“L=S”準(zhǔn)則,對(duì)于調(diào)整缺頁(yè)率是十分有效。第58頁(yè)

4.選擇暫停進(jìn)程

當(dāng)多道程序度偏高時(shí),已影響處處理機(jī)利用率,為了預(yù)防發(fā)生“抖動(dòng)”,系統(tǒng)必須降低多道程序數(shù)目。第59頁(yè)

5.5請(qǐng)求分段存放管理方式

5.5.1請(qǐng)求分段中硬件支持

為了實(shí)現(xiàn)請(qǐng)求分段式存放管理,應(yīng)在系統(tǒng)中配置各種硬件機(jī)構(gòu),以支持快速地完成請(qǐng)求分段功效。與請(qǐng)求分頁(yè)系統(tǒng)相同,在請(qǐng)求分段系統(tǒng)中所需硬件支持有段表機(jī)制、缺段中止機(jī)構(gòu),以及地址變換機(jī)構(gòu)。第60頁(yè)

1.請(qǐng)求段表機(jī)制

在請(qǐng)求分段式管理中所需主要數(shù)據(jù)結(jié)構(gòu)是請(qǐng)求段表。在該表中除了含有請(qǐng)求分頁(yè)機(jī)制中有訪問字段A、修改位M、存在位P和外存始址四個(gè)字段外,還增加了存取方式字段和增補(bǔ)位。這些字段供程序在調(diào)進(jìn)、調(diào)出時(shí)參考。下面給出請(qǐng)求分段段表項(xiàng)。第61頁(yè)

2.缺段中止機(jī)構(gòu)

在請(qǐng)求分段系統(tǒng)中采取是請(qǐng)求調(diào)段策略。每當(dāng)發(fā)覺運(yùn)行進(jìn)程所要訪問段還未調(diào)入內(nèi)存時(shí),便由缺段中止機(jī)構(gòu)產(chǎn)生一缺段中止信號(hào),進(jìn)入OS后,由缺段中止處理程序?qū)⑺瓒握{(diào)入內(nèi)存。與缺頁(yè)中止機(jī)構(gòu)類似,缺段中止機(jī)構(gòu)一樣需要在一條指令執(zhí)行期間產(chǎn)生和處理中止,以及在一條指令執(zhí)行期間,可能產(chǎn)生屢次缺段中止。但因?yàn)榉侄问切畔⑦壿媶挝?,因而不可能出現(xiàn)一條指令被分割在兩個(gè)分段中,和一組信息被分割在兩個(gè)分段中情況。缺段中止處理過程如圖5-12所表示。第62頁(yè)圖5-12請(qǐng)求分段系統(tǒng)中中止處理過程第63頁(yè)

3.地址變換機(jī)構(gòu)

請(qǐng)求分段系統(tǒng)中地址變換機(jī)構(gòu)是在分段系統(tǒng)地址變換機(jī)構(gòu)基礎(chǔ)上形成。因?yàn)楸辉L問段并非全在內(nèi)存,所以在地址變換時(shí),若發(fā)覺所要訪問段不在內(nèi)存,必須先將所缺段調(diào)入內(nèi)存,并修改段表,然后才能再利用段表進(jìn)行地址變換。為此,在地址變換機(jī)構(gòu)中又增加了一些功效,如缺段中止請(qǐng)求及處理等。圖5-13示出了請(qǐng)求分段系統(tǒng)地址變換過程。第64頁(yè)圖5-13請(qǐng)求分段系統(tǒng)地址變換過程第65頁(yè)5.5.2分段共享與保護(hù)

1.共享段表

(1)共享進(jìn)程計(jì)數(shù)count。

(2)存取控制字段。

(3)段號(hào)。第66頁(yè)圖5-14共享段表項(xiàng)第67頁(yè)

2.共享段分配與回收

1)共享段分配

2)共享段回收

第68頁(yè)

3.分段保護(hù)

在分段系統(tǒng)中,因?yàn)槊總€(gè)分段在邏輯上是相對(duì)獨(dú)立,因而比較輕易實(shí)現(xiàn)信息保護(hù)。當(dāng)前,常采取以下幾個(gè)辦法來(lái)確保信息安全。

1)越界檢驗(yàn)

2)存取控制檢驗(yàn)

3)環(huán)境保護(hù)護(hù)機(jī)構(gòu)

第69頁(yè)圖5-15環(huán)境保護(hù)護(hù)機(jī)構(gòu)第70頁(yè)習(xí)題

1.常規(guī)存放器管理方式含有哪兩大特征?它對(duì)系統(tǒng)性能有何影響?

2.什么是程序運(yùn)行時(shí)時(shí)間不

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論