OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc
實(shí)用標(biāo)準(zhǔn)文案
精彩文檔
操作系統(tǒng)實(shí)驗(yàn)報(bào)告
頁(yè)面置換算法模擬
——OFT、FIFO和LRU算法
班級(jí):2013級(jí)軟件工程1班
學(xué)號(hào):X X X
姓名:蕭氏一郎
數(shù)據(jù)結(jié)構(gòu)說(shuō)明:
Memery[10]物理塊中的頁(yè)碼
Page[100]頁(yè)面號(hào)引用串
Temp[100][10]輔助數(shù)組
Void print(unsigned int t)輔助函數(shù)
Viod FIFO()先進(jìn)先出頁(yè)面置換算法
Viod LRU()最近最久未使用置換換算法
Viod OPT()最佳置換算法
流程圖:
開始
開始
NONONOYesYesYes結(jié)束頁(yè)號(hào)序列載完?根據(jù)選擇的置換算法完成號(hào)存在物理塊中引用編號(hào)大于物理塊數(shù)將頁(yè)號(hào)放入物理地址中編號(hào)載入序列號(hào),從第0個(gè)得到頁(yè)號(hào)
NO
NO
NO
Yes
Yes
Yes
結(jié)束
頁(yè)號(hào)序列載完?
根據(jù)選擇的置換算法完成
號(hào)存在物理塊中
引用編號(hào)大于物理塊數(shù)
將頁(yè)號(hào)放入物理地址中編號(hào)
載入序列號(hào),從第0個(gè)得到頁(yè)號(hào)
源代碼:
#include
#include
/*全局變量*/
int mSIZE; /*物理塊數(shù)*/
int pSIZE; /*頁(yè)面號(hào)引用串個(gè)數(shù)*/
static int memery[10]={0}; /*物理塊中的頁(yè)號(hào)*/
static int page[100]={0}; /*頁(yè)面號(hào)引用串*/
static int temp[100][10]={0}; /*輔助數(shù)組*/
/*置換算法函數(shù)*/
void FIFO();
void LRU();
void OPT();
/*輔助函數(shù)*/
void print(unsigned int t);
void designBy();
void download();
void mDelay(unsigned int Delay);
/*主函數(shù)*/
void main()
{
int i,k,code;
printf("請(qǐng)輸入物理塊的個(gè)數(shù)(M<=10):");
scanf("%d",&mSIZE);
printf("請(qǐng)輸入頁(yè)面號(hào)引用串的個(gè)數(shù)(P<=100):");
scanf("%d",&pSIZE);
puts("請(qǐng)依次輸入頁(yè)面號(hào)引用串(連續(xù)輸入,無(wú)需隔開):");
for(i=0;i
scanf("%1d",&page[i]);
download();
do{
puts("輸入的頁(yè)面號(hào)引用串為:");
for(k=0;k<=(pSIZE-1)/20;k++)
{
for(i=20*k;(i
{
if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))
printf("%d\n",page[i]);
else
printf("%d ",page[i]);
}
}
printf("* * * * * * * * * * * * * * * * * * * * * * *\n");
printf("* 請(qǐng)選擇頁(yè)面置換算法:\t\t\t *\n");
printf("* *\n");
printf("* 1.先進(jìn)先出(FIFO) 2.最近最久未使用(LRU) *\n");
printf("* 3.最佳(OPT) 4.退出 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * *\n");
printf("請(qǐng)選擇操作:[ ]\b\b");
scanf("%d",&code);
switch(code)
{
case 1:
FIFO();
break;
case 2:
LRU();
break;
case 3:
OPT();
break;
case 4:
總結(jié)
以上是生活随笔為你收集整理的OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 28 | 堆和堆排序:为什么说堆排序没有
- 下一篇: 中级通信工程师 | 关于考试,你想了解的