• 大小: 64KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: 其他
  • 标签: 实验报告  cpp文件  

资源简介

存储管理详细实验报告和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


评论

共有 条评论