什麼是計算機體系結構中的頁面置換?


虛擬記憶體組織是硬體和軟體系統的整合。它可以有效利用記憶體空間,所有軟體操作都由記憶體管理軟體處理。

硬體對映系統和記憶體管理軟體共同構成虛擬記憶體的結構。

當程式執行開始時,一個或多個頁面被轉移到主記憶體中,並且頁面表被設定為表示它們的位置。程式在建立對記憶體中不存在的頁面的引用之前,是從主記憶體中執行的。此事件定義為頁面錯誤。

當出現頁面錯誤時,正在執行的程式會在將所需的頁面轉移到主記憶體之前停止。因為將頁面從輔助儲存器載入到主儲存器的行為是I/O操作,所以作業系統為此I/O處理器建立此功能。

在此期間,控制權轉移到主記憶體中等待在CPU中準備的下一個程式。記憶體塊分配並移動後不久,掛起的程式可以恢復執行。

如果主記憶體已滿,則無法移動新頁面。因此,重要的是從記憶體塊中刪除一個頁面以容納新頁面。從記憶體中刪除特定頁面的決定由置換演算法確定。

常用的兩種置換演算法是先進先出 (FIFO) 和最近最少使用 (LRU)。

FIFO演算法選擇替換在記憶體中停留時間最長的頁面。每次將頁面寫入記憶體時,其標識號都會被推入FIFO堆疊。

當記憶體沒有空閒塊時,FIFO將完成。當需要載入新頁面時,當前傳輸最少的頁面將被移除。要移除的頁面很容易確定,因為它的標識號位於FIFO堆疊的頂部。

FIFO置換策略的優點是易於執行。它的缺點是在特定情況下,頁面頻繁地從記憶體中移除和載入。

LRU策略執行起來更復雜,但它更關注這樣一個假設:最近最少使用的頁面比FIFO中最近載入的頁面更適合移除。LRU演算法可以透過將計數器與主記憶體中的每個頁面關聯來執行。

當引用頁面時,其關聯的計數器將設定為零。在固定的時間間隔內,與記憶體中所有頁面相關的計數器都會遞增1。

最近最少使用的頁面是計數器最大的頁面。這些計數器被稱為老化暫存器,因為它們的計數表示它們的年齡,即多久以前引用了它們相關的頁面。

更新於:2021年7月27日

12K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告