作業系統 頁面置換演算法 先進先出置換演算法

2021-08-11 09:31:44 字數 853 閱讀 9577

位址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷。當發生

缺頁中斷

時作業系統必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做

頁面置換演算法

。最簡單的頁面置換演算法是先入先出(

fifo

)法。

假定系統為某程序分配了三個物理塊,並考慮有以下頁面號引用串:7, 0, 1, 2, 0, 3, 0,4,2,3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1。釆用fifo演算法進行頁面置換,程序訪問頁面2時,把最早進入記憶體的頁面7換出。然後訪問頁面3時,再把2, 0, 1中最先進入記憶體的頁換出。由下圖可以看出,利用fifo演算法時進行了12次頁面置換。

訪問頁面70

1203

0423

0321

2017

01物理塊177

7222

4440

0077

7物理塊200

0333

2221

1100

物理塊311

1000

3332

221缺頁否√√

√√√√

√√√√

√√√√

√ **:

#include

#include

typedef struct item

pro;

/***設定查詢函式,在記憶體塊中尋找頁面是否存在

*存在則返回1,不存在返回-1

*/int search(pro *p,int flag,int mnum)

{int q=0;

for(int i=0;i

FIFO先進先出頁面置換演算法實現

學校要做的實驗,很久沒有寫 了orz,所以寫的很亂。不過可以直接提交到oj平台上。自己寫的 歡迎討論。fifo先進先出頁面置換演算法,是最早出現的頁面置換演算法,該演算法總是淘汰最先進入記憶體的頁面。以下是 include include include using namespace std fi...

頁面置換 先進先出置換(FIFO)

先進先出置換 淘汰最先進入記憶體的頁面 輸入 記憶體物理塊的大小,以及頁面號引用串的大小,引用串的各個頁面編號。輸出 被置換出去的頁面編號。執行結果 所需的資料結構 頁面 struct page 輔助函式 在記憶體中尋找最先進入記憶體的頁面。返回記憶體下標。int findfirst page q,...

先進先出(FIFO)頁面置換演算法 C語言實現

假設每個頁面中可存放10條指令,分配給作業的記憶體塊數為4。用c語言模擬乙個作業的執行過程,該作業共有320條指令,即它的位址空間為32頁,目前它的所有頁都還未調入記憶體。在模擬過程中,如果所訪問的指令已在記憶體,則顯示其實體地址,並轉下一條指令。如果所訪問的指令還未裝入記憶體,則發生缺頁,此時需記...