當前位置:首頁 » 操作系統 » opt頁面置換演算法

opt頁面置換演算法

發布時間: 2022-05-30 05:59:48

❶ 操作系統題:頁面置換演算法 OPT FIFO LRU

fifo就是先進先出,可以想像成隊列
lru是最久未使用,當需要替換頁面的時候,向前面看,最久沒使用的那個被替換
opt是替換頁面的時候,優先替換後面最遲出現的。
不懂再問。。

❷ 頁面置換演算法的常見的置換演算法

最簡單的頁面置換演算法是先入先出(FIFO)法。這種演算法的實質是,總是選擇在主存中停留時間最長(即最老)的一頁置換,即先進入內存的頁,先退出內存。理由是:最早調入內存的頁,其不再被使用的可能性比剛調入內存的可能性大。建立一個FIFO隊列,收容所有在內存中的頁。被置換頁面總是在隊列頭上進行。當一個頁面被放入內存時,就把它插在隊尾上。
這種演算法只是在按線性順序訪問地址空間 時才是理想的,否則效率不高。因為那些常被訪問的頁,往往在主存中也停留得最久,結果它們因變「老」而不得不被置換出去。
FIFO的另一個缺點是,它有一種異常現象,即在增加存儲塊的情況下,反而使缺頁中斷率增加了。當然,導致這種異常現象的頁面走向實際上是很少見的。
FIFO演算法和OPT演算法之間的主要差別是,FIFO演算法利用頁面進入內存後的時間長短作為置換依據,而OPT演算法的依據是將來使用頁面的時間。如果以最近的過去作為不久將來的近似,那麼就可以把過去最長一段時間里不曾被使用的頁面置換掉。它的實質是,當需要置換一頁時,選擇在之前一段時間里最久沒有使用過的頁面予以置換。這種演算法就稱為最久未使用演算法(Least Recently Used,LRU)。
LRU演算法是與每個頁面最後使用的時間有關的。當必須置換一個頁面時,LRU演算法選擇過去一段時間里最久未被使用的頁面。
LRU演算法是經常採用的頁面置換演算法,並被認為是相當好的,但是存在如何實現它的問題。LRU演算法需要實際硬體的支持。其問題是怎麼確定最後使用時間的順序,對此有兩種可行的辦法:
1.計數器。最簡單的情況是使每個頁表項對應一個使用時間欄位,並給CPU增加一個邏輯時鍾或計數器。每次存儲訪問,該時鍾都加1。每當訪問一個頁面時,時鍾寄存器的內容就被復制到相應頁表項的使用時間欄位中。這樣我們就可以始終保留著每個頁面最後訪問的「時間」。在置換頁面時,選擇該時間值最小的頁面。這樣做, 不僅要查頁表,而且當頁表改變時(因CPU調度)要 維護這個頁表中的時間,還要考慮到時鍾值溢出的問題。
2.棧。用一個棧保留頁號。每當訪問一個頁面時,就把它從棧中取出放在棧頂上。這樣一來,棧頂總是放有目前使用最多的頁,而棧底放著目前最少使用的頁。由於要從棧的中間移走一項,所以要用具有頭尾指針的雙向鏈連起來。在最壞的情況下,移走一頁並把它放在棧頂上需要改動6個指針。每次修改都要有開銷,但需要置換哪個頁面卻可直接得到,用不著查找,因為尾指針指向棧底,其中有被置換頁。
因實現LRU演算法必須有大量硬體支持,還需要一定的軟體開銷。所以實際實現的都是一種簡單有效的LRU近似演算法。
一種LRU近似演算法是最近未使用演算法(Not Recently Used,NUR)。它在存儲分塊表的每一表項中增加一個引用位,操作系統定期地將它們置為0。當某一頁被訪問時,由硬體將該位置1。過一段時間後,通過檢查這些位可以確定哪些頁使用過,哪些頁自上次置0後還未使用過。就可把該位是0的頁淘汰出去,因為在之前最近一段時間里它未被訪問過。
4)Clock置換演算法(LRU演算法的近似實現)
5)最少使用(LFU)置換演算法
在採用最少使用置換演算法時,應為在內存中的每個頁面設置一個移位寄存器,用來記錄該頁面被訪問的頻率。該置換演算法選擇在之前時期使用最少的頁面作為淘汰頁。由於存儲器具有較高的訪問速度,例如100 ns,在1 ms時間內可能對某頁面連續訪 問成千上萬次,因此,通常不能直接利用計數器來記錄某頁被訪問的次數,而是採用移位寄存器方式。每次訪問某頁時,便將該移位寄存器的最高位置1,再每隔一定時間(例如100 ns)右移一次。這樣,在最近一段時間使用最少的頁面將是∑Ri最小的頁。
LFU置換演算法的頁面訪問圖與LRU置換演算法的訪問圖完全相同;或者說,利用這樣一套硬體既可實現LRU演算法,又可實現LFU演算法。應該指出,LFU演算法並不能真正反映出頁面的使用情況,因為在每一時間間隔內,只是用寄存器的一位來記錄頁的使用情況,因此,訪問一次和訪問10 000次是等效的。
6)工作集演算法
7)工作集時鍾演算法
8)老化演算法(非常類似LRU的有效演算法)
9)NRU(最近未使用)演算法
10)第二次機會演算法
第二次機會演算法的基本思想是與FIFO相同的,但是有所改進,避免把經常使用的頁面置換出去。當選擇置換頁面時,檢查它的訪問位。如果是 0,就淘汰這頁;如果訪問位是1,就給它第二次機會,並選擇下一個FIFO頁面。當一個頁面得到第二次機會時,它的訪問位就清為0,它的到達時間就置為當前時間。如果該頁在此期間被訪問過,則訪問位置1。這樣給了第二次機會的頁面將不被淘汰,直至所有其他頁面被淘汰過(或者也給了第二次機會)。因此,如果一個頁面經常使用,它的訪問位總保持為1,它就從來不會被淘汰出去。
第二次機會演算法可視為一個環形隊列。用一個指針指示哪一頁是下面要淘汰的。當需要一個 存儲塊時,指針就前進,直至找到訪問位是0的頁。隨著指針的前進,把訪問位就清為0。在最壞的情況下,所有的訪問位都是1,指針要通過整個隊列一周,每個頁都給第二次機會。這時就退化成FIFO演算法了。

