資源簡介
存儲管理詳細實驗報告和cpp文件,含FIFO和LRU的比較,實驗報告都是我一個一個字敲進去的。

代碼片段和文件信息
#include???
#include??
/**************全局變量*************/??
int?M=3;??//物理塊數
int?P=20;??//頁面號引用串個數???
static?int?memery[10]={0};?//物理塊中的頁號?
static?int?page[20]={70120304230321201701};?//頁面號引用串???
?
static?int?temp[100][10]={0};?//輔助數組?
?
void?FIFO();??
void?LRU();??
void?print(unsigned?int?t);?
void?designBy();??
void?main(){??
int?iktype;???
printf(“*******?預設三個物理塊?*******\n“);???
printf(“*******?預設頁面號引用串有20個頁面?*******\n“);?
do?{???
puts(“輸入的頁面號引用串為:“);???
for(k=0;k<=(P-1)/20;k++)?{
for(i=20*k;(i
if(((i+1)%20==0)||(((i+1)%20)&&(i==P-1)))??????
printf(“%d\n“page[i]);??????
else??
printf(“%d??“page[i]);?????
}?????
}??
?
printf(“*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*\n“);??????????
printf(“*?請選擇頁面置換算法:\t\t\t????*\n“);??
printf(“*?-----------------------------------------*\n“);??
printf(“*?1.先進先出(FIFO)????2.最近最久未使用(LRU)?*\n“);??
printf(“*?3.退出*\n“);???
printf(“*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*\n“);??????????
printf(“請選擇操作:??\b\b“);??????????
scanf(“%d“&type);??????????
switch(type)?{???????????
case?1:??????????????
FIFO();???????????????
break;
case?2:?????????????
LRU();????????????????
break;??????????
case?3:?????
system(“cls“);???
exit(0);?
default:??
printf(“輸入錯誤,請重新輸入:“);???????????
}???
printf(“按任意鍵重新選擇置換算法:>>>“);????
getchar();??????
}??
while?(type!=3);??
getchar();??
}???
void?print(unsigned?int?t)?{??
int?ijkl;??int?flag;??
for(k=0;k<=(P-1)/20;k++)?{???
for(i=20*k;(i
if(((i+1)%20==0)||(((i+1)%20)&&(i==P-1)))??????
printf(“%d\n“page[i]);??????
else???
printf(“%d???“page[i]);????
}???
for(j=0;j
for(i=20*k;(i if(i>=j)??
printf(“?|%d|“temp[i][j]);?????
else???
printf(“?|?|“);????
}???
for(i=M+20*k;(i
for(flag=0l=0;l
if(temp[i][l]==temp[i-1][l])???????
flag++;???
if(flag==M)//頁面在物理塊中???
printf(“????“);??????
else??
printf(“?|%d|“temp[i][j]);?????
}?
//每行顯示20個????
if(i%20==0)?????
continue;?????
printf(“\n“);???
}?
}???
printf(“----------------------------------------\n“);????
printf(“缺頁次數:%d\t\t“t+M);??
printf(“缺頁率:%d/%d\n“t+MP);??
printf(“置換次數:%d\t\t“t);???
printf(“訪問命中率:%d%%\n“(P-(t+M))*100/P);??
printf(“----------------------------------------\n“);???
}???
//先進先出頁面置換算法??
void?FIFO()??{???
int?memery[10]={0};??
int?time[10]={0};?//記錄進入物理塊的時間?????
int?ijkm;??
int?max=0;??
//記錄換出頁?????
int?count=0;?
//記錄置換次數
//前M個數直接放入
for(i=0;i
memery[i]=page[i];?????????
time[i]=i;???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5141??2017-12-12?23:59??存儲管理?FIFO?LRU\memory.cpp
?????文件??????65479??2017-12-25?22:43??存儲管理?FIFO?LRU\存儲管理?FIFO?LRU.docx
?????目錄??????????0??2017-12-25?22:45??存儲管理?FIFO?LRU
-----------?---------??----------?-----??----
????????????????70620????????????????????3
- 上一篇:cvpr2018論文 百度云鏈接
- 下一篇:拼音漢字對照表
評論
共有 條評論