日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法

發布時間:2024/10/14 windows 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ?在虛存管理中。當發生缺頁中斷時,進行頁面的換入操作。對于一些不能夠被換出的內存,通常采用頁面鎖定的方式,在頁表中添加鎖定標志位(lock? bit)以區分該頁是否是常駐內存。當內存滿需要換出時,為了減少缺頁頻率通常由幾種頁面置換算法。例如、最優頁面置換算法、先進先出算法、最近最久未使用算法、時鐘頁面置換算法、二次機會法等。

目錄

一、最優頁面置換算法(OPT)

二、先進先出算法(FIFO)

三、最近最久未使用方法(LRU)

四、時鐘頁面置換算法。(Clock)

五、二次機會法

六、最不常用法(LFU)

七、Belady現象


一、最優頁面置換算法(OPT)

? ? ?離下次訪問最久的頁進行置換。這是一個理想的置換算法。在現實系統中幾乎是無法實現的。它通過頁幀存放變量,用某個東西來計算出下次訪問的時長。替換“將來”最久未使用的頁。

?

二、先進先出算法(FIFO)

? ? ? 判斷哪一個頁在內存中存留的時間最長,并淘汰掉。通常用隊列或者鏈表來實現。例如在隊列中記錄頁號,隊列頭的頁存放的時間最長,最先淘汰,把置換進來的頁面對應的頁號加入近隊列尾。此方法性能較差并且有belady現象,被換出的頁面可能是被經常訪問的頁面。性能差,很少用于實際應用中。替換“活”得最久的頁。

三、最近最久未使用方法(LRU)

? ? ? 當需要頁面置換時,判斷哪一個頁號最近一次使用的時間離當前最久,則該頁被換出。即哪一個頁“荒廢”的最久,則被換出。此方法,需要記錄每一個頁幀記入未被引用的次數,當被引用時次數歸零。或者可以用鏈表實現,把最近訪問的頁號插入/移動到鏈頭,置換時換出鏈尾。LRU算法也是一個性能比較差的算法。

?

四、時鐘頁面置換算法。(Clock)

? ? ? 是LRU的一個近似,FIFO的一種改進。利用頁表項中的訪問位 used bit,當一個頁面被裝入內存時,訪問位會被初始化為0,當CPU對該頁進行訪問時,CPU會把訪問位置1。修改訪問位可以由CPU硬件自動操作,當然訪問位可以由操作系統主動操作。具體實現邏輯為: 把所有頁號組成一個環形鏈表(像時鐘一樣),最初把指針指向“最老”的頁面,當缺頁中斷時,如果指針所指的頁表項的訪問位為0,則置換該頁,如果訪問位為1,則將此頁的訪問位置0后 。移動指針到下一個頁表,判斷訪問位是否為0,重復操作,直到有頁被換出。 可以說,Clock算法由環形鏈表、FIFO、和訪問位完成的。

五、二次機會法

? ? 在頁表項中有一個dirty bit,用來記錄是否進行過寫操作,CPU進行寫內存操作時,會自動將次位改1。而訪問位,讀和寫都會被CPU置1.當然,這個位也可被操作系統修改。而二次機會法在Clock法上多了一個bit位,即dirtybit。如果兩個bit都是零就會被替換出去,先置訪問位,后置臟位。

?

六、最不常用法(LFU)

? ? ? 最不常用并不是說這個算法不常用,而是這個策略是置換最不常用的算法。把最少訪問的頁給置換出去,需要一個計數器來記錄訪問頁的次數。LRU是最久未訪問,LFU為最少被訪問。這個算法的缺陷是,當執行某一段新程序段時,老頁可能之前被頻繁訪問,但是在未來中不去訪問,LFU也很長一段時間也不會被置換出去。

?

七、Belady現象

? ? ? ?即分配的物理頁越多,產生缺頁中斷的次數反而越多。例如FIFO。主要原因是,算法并不是為了保留將來即將訪問的物理頁,算法與程序執行邏輯無關。

看看LRU算法:

?

總結

以上是生活随笔為你收集整理的操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。