❸ 操作系統頁面置換演算法:第二次機會演算法是什麼

第二次機會演算法:

與FIFO、OPT、LRU、NRU等同為操作系統中請求分頁式管理方式的頁面置換演算法。

第二次機會演算法的基本思想是與FIFO相同的,但是有所改進,避免把經常使用的頁面置換出去。當選擇置換頁面時,依然和FIFO一樣,選擇最早置入內存的頁面。但是二次機會法還設置了一個訪問狀態位。所以還要檢查頁面的的訪問位。如果是0,就淘汰這頁;如果訪問位是1,就給它第二次機會,並選擇下一個FIFO頁面。當一個頁面得到第二次機會時,它的訪問位就清為0,它的到達時間就置為當前時間。如果該頁在此期間被訪問過,則訪問位置為1。這樣給了第二次機會的頁面將不被淘汰,直至所有其他頁面被淘汰過(或者也給了第二次機會)。因此,如果一個頁面經常使用,它的訪問位總保持為1,它就從來不會被淘汰出去。

第二次機會演算法可視為一個環形隊列。用一個指針指示哪一頁是下面要淘汰的。當需要一個存儲塊時,指針就前進,直至找到訪問位是0的頁。隨著指針的前進,把訪問位就清為0。在最壞的情況下,所有的訪問位都是1,指針要通過整個隊列一周,每個頁都給第二次機會。這時就退化成FIFO演算法了。

❹ opt演算法最後一個需要替換怎麼辦

我們將頁面隊列存在一個Vector動態數組中。我們可以從圖中得知:當發生頁面置換時,就要尋找在未來最長時間內不再被訪問的頁面,將其置換出去,比如當內存中存在的頁面為 7、0、1,且要訪問頁面2時,此時我們要尋找頁面隊列中將要訪問到的頁面2以後的頁面隊列(0、3、0、4、2、3、0、3、2、1、2、0、1、7、0、1)中,頁面7、0、1哪個最久未被訪問到,即尋找頁面7、0、1在以後的隊列中第一次出現的這三個頁面的下標值最大的那一個。因為頁面7在後面的頁面隊列中再次被訪問到是數組中下標為17的地方,頁面0再次被訪問到是數組下標為4的地方,頁面1再次被訪問的是數組中下標為13,所以頁面7是未來最久才被訪問的頁面,所以將頁面7置換出去,將頁面2調入內存中。

❺ 請分別給出三種不同的頁面置換演算法,並簡要說明他們的優缺點

[fifo.rar]
-
操作系統中內存頁面的先進先出的替換演算法fifo
[先進先出頁面演算法程序.rar]
-
分別實現最佳置換演算法(optimal)、先進先出(fifo)頁面置換演算法和最近最久未使用(LRU)置換演算法,並給出各演算法缺頁次數和缺頁率。
[0022.rar]
-
模擬分頁式虛擬存儲管理中硬體的地址轉換和缺頁中斷,以及選擇頁面調度演算法處理缺頁中斷
[Change.rar]
-
java實現操作系統的頁面置換
其中包括
最佳置換演算法(Optimal)、先進先出演算法(First-in,
First-out)
、最近最久不用的頁面置換演算法(LeastRecently
Used
Replacement)三種演算法的實現
[M_Management.rar]
-
操作系統中內存管理頁面置換演算法的模擬程序,採用的是LRU置換演算法
[detail_of_44b0x_TCPIP.rar]
-
TCPIP
程序包載入到44b0x
的ADS1.2工程文件的說明書。說名了載入過程的細節和如何處理演示程序和代碼。演示代碼已經上傳,大家可以搜索
[.rar]
-
java操作系統頁面置換演算法:
(1)進先出的演算法(fifo)
(2)最近最少使用的演算法(LRU)
(3)最佳淘汰演算法(OPT)
(4)最少訪問頁面演算法(LFU)
(註:由本人改成改進型Clock演算法)
(5)最近最不經常使用演算法(NUR)

