版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、評(píng)價(jià)一個(gè)算法的優(yōu)劣可通過在一個(gè)特定的存儲(chǔ)訪問序列(頁面走向)上運(yùn)行它,并計(jì)算缺頁數(shù)量來實(shí)現(xiàn)。1先入先出法(FIFO)最簡單的頁面置換算法是先入先出(FIFO)法。這種算法的實(shí)質(zhì)是,總是選擇在主存中停留時(shí)間最長(即最老)的一頁置換,即先進(jìn)入內(nèi)存的頁,先退出內(nèi)存。理由是:最早調(diào)入內(nèi)存的頁,其不再被使用的可能性比剛調(diào)入內(nèi)存的可能性大。建立一個(gè)FIFO隊(duì)列,收容所有在內(nèi)存中的頁。被置換頁面總是在隊(duì)列頭上進(jìn)行。當(dāng)一個(gè)頁面被放入內(nèi)存時(shí),就把它插在隊(duì)
2、尾上。這種算法只是在按線性順序訪問地址空間時(shí)才是理想的,否則效率不高。因?yàn)槟切┏1辉L問的頁,往往在主存中也停留得最久,結(jié)果它們因變“老”而不得不被置換出去。FIFO的另一個(gè)缺點(diǎn)是,它有一種異?,F(xiàn)象,即在增加存儲(chǔ)塊的情況下,反而使缺頁中斷率增加了。當(dāng)然,導(dǎo)致這種異?,F(xiàn)象的頁面走向?qū)嶋H上是很少見的?,F(xiàn)在來看下4塊的情況:0123213252362142【解答】剛開始內(nèi)存并沒有這個(gè)作業(yè),所以發(fā)生缺頁中斷一次。作業(yè)的0號(hào)頁進(jìn)入內(nèi)存。(1次缺頁中
3、斷)而頁1又不在內(nèi)存,又發(fā)生缺頁中斷一次。作業(yè)頁1進(jìn)入內(nèi)存。(2次缺頁中斷)頁2不在內(nèi)存,發(fā)生缺頁中斷。頁2進(jìn)入內(nèi)存。(3次缺頁中斷)頁3不在內(nèi)存,發(fā)生缺頁中斷。頁3進(jìn)入內(nèi)存。(4次缺頁中斷)接下來調(diào)入頁2,頁1,頁3,頁2。由于都在內(nèi)存中,并不發(fā)生缺頁中斷。頁5不在內(nèi)存,發(fā)生缺頁中斷。頁5進(jìn)入內(nèi)存,頁5置換頁0。(5次缺頁中斷)接下來調(diào)入頁2,頁3。由于都在內(nèi)存中,并不發(fā)生缺頁中斷。頁6不在內(nèi)存,發(fā)生缺頁中斷。頁6進(jìn)入內(nèi)存。頁6置換頁
4、1。(6次缺頁中斷)頁2在內(nèi)存,不發(fā)生缺頁中斷。頁1不在內(nèi)存(在發(fā)生第6次缺頁中斷時(shí)被置換了),發(fā)生缺頁中斷。頁1進(jìn)入內(nèi)存,頁2被置換。(7次缺頁中斷)頁4置換頁3,頁4進(jìn)入內(nèi)存。(8次缺頁中斷)現(xiàn)在調(diào)入頁2,但頁2在發(fā)生第7次缺頁中斷時(shí)被置換掉了?,F(xiàn)在頁2進(jìn)入內(nèi)存,其置換頁5。(因?yàn)檫@個(gè)時(shí)候是頁5最先進(jìn)入內(nèi)存。)(9次缺頁中斷)2最優(yōu)置換算法(OPT)最優(yōu)置換(OptimalReplacement)是在理論上提出的一種算法。其實(shí)質(zhì)是:
5、當(dāng)調(diào)入新的一頁而必須預(yù)先置換某個(gè)老頁時(shí),所選擇的老頁應(yīng)是將來不再被使用,或者是在最遠(yuǎn)的將來才被訪問。采用這種頁面置換算法,保證有最少的缺頁率。但是最優(yōu)頁面置換算法的實(shí)現(xiàn)是困難的,因?yàn)樗枰藗冾A(yù)先就知道一個(gè)進(jìn)程整個(gè)運(yùn)行過程中頁面走向的全部情況。不過,這個(gè)算法可用來衡量(如通過模擬實(shí)驗(yàn)分析或理論分析)其他算法的優(yōu)劣。移走一項(xiàng),所以要用具有頭尾指針的雙向鏈連起來。在最壞的情況下,移走一頁并把它放在棧頂上需要改動(dòng)6個(gè)指針。每次修改都要有開銷,
6、但需要置換哪個(gè)頁面卻可直接得到,用不著查找,因?yàn)槲仓羔樦赶驐5祝渲杏斜恢脫Q頁。因?qū)崿F(xiàn)LRU算法必須有大量硬件支持,還需要一定的軟件開銷。所以實(shí)際實(shí)現(xiàn)的都是一種簡單有效的LRU近似算法。一種LRU近似算法是最近未使用算法(NotRecentlyUsed,NUR)。它在存儲(chǔ)分塊表的每一表項(xiàng)中增加一個(gè)引用位,操作系統(tǒng)定期地將它們置為0。當(dāng)某一頁被訪問時(shí),由硬件將該位置1。過一段時(shí)間后,通過檢查這些位可以確定哪些頁使用過,哪些頁自上次置0后還
7、未使用過。就可把該位是0的頁淘汰出去,因?yàn)樵谧罱欢螘r(shí)間里它未被訪問過。4第二次機(jī)會(huì)算法(SCR)第二次機(jī)會(huì)算法的基本思想是與FIFO相同的,但是有所改進(jìn),避免把經(jīng)常使用的頁面置換出去。當(dāng)選擇置換頁面時(shí),檢查它的訪問位。如果是0,就淘汰這頁;如果訪問位是1,就給它第二次機(jī)會(huì),并選擇下一個(gè)FIFO頁面。當(dāng)一個(gè)頁面得到第二次機(jī)會(huì)時(shí),它的訪問位就清為0,它的到達(dá)時(shí)間就置為當(dāng)前時(shí)間。如果該頁在此期間被訪問過,則訪問位置1。這樣給了第二次機(jī)會(huì)的頁
8、面將不被淘汰,直至所有其他頁面被淘汰過(或者也給了第二次機(jī)會(huì))。因此,如果一個(gè)頁面經(jīng)常使用,它的訪問位總保持為1,它就從來不會(huì)被淘汰出去。第二次機(jī)會(huì)算法可視為一個(gè)環(huán)形隊(duì)列。用一個(gè)指針指示哪一頁是下面要淘汰的。當(dāng)需要一個(gè)存儲(chǔ)塊時(shí),指針就前進(jìn),直至找到訪問位是0的頁。隨著指針的前進(jìn),把訪問位就清為0。在最壞的情況下,所有的訪問位都是1,指針要通過整個(gè)隊(duì)列一周,每個(gè)頁都給第二次機(jī)會(huì)。這時(shí)就退化成FIFO算法了。頁面置換算法還有很多變種,如考慮
9、到被置換頁是否修改過、按FIFO算法選中的頁正在使用等情況,都需要硬件、軟件協(xié)同實(shí)現(xiàn)。部分的頁面在虛擬內(nèi)存,部分在物理內(nèi)存,操作系統(tǒng)需要訪問的頁面在物理內(nèi)存找不到則會(huì)把物理內(nèi)存的某個(gè)頁面置換下來,最佳置換算法的解決方法就是看物理內(nèi)存中的哪一個(gè)頁面在將來最遲需要訪問,就置換它。如物理內(nèi)存里是0,7,6,訪問到5時(shí)產(chǎn)生缺頁中斷,檢查物理內(nèi)存,發(fā)現(xiàn)0在將來第14個(gè)訪問到,顯然置換0是最佳方案!usingnamespacestd#include
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 頁面置換算法課程設(shè)計(jì)
- 頁面置換算法的模擬實(shí)現(xiàn)二
- 請求頁式管理的頁面置換算法
- 實(shí)習(xí)三內(nèi)存頁面置換算法的設(shè)計(jì)
- 實(shí)驗(yàn)三模擬操作系統(tǒng)的頁面置換
- 頁面置換算法模擬程序課程設(shè)計(jì)
- 頁面置換算法操作系統(tǒng)課程設(shè)計(jì)
- 頁面置換算法操作系統(tǒng)課程設(shè)計(jì)
- 動(dòng)態(tài)自適應(yīng)頁面置換算法AWL.pdf
- 操作系統(tǒng)常用頁面置換算法課程設(shè)計(jì)
- 頁面置換算法模擬程序課程設(shè)計(jì)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)-頁面置換算法c語言
- linux操作系統(tǒng)課程設(shè)計(jì)--頁面置換算法模擬
- 操作系統(tǒng)課程設(shè)計(jì)---頁面置換算法的模擬
- 課程設(shè)計(jì)java計(jì)時(shí)器和操作系統(tǒng)頁面置換
- 操作系統(tǒng)課程設(shè)計(jì)--頁面置換算法的模擬實(shí)現(xiàn)_
- 操作系統(tǒng).課程設(shè)計(jì)--頁面置換算法模擬設(shè)計(jì)
- 煙臺(tái)大學(xué)操作系統(tǒng)課程設(shè)計(jì)頁面置換算法
- 頁面
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告--頁面置換算法模擬程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論