頁面置換演算法

2021-10-10 23:18:08 字數 1280 閱讀 5238

複習作業系統時,心血來潮寫了下置換演算法的執行**。

#include

#include

#include

#define n 16

#define m 5

int page[n]=;

//儲存需要訪問的頁面

int i,j,q,mem[m]

=,list[m]

[n];

char flag,f[n]

;int

*build()

//隨機產生序列號函式

printf

("\n");

return

(page);}

void

init()

//初始化函式

void

fifo()

for(j=

0;j)

list[j]

[i]=mem[j]

; f[i]

=flag;

}printf

(" 0代表為空,*代表有缺頁:\n");

printf

("\n");

printf

("-----------fifo演算法結果-----------------------\n");

for(i=

0;i)printf

("\n");

}for

(i=0

;i)printf

("\n----------------------------------------------\n");

printf

("命中率:%lf\n",1

-(double

)sum/n);}

void

lru(

)printf

("\n");

printf

("------------lru演算法結果-----------------------\n");

for(i=

0;i)for

(i=0

;i)printf

("\n----------------------------------------------\n");

printf

("命中率:%lf\n",1

-(double

)sum/n);}

void

main()

}while

(sel!=0)

;}

頁面置換演算法

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

頁面置換演算法

include using namespace std int process 100 頁面佇列 int memory 3 塊數 int optqueue 100 opt演算法的佇列 int fifoqueue 100 fifo演算法佇列 int lruqueue 100 lru演算法佇列 int ...

頁面置換演算法

位址對映過程中,若在頁面中發現所要訪問的頁面不再記憶體中,則產生缺頁中斷。當發生缺頁中斷時作業系統必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法。常見的置換演算法有 1 最佳置換演算法 opt 理想置換演算法 這是一種理想情況下的頁...