FIFO, LRU, OPT 頁面置換演算法

2021-05-25 14:02:00 字數 686 閱讀 9336

#include

#define row 3

#define col 20

int pagein[col]=;

int output[row][col];

struct memory;

struct memory memory[row];

void init()

printf("/n");}}

void fifo()

for(j=0; joutput[j][i] = memory[j].num;

}print();

}void lru()

}if(!same)

flag = 0;

for(j=1; jif(memory[j].time < memory[flag].time)

flag = j;

for(j=0; joutput[j][i] = memory[j].num;

}print();

}void opt()

}if(!same)

for(j=0; j}if(!found) memory[j].time = col+1;

}flag = 0;

for(j=1; j}for(j=0; joutput[j][i] = memory[j].num;

}print();

}int main()

頁置換演算法FIFO LRU OPT

在位址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷。當發生缺頁中斷時作業系統必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法 考慮下述頁面走向 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1...

處理缺頁中斷(FIFO LRU OPT置換演算法)

缺頁中斷就是要訪問的頁不在主存,需要作業系統將其調入主存後再進行訪問。在這個時候,被記憶體對映的檔案實際上成了乙個分頁交換檔案。置換最先調入記憶體的頁面,即置換在記憶體中駐留時間最久的頁面。按照進入記憶體的先後次序排列成佇列,從隊尾進入,從隊首刪除。但是該演算法會淘汰經常訪問的頁面,不適應程序實際執...

頁面置換演算法

常用的頁面置換演算法有三種 先進先出演算法fifo first in first out 該演算法的基本思想是首先淘汰那些駐留在主存時間最長的頁面。最近最久未用演算法 lru 該演算法的基本思想是 如果某一頁被訪問了,那麼它很可能馬上又被訪問 反之,如果某一頁很久沒被訪問,那麼最近也不會再訪問。lr...