❻ 虛擬存儲器採用的頁面調度演算法是「先進先出」(FIFO)演算法嗎

頁式虛擬存儲器的頁面置換演算法一般有:
最佳置換演算法(OPT),先進先出置換演算法(FIFO),最近最久未使用置換演算法(LRU),Clock置換演算法,最少使用置換演算法(LFU),頁面緩存演算法(PBA)等。
先進先出(FIFO)置換演算法是最直觀的置換演算法,由於它可能是性能最差的演算法,故實際應用極少。(摘錄自湯的教材)

❼ 最佳置換演算法最後一個怎麼辦

所謂的最佳(Optimal)頁面置換演算法就是說所淘汰的頁面將是以後永不使用的頁面,或者是再未來很長一段時間內都不再被訪問的頁面。若產生缺頁中斷,但是後續都未用到其他頁面,則根據最先更新原則,將最晚更新的頁面給淘汰。

❽ 高分求~頁面置換演算法OPT演算法

opt演算法是1966年由Belady在理論上提出的一種演算法,其演算法實質是:系統預測作業今後要訪問的頁面,置換頁是將來不被訪問的頁面或者在最長時間後才被訪問的頁面,置換該頁不會造成剛置換出去又立即要把它調入的現象。
這是一種理想化的置換演算法,其優點是缺頁中斷率最低。它要求操作系統能知道進程「將來」頁面的使用情況,但這是不可能實現的,因為程序的執行是不可預測的。不過通過該演算法可用來模擬實驗分析或理論分析其他演算法的優劣性。

❾ 操作系統頁面置換演算法的表格怎麼畫的,看不懂

常見的置換演算法有:
1.最佳置換演算法(OPT)(理想置換演算法)
2.先進先出置換演算法(FIFO):
3.最近最久未使用(LRU)演算法
4.Clock置換演算法(LRU演算法的近似實現)
5.最少使用(LFU)置換演算法
6.工作集演算法
7 . 工作集時鍾演算法
8. 老化演算法(非常類似LRU的有效演算法)
9. NRU(最近未使用)演算法
10. 第二次機會演算法

❿ 操作系統頁面置換演算法題,誰會

第二次機會演算法:

與FIFO、OPT、LRU、NRU等同為操作系統中請求分頁式管理方式的頁面置換演算法。

第二次機會演算法的基本思想是與FIFO相同的,但是有所改進,避免把經常使用的頁面置換出去。當選擇置換頁面時,依然和FIFO一樣,選擇最早置入內存的頁面。但是二次機會法還設置了一個訪問狀態位。所以還要檢查頁面的的訪問位。如果是0,就淘汰這頁;如果訪問位是1,就給它第二次機會,並選擇下一個FIFO頁面。當一個頁面得到第二次機會時,它的訪問位就清為0,它的到達時間就置為當前時間。如果該頁在此期間被訪問過,則訪問位置為1。這樣給了第二次機會的頁面將不被淘汰,直至所有其他頁面被淘汰過(或者也給了第二次機會)。因此,如果一個頁面經常使用,它的訪問位總保持為1,它就從來不會被淘汰出去。

第二次機會演算法可視為一個環形隊列。用一個指針指示哪一頁是下面要淘汰的。當需要一個存儲塊時,指針就前進,直至找到訪問位是0的頁。隨著指針的前進,把訪問位就清為0。在最壞的情況下,所有的訪問位都是1,指針要通過整個隊列一周,每個頁都給第二次機會。這時就退化成FIFO演算法了。

熱點內容
步驟條源碼 發布:2024-05-05 15:35:55 瀏覽:845
安卓拍光遇視頻如何高清 發布:2024-05-05 15:23:20 瀏覽:933
linuxo文件 發布:2024-05-05 15:19:12 瀏覽:944
手機伺服器地址或者域名 發布:2024-05-05 15:19:09 瀏覽:373
我的世界伺服器版如何登錄 發布:2024-05-05 15:17:28 瀏覽:794
綦江dns伺服器地址 發布:2024-05-05 15:04:11 瀏覽:556
山東省日照市監控伺服器地址 發布:2024-05-05 15:03:59 瀏覽:342
java提升教程 發布:2024-05-05 15:00:51 瀏覽:144
驅動編譯龍芯 發布:2024-05-05 14:41:31 瀏覽:957
起什麼密碼 發布:2024-05-05 14:29:48 瀏覽:562