操作系統(tǒng)中的虛擬內(nèi)存_第1頁
操作系統(tǒng)中的虛擬內(nèi)存_第2頁
操作系統(tǒng)中的虛擬內(nèi)存_第3頁
操作系統(tǒng)中的虛擬內(nèi)存_第4頁
操作系統(tǒng)中的虛擬內(nèi)存_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

Word文檔操作系統(tǒng)中的虛擬內(nèi)存我們知道電腦的硬件中有內(nèi)存條(物理內(nèi)存)、硬盤,當(dāng)內(nèi)存條中的空間不足時(shí)操作系統(tǒng)會(huì)從硬盤中分配一部分空間當(dāng)作內(nèi)存來使用。這里給大家分享一些關(guān)于操作系統(tǒng)中的虛擬內(nèi)存,希望對(duì)大家能有所幫助。

傳統(tǒng)存儲(chǔ)管理方式的特征

各種內(nèi)存管理策略都是為了同時(shí)將多個(gè)進(jìn)程保存在內(nèi)存中以便允許多道程序設(shè)計(jì)。它們都具有以下兩個(gè)共同的特征:

1)一次性

作業(yè)必須一次性全部裝入內(nèi)存后,方能開始運(yùn)行。這會(huì)導(dǎo)致兩種情況發(fā)生:

·當(dāng)作業(yè)很大,不能全部被裝入內(nèi)存時(shí),將使該作業(yè)無法運(yùn)行;

·當(dāng)大量作業(yè)要求運(yùn)行時(shí),由于內(nèi)存不足以容納所有作業(yè),只能使少數(shù)作業(yè)先運(yùn)行,導(dǎo)致多道程序度的下降。

2)駐留性

作業(yè)被裝入內(nèi)存后,就一直駐留在內(nèi)存中,其任何部分都不會(huì)被換出,直至作業(yè)運(yùn)行結(jié)束。運(yùn)行中的進(jìn)程,會(huì)因等待I/O而被阻塞,可能處于長期等待狀態(tài)。

局部性原理

要真正理解虛擬內(nèi)存技術(shù)的思想,首先必須了解計(jì)算機(jī)中著名的局部性原理。著名的BillJoy(SUN公司CEO)說過:”在研究所的時(shí)候,我經(jīng)常開玩笑地說高速緩存是計(jì)算機(jī)科學(xué)中唯一重要的思想。事實(shí)上,髙速緩存技術(shù)確實(shí)極大地影響了計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)?!翱毂怼㈨摳咚倬彺嬉约疤摂M內(nèi)存技術(shù)從廣義上講,都是屬于高速緩存技術(shù)。這個(gè)技術(shù)所依賴的原理就是局部性原理。局部性原理既適用于程序結(jié)構(gòu),也適用于數(shù)據(jù)結(jié)構(gòu)(更遠(yuǎn)地講,Dijkstra著名的關(guān)于“goto語句有害”的論文也是出于對(duì)程序局部性原理的深刻認(rèn)識(shí)和理解)。

局部性原理表現(xiàn)在以下兩個(gè)方面:

·時(shí)間局部性:如果程序中的某條指令一旦執(zhí)行,不久以后該指令可能再次執(zhí)行;如果某數(shù)據(jù)被訪問過,不久以后該數(shù)據(jù)可能再次被訪問。產(chǎn)生時(shí)間局部性的典型原因,是由于在程序中存在著大量的循環(huán)操作。

·空間局部性:一旦程序訪問了某個(gè)存儲(chǔ)單元,在不久之后,其附近的存儲(chǔ)單元也將被訪問,即程序在一段時(shí)間內(nèi)所訪問的地址,可能集中在一定的范圍之內(nèi),這是因?yàn)橹噶钔ǔJ琼樞虼娣?、順序?zhí)行的,數(shù)據(jù)也一般是以向量、數(shù)組、表等形式簇聚存儲(chǔ)的。

時(shí)間局部性是通過將近來使用的指令和數(shù)據(jù)保存到高速緩存存儲(chǔ)器中,并使用高速緩存的層次結(jié)構(gòu)實(shí)現(xiàn)??臻g局部性通常是使用較大的高速緩存,并將預(yù)取機(jī)制集成到高速緩存控制邏輯中實(shí)現(xiàn)。虛擬內(nèi)存技術(shù)實(shí)際上就是建立了“內(nèi)存一外存”的兩級(jí)存儲(chǔ)器的結(jié)構(gòu),利用局部性原理實(shí)現(xiàn)髙速緩存。

