基於C 的請求分頁虛擬頁面替換演算法

2021-09-27 11:05:43 字數 445 閱讀 7226

在作業系統課上的一點小感想,基於c++的請求分頁虛擬頁面替換演算法,分享出來和大家一起學習。

實現opt、fifo、lru、clock等頁面替換演算法。接收使用者輸入引數,包括程式長度(頁面數)、頁框個數及頁面大小,輸出結果採用不同顏色區分命中、替換及直接加入空閒塊。

opt(最佳置換演算法):其所選擇的被淘汰頁面將是以後永不使用的,或許是在最長(未來)時間內不再被訪問的頁面,但是由於無法預知乙個程序在記憶體中的若干個頁面中,哪乙個頁面是未來最長時間內不被訪問的,因而該演算法無法實現。

fifo(先進先出頁面是換算法):該演算法總是淘汰最先進入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面予以淘汰。

lru(最近最久未使用置換演算法):只能利用「最近的過去」作為「最近的將來」的近似,因此,lru置換演算法是選擇最近最久未使用的頁面予以淘汰。

clock:使用的較多的一種lru近似演算法。

基於C 的請求分頁虛擬頁面替換演算法

一 需求分析 實現opt fifo lru clock等頁面替換演算法。接收使用者輸入引數,包括程式長度 頁面數 頁框個數及頁面大小,輸出結果採用不同顏色區分命中 替換及直接加入空閒塊。opt 最佳置換演算法 其所選擇的被淘汰頁面將是以後永不使用的,或許是在最長 未來 時間內不再被訪問的頁面,但是由...

基於C 的請求分頁虛擬頁面替換演算法

一 需求分析 實現opt fifo lru clock等頁面替換演算法。接收使用者輸入引數,包括程式長度 頁面數 頁框個數及頁面大小,輸出結果採用不同顏色區分命中 替換及直接加入空閒塊。opt 最佳置換演算法 其所選擇的被淘汰頁面將是以後永不使用的,或許是在最長 未來 時間內不再被訪問的頁面,但是由...

請求分頁管理頁面置換演算法 最近最少使用LRU

該演算法的效能接近於最佳演算法,但實現起來較困難。因為要找出最近最少使用的頁面,必須為每一頁設定相關記錄項,用於記錄頁面的訪問情況,並且每訪問一次頁面都須更新該資訊。這將使系統的開銷加大,所以在實際系統中往往使用該演算法的近似演算法。這裡會給出lru演算法的c 原始碼 include stdafx....