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

分頁置換演算法

發布時間: 2022-06-02 15:01:27

Ⅰ 在請求分頁系統中,常採用哪幾種頁面置換演算法

理想頁面置換演算法、先進先出頁面置換演算法、最近最少使用頁面置換演算法。

Ⅱ 分頁式存儲管理頁面置換演算法C語言描述,幫忙看一下錯誤

init裡面那個for循環,k沒有初始化就直接用,沒問題嗎?local variable不初始化,貌似不是默認初始化為0的。還有這個邏輯是什麼意思:
if(k<4){
pagelist[k].id=1;
pagelist[k].chid=0;
}

Ⅲ 什麼是虛擬存儲器請求式分頁存儲管理常用的頁面置換演算法有哪些試比較他們的性能。

虛擬存儲器(Virtual Memory):在具有層次結構存儲器的計算機系統中,自動實現部分裝入和部分替換功能,能從邏輯上為用戶提供一個比物理貯存容量大得多,可定址的「主存儲器」。虛擬存儲區的容量與物理主存大小無關,而受限於計算機的地址結構和可用磁碟容量。
最佳置換演算法(OPT)(理想置換演算法)
先進先出置換演算法(FIFO):
最近最久未使用(LRU)演算法
Clock置換演算法(LRU演算法的近似實現)
最少使用(LFU)置換演算法

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

第二次機會演算法:

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

第二次機會演算法的基本思想是與FIFO相同的,但是有所改進,避免把經常使用的頁面置換出去。當選擇置換頁面時,依然和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演算法了。

Ⅵ 計算機操作系統分頁問題

與分頁有關的工作

操作系統在四段時間里做與分頁有關的工作:進程創建時,進程執行時,缺頁中斷時和進程終止時。

當在分頁系統中創建一個一個新進程時,操作系統需要確定該進程的程序和數據在初始時有多大,並為它們創建一個頁表。操作系統還要在內存中為頁表分配空間並對其進行初始化。當進程被換出時,頁表不需要駐留在內存中,但當進程運行時,頁表必須在內存中。

另外,操作系統要在磁碟交換區中分配空間,以便在一個進程換出時在磁碟上有放置此進程的空間。操作系統還要用程序正文和數據對交換區進程初始化,這樣當新進程發生缺頁中斷時,可以調入需要的頁面。某些操作系統直接從磁碟上的可執行文件對程序正文進行分頁,以節省磁碟空間和初始化時間。

最後,操作系統必須把有關頁表和磁碟交換區的信息存儲在進程表中。

當調度一個進程執行時,必須為新進程重置MMU,刷新TLB,以清除以前的進程遺留下的痕跡。

當缺頁中斷發生時,操作系統必須通過讀硬體寄存器來確定是哪個虛擬地址造成的缺頁中斷。並計算出需要的頁面以及要替換的老的頁面。最後,還要備份程序計數器,使其指向引起缺頁終端的指令,並重新執行該指令。

當進程退出的時候,操作系統需要釋放進程的頁表,頁面和頁面在硬碟上所佔用的空間。但如果有些頁面是被共享的,那隻有當所有使用共享頁面的進程終止時,該共享頁面才會被釋放。

2. 缺頁中斷處理

缺頁中斷時,發生的的事件順序如下:

硬體陷入內核,在堆棧中保存程序計數器。大多數機器將當前指令的各種狀態信息保存在特殊的CPU寄存器中。

啟動一個匯編代碼常式保存通用寄存器和其他易失的消息,以免被操作系統破壞。

當操作系統發現一個缺頁中斷時,嘗試發現需要哪個虛擬頁面。通常一個硬體寄存器包含了這以信息,如果沒有的話,操作系統必須檢索程序計數器,取出這條指令,用軟體分析這條指令,看看它在缺頁中斷時正在做什麼。

一旦知道了發生缺頁中斷的虛擬地址,操作系統檢查這個地址是否有效,並檢查存取與保護是否一致。如果不一致,向進程發出一個信號或殺掉該進程。如果地址有效且沒有保護錯誤發生,系統則檢查是否有空閑頁框。如果沒有空閑頁框,執行頁面置換演算法尋找一個頁面來淘汰。

如果選擇的頁框被修改過了,安排該頁寫回磁碟,並發生一次上下文切換,掛起產生缺頁中斷的進程,讓其他進程運行直至磁碟傳輸結束。無論如何,該頁框被標記為忙,以免因為其他原因而被其他進程佔用。

一旦頁框干凈後,操作系統查找所需頁面的在磁碟上的地址,通過磁碟操作將其裝入。該頁面被裝入後,產生缺頁中斷的進程仍然被掛起,並且如果有其他可運行的用戶進程,則選擇另一個用戶進程運行。

當磁碟中斷發生時,表明該頁已經被裝入,頁表已經更新可以反映它的位置,頁框也被標記為正常狀態。

恢復發生缺頁中斷指令以前的狀態,程序計數器重新指向這條指令。

調度引發缺頁中斷的進程,操作系統返回調用它的匯編語言常式。

該常式恢復寄存器和其他狀態信息,返回到用戶空間繼續執行,就好像缺頁中斷沒有發生過一樣。

Ⅶ 計算機操作系統頁面置換演算法的問題

第二次機會演算法:

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

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

熱點內容
安卓怎麼快捷關程序 發布:2025-01-10 18:35:48 瀏覽:921
仔細的演算法 發布:2025-01-10 18:28:30 瀏覽:546
c語言判斷是否為迴文數 發布:2025-01-10 18:21:31 瀏覽:783
win7vhd加密 發布:2025-01-10 18:20:35 瀏覽:420
手機存儲空間里的其他怎麼清理 發布:2025-01-10 18:19:59 瀏覽:801
二手的電腦伺服器都怎麼處理了 發布:2025-01-10 18:19:05 瀏覽:906
定壓補水裝置如何配置 發布:2025-01-10 18:12:34 瀏覽:431
安卓是華為的什麼 發布:2025-01-10 18:12:27 瀏覽:541
pythonsetget 發布:2025-01-10 17:53:12 瀏覽:854
買腳本多少錢 發布:2025-01-10 17:52:34 瀏覽:936