由以上分析可知,許多在程序運(yùn)行中不用或暫時(shí)不用的程序(數(shù)據(jù))占據(jù)了大量的內(nèi)存空間,而一些需要運(yùn)行的作業(yè)又無法裝入運(yùn)行,顯然浪費(fèi)了寶貴的內(nèi)存資源。

請(qǐng)求分頁管理方式實(shí)現(xiàn)虛擬內(nèi)存

請(qǐng)求分頁系統(tǒng)建立在基本分頁系統(tǒng)基礎(chǔ)之上,為了支持虛擬存儲(chǔ)器功能而增加了請(qǐng)求調(diào)頁功能和頁面置換功能。請(qǐng)求分頁是目前最常用的一種實(shí)現(xiàn)虛擬存儲(chǔ)器的方法。

在請(qǐng)求分頁系統(tǒng)中,只要求將當(dāng)前需要的一部分頁面裝入內(nèi)存,便可以啟動(dòng)作業(yè)運(yùn)行。在作業(yè)執(zhí)行過程中,當(dāng)所要訪問的頁面不在內(nèi)存時(shí),再通過調(diào)頁功能將其調(diào)入,同時(shí)還可以通過置換功能將暫時(shí)不用的頁面換出到外存上,以便騰出內(nèi)存空間。

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

頁表機(jī)制

請(qǐng)求分頁系統(tǒng)的頁表機(jī)制不同于基本分頁系統(tǒng),請(qǐng)求分頁系統(tǒng)在一個(gè)作業(yè)運(yùn)行之前不要求全部一次性調(diào)入內(nèi)存,因此在作業(yè)的運(yùn)行過程中,必然會(huì)出現(xiàn)要訪問的頁面不在內(nèi)存的情況,如何發(fā)現(xiàn)和處理這種情況是請(qǐng)求分頁系統(tǒng)必須解決的兩個(gè)基本問題。為此,在請(qǐng)求頁表項(xiàng)中增加了四個(gè)字段,

增加的四個(gè)字段說明如下:

·狀態(tài)位P:用于指示該頁是否已調(diào)入內(nèi)存,供程序訪問時(shí)參考。

·訪問字段A:用于記錄本頁在一段時(shí)間內(nèi)被訪問的次數(shù),或記錄本頁最近己有多長時(shí)間未被訪問,供置換算法換出頁面時(shí)參考。

·修改位M:標(biāo)識(shí)該頁在調(diào)入內(nèi)存后是否被修改過。

·外存地址:用于指出該頁在外存上的地址,通常是物理塊號(hào),供調(diào)入該頁時(shí)參考。

缺頁中斷機(jī)構(gòu)

在請(qǐng)求分頁系統(tǒng)中,每當(dāng)所要訪問的頁面不在內(nèi)存時(shí),便產(chǎn)生一個(gè)缺頁中斷,請(qǐng)求操作系統(tǒng)將所缺的頁調(diào)入內(nèi)存。此時(shí)應(yīng)將缺頁的進(jìn)程阻塞(調(diào)頁完成喚醒),如果內(nèi)存中有空閑塊,則分配一個(gè)塊,將要調(diào)入的頁裝入該塊,并修改頁表中相應(yīng)頁表項(xiàng),若此時(shí)內(nèi)存中沒有空閑塊,則要淘汰某頁(若被淘汰頁在內(nèi)存期間被修改過,則要將其寫回外存)。

缺頁中斷作為中斷同樣要經(jīng)歷,諸如保護(hù)CPU環(huán)境、分析中斷原因、轉(zhuǎn)入缺頁中斷處理程序、恢復(fù)CPU環(huán)境等幾個(gè)步驟。但與一般的中斷相比,它有以下兩個(gè)明顯的區(qū)別:

·在指令執(zhí)行期間產(chǎn)生和處理中斷信號(hào),而非一條指令執(zhí)行完后,屬于內(nèi)部中斷。

·一條指令在執(zhí)行期間,可能產(chǎn)生多次缺頁中斷。

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

請(qǐng)求分頁系統(tǒng)中的地址變換機(jī)構(gòu),是在分頁系統(tǒng)地址變換機(jī)構(gòu)的基礎(chǔ)上,為實(shí)現(xiàn)虛擬內(nèi)存,又增加了某些功能而形成的。

若找到要訪問的頁,便修改頁表項(xiàng)中的訪問位(寫指令則還須重置修改位),然后利用頁表項(xiàng)中給出的物理塊號(hào)和

溫馨提示

  • 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)論