當前位置:成語大全網 - 書法字典 - 缺頁中斷

缺頁中斷

文/峰峰雅

缺頁中斷:要訪問的頁面不在主存中,操作系統需要將其調入主存後才能訪問。

缺頁率:在內存訪問過程中,如果被訪問的頁面已經在主存中,則稱訪問成功;如果被訪問的頁面不在主存中,就說訪問失敗,產生缺頁中斷。如果程序P在運行過程中訪問的總頁數是s,導致缺頁中斷的訪問頁數是f,則它的缺頁率是f/s .

解決方法:根據給定的頁面方向,使用FIFO消除算法的頁面替換如下:這裏的頁面方向是系統要調用的頁碼。

在分頁系統中,要訪問的頁面是否存在於內存中可以通過查詢頁表中的狀態位來確定。

每當要訪問的頁面不在內存中時,就會出現缺頁中斷。此時操作系統會根據頁表中的外存地址在外存中找到缺失的頁,並將其調入內存。

缺頁本身就是壹種中斷,和壹般中斷壹樣,需要經過四個處理步驟:

1.保護CPU站點

2.分析中斷的原因

3.轉到缺頁中斷處理程序進行處理。

4.恢復CPU站點並繼續執行。

當頁面缺失時,由於要訪問的頁面不存在,也沒有內存,所以有壹個由硬件產生的特殊中斷,它不同於壹般的中斷:

1.在指令執行期間產生並處理頁面錯誤中斷信號。

2.在指令執行期間,可能會有許多缺頁中斷。

3.當缺頁中斷返回時,執行導致中斷的指令,而當壹般中斷返回時,執行下壹條指令。

頁面替換算法

在運行過程中,如果出現缺頁中斷,而此時內存中沒有空閑的物理塊,為了將缺頁加載到內存中,系統必須從內存中選擇壹個頁面,並將其轉移到磁盤的交換區。

但是此時應該替換哪個頁面,需要根據壹定的頁面替換算法來確定。

①先進先出(FIFO)

替換最先調入內存的頁面,即替換在內存中時間最長的頁面。按照進入內存的順序排列在壹個隊列中,從隊列末尾進入,從隊列頭刪除。但是這種算法會剔除頻繁訪問的頁面,不適合流程的實際操作,目前已經很少使用。

②最近最少使用的替換算法(LRU)最近沒有被使用。

替換最近最長時間未訪問的頁面。根據程序局部性原理,剛訪問過的頁面可能很快就會被訪問;長期未訪問的頁面,最近可能不會訪問。

LRU算法壹般適用於各種程序,但系統需要時刻記錄和更新每個頁面的訪問歷史,代價太大,所以LRU算法必須有硬件支持。

缺頁中斷率:缺頁中斷次數(先填空次數+消除次數)除以頁面引用次數。(即給妳的號碼總數)*100%

總結:LRU算法也是從上到下排列數字。如果有相同數量的進程,就轉移到頂層,其他的都下移,甚至淘汰(這和FIFO不壹樣)。如果壹個都沒有,最下面的就會被擠出去(淘汰,導致缺頁中斷)。

缺頁中斷越少越好,不會浪費空間資源,並且該過程可以最佳地執行。