14. 幾種頁(yè)面置換算法

地址映射過(guò)程中宙址,若在頁(yè)面中發(fā)現(xiàn)所要訪問(wèn)的頁(yè)面不再內(nèi)存中霎苗,則產(chǎn)生缺頁(yè)中斷。當(dāng)發(fā)生缺頁(yè)中斷時(shí)操作系統(tǒng)必須在內(nèi)存選擇一個(gè)頁(yè)面將其移出內(nèi)存,以便為即將調(diào)入的頁(yè)面讓出空間序苏。而用來(lái)選擇淘汰哪一頁(yè)的規(guī)則叫做頁(yè)面置換算法。常見(jiàn)的置換算法有:

  1. 最佳置換算法(OPT)(理想置換算法)
    這是一種理想情況下的頁(yè)面置換算法捷凄,但實(shí)際上是不可能實(shí)現(xiàn)的忱详。該算法的基本思想是:發(fā)生缺頁(yè)時(shí),有些頁(yè)面在內(nèi)存中跺涤,其中有一頁(yè)將很快被訪問(wèn)(也包含緊接著的下一條指令的那頁(yè))匈睁,而其他頁(yè)面則可能要到10、100或者1000條指令后才會(huì)被訪問(wèn)桶错,每個(gè)頁(yè)面都可以用在該頁(yè)面首次被訪問(wèn)前所要執(zhí)行的指令數(shù)進(jìn)行標(biāo)記航唆。最佳頁(yè)面置換算法只是簡(jiǎn)單地規(guī)定:標(biāo)記最大的頁(yè)應(yīng)該被置換。這個(gè)算法唯一的一個(gè)問(wèn)題就是它無(wú)法實(shí)現(xiàn)院刁。當(dāng)缺頁(yè)發(fā)生時(shí)糯钙,操作系統(tǒng)無(wú)法知道各個(gè)頁(yè)面下一次是在什么時(shí)候被訪問(wèn)。雖然這個(gè)算法不可能實(shí)現(xiàn)退腥,但是最佳頁(yè)面置換算法可以用于對(duì)可實(shí)現(xiàn)算法的性能進(jìn)行衡量比較任岸。
  2. 先進(jìn)先出置換算法(FIFO)
    最簡(jiǎn)單的頁(yè)面置換算法是先入先出(FIFO)法。這種算法的實(shí)質(zhì)是狡刘,總是選擇在主存中停留時(shí)間最長(zhǎng)(即最老)的一頁(yè)置換享潜,即先進(jìn)入內(nèi)存的頁(yè),先退出內(nèi)存嗅蔬。理由是:最早調(diào)入內(nèi)存的頁(yè)剑按,其不再被使用的可能性比剛調(diào)入內(nèi)存的可能性大疾就。建立一個(gè)FIFO隊(duì)列,收容所有在內(nèi)存中的頁(yè)吕座。被置換頁(yè)面總是在隊(duì)列頭上進(jìn)行虐译。當(dāng)一個(gè)頁(yè)面被放入內(nèi)存時(shí),就把它插在隊(duì)尾上吴趴。
    這種算法只是在按線性順序訪問(wèn)地址空間時(shí)才是理想的,否則效率不高侮攀。因?yàn)槟切┏1辉L問(wèn)的頁(yè)锣枝,往往在主存中也停留得最久,結(jié)果它們因變“老”而不得不被置換出去兰英。
    FIFO的另一個(gè)缺點(diǎn)是撇叁,它有一種異常現(xiàn)象畦贸,即在增加存儲(chǔ)塊的情況下陨闹,反而使缺頁(yè)中斷率增加了。當(dāng)然薄坏,導(dǎo)致這種異城骼鳎現(xiàn)象的頁(yè)面走向?qū)嶋H上是很少見(jiàn)的。
  3. 最近最久未使用(LRU)算法
    FIFO算法和OPT算法之間的主要差別是胶坠,F(xiàn)IFO算法利用頁(yè)面進(jìn)入內(nèi)存后的時(shí)間長(zhǎng)短作為置換依據(jù)君账,而OPT算法的依據(jù)是將來(lái)使用頁(yè)面的時(shí)間。如果以最近的過(guò)去作為不久將來(lái)的近似沈善,那么就可以把過(guò)去最長(zhǎng)一段時(shí)間里不曾被使用的頁(yè)面置換掉乡数。它的實(shí)質(zhì)是,當(dāng)需要置換一頁(yè)時(shí)闻牡,選擇在最近一段時(shí)間里最久沒(méi)有使用過(guò)的頁(yè)面予以置換净赴。這種算法就稱為最久未使用算法(Least Recently Used,LRU)罩润。
  4. Clock置換算法(LRU算法的近似實(shí)現(xiàn))
    簡(jiǎn)單的CLOCK算法是給每一幀關(guān)聯(lián)一個(gè)附加位玖翅,稱為使用位。當(dāng)某一頁(yè)首次裝入主存時(shí)哨啃,該幀的使用位設(shè)置為1;當(dāng)該頁(yè)隨后再被訪問(wèn)到時(shí)烧栋,它的使用位也被置為1。對(duì)于頁(yè)替換算法拳球,用于替換的候選幀集合看做一個(gè)循環(huán)緩沖區(qū)审姓,并且有一個(gè)指針與之相關(guān)聯(lián)。當(dāng)某一頁(yè)被替換時(shí)祝峻,該指針被設(shè)置成指向緩沖區(qū)中的下一幀魔吐。當(dāng)需要替換一頁(yè)時(shí)扎筒,操作系統(tǒng)掃描緩沖區(qū),以查找使用位被置為0的一幀酬姆。每當(dāng)遇到一個(gè)使用位為1的幀時(shí)嗜桌,操作系統(tǒng)就將該位重新置為0;如果在這個(gè)過(guò)程開(kāi)始時(shí)辞色,緩沖區(qū)中所有幀的使用位均為0骨宠,則選擇遇到的第一個(gè)幀替換;如果所有幀的使用位均為1,則指針在緩沖區(qū)中完整地循環(huán)一周相满,把所有使用位都置為0层亿,并且停留在最初的位置上,替換該幀中的頁(yè)立美。由于該算法循環(huán)地檢查各頁(yè)面的情況匿又,故稱為CLOCK算法,又稱為最近未用(Not Recently Used, NRU)算法建蹄。
  5. 最少使用(LFU)置換算法
    為每個(gè)頁(yè)面配置一個(gè)計(jì)數(shù)器碌更,一旦某頁(yè)被訪問(wèn),則將其計(jì)數(shù)器的值加1洞慎,在需要選擇一頁(yè)置換時(shí)痛单,則將選擇其計(jì)數(shù)器值最小的頁(yè)面,即內(nèi)存中訪問(wèn)次數(shù)最少的頁(yè)面進(jìn)行淘汰拢蛋。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末桦他,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谆棱,更是在濱河造成了極大的恐慌快压,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垃瞧,死亡現(xiàn)場(chǎng)離奇詭異蔫劣,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)个从,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門脉幢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嗦锐,你說(shuō)我怎么就攤上這事嫌松。” “怎么了奕污?”我有些...
    開(kāi)封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵萎羔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我碳默,道長(zhǎng)贾陷,這世上最難降的妖魔是什么缘眶? 我笑而不...
    開(kāi)封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮髓废,結(jié)果婚禮上巷懈,老公的妹妹穿的比我還像新娘。我一直安慰自己慌洪,他們只是感情好顶燕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蒋譬,像睡著了一般割岛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犯助,一...
    開(kāi)封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音维咸,去河邊找鬼剂买。 笑死,一個(gè)胖子當(dāng)著我的面吹牛癌蓖,可吹牛的內(nèi)容都是我干的瞬哼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼租副,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坐慰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起用僧,我...
    開(kāi)封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤结胀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后责循,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糟港,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年院仿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秸抚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歹垫,死狀恐怖剥汤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情排惨,我是刑警寧澤吭敢,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站若贮,受9級(jí)特大地震影響省有,放射性物質(zhì)發(fā)生泄漏痒留。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一蠢沿、第九天 我趴在偏房一處隱蔽的房頂上張望伸头。 院中可真熱鬧,春花似錦舷蟀、人聲如沸恤磷。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)扫步。三九已至,卻和暖如春匈子,著一層夾襖步出監(jiān)牢的瞬間河胎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工虎敦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留游岳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓其徙,卻偏偏與公主長(zhǎng)得像胚迫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唾那,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 8.1虛擬存儲(chǔ)的需求背景 虛擬內(nèi)存是非連續(xù)內(nèi)存分配的一個(gè)延續(xù)闹获,非連續(xù)內(nèi)存分配在存儲(chǔ)空間內(nèi)可以連續(xù)也可以不連續(xù)期犬。虛擬...
    龜龜51閱讀 5,864評(píng)論 2 6
  • 一哭懈、虛擬存儲(chǔ)技術(shù) 所謂虛擬存儲(chǔ)技術(shù)是指:當(dāng)進(jìn)程運(yùn)行時(shí),先將其一部分裝入內(nèi)存茎用,另一部分暫留在磁盤遣总,當(dāng)要執(zhí)行的指令或訪...
    yjaal閱讀 3,542評(píng)論 0 6
  • 進(jìn)程運(yùn)行時(shí),若其訪問(wèn)的頁(yè)面不在內(nèi)存而需將其調(diào)入轨功,但內(nèi)存已無(wú)空閑空間時(shí)旭斥,就需要從內(nèi)存中調(diào)出一頁(yè)程序或數(shù)據(jù),送入磁盤的...
    saviochen閱讀 3,042評(píng)論 0 6
  • 清晨古涧。早課完誦經(jīng)時(shí)垂券,外面飄起了一陣小雪花。稀疏而慵懶地,揚(yáng)揚(yáng)灑灑菇爪。眾生福薄算芯。在寒風(fēng)里瑟瑟。 極樂(lè)只有無(wú)量妙花散于空...
    釋續(xù)緣閱讀 187評(píng)論 0 0
  • 漫天的雪花悄無(wú)聲息地落滿了冬日凳宙,一支毛筆被主人握在手中熙揍,卻遲遲不見(jiàn)握筆人將它落紙。無(wú)聲的一滴墨與窗外的落雪...
    溫小芽閱讀 462評(píng)論 0 10