分页存储管理模拟实验程序源代码(C语言)
# include
# include
# include
# define pagesize 8 //页面尺寸大小
typedef struct BLOCK //声明一种新类型--物理块类型 {
int pagenum; //页号
int accessed; //访问量,其值
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示多久未被访问 }BLOCK;
int pc; //程序计数器,用来记录对应的页号 int n; //缺页计数器,用来记录缺页的次数 static int num[320]; //用来存储320条随机数 BLOCK block[pagesize]; //定义一大小为8的物理块数组 void init(); //程序初始化函数
int findExist(int curpage); //查找物理块中是否有该页面 int findSpace(); //查找是否有空闲物理块 int findReplace(); //查找应予置换的页面 void display (); //显示
void randam(); //产生320条随机数,显示并存储到num[320]
void pagestring(); //显示调用的页面队列 void OPT(); void LRU(); void FIFO();
void main()
{
int select;
printf("请输入第一个随机数(0~320):");
randam();
printf("*****对应的调用页面队列*******\n");
pagestring();
do
{
printf("****************************************\n");
printf("------1:OPT 2:LRU 3:FIFO 4:退出-----\n");
printf("****************************************\n");
printf("请选择一种页面置换算法:");
scanf("%d",&select);
printf("*******************************\n");
init();
switch(select)
{
case 1:
printf("最佳置换算法OPT:\n");
printf("*****************\n");
OPT();
break;
case 2:
printf("最近最久未使用置换算法LRU:\n");
printf("*************************\n*");
LRU();
break;
case 3:
printf("先进先出置换算法FIFO:\n");
printf("*********************\n");
FIFO();
break;
}
}while(select!=4);
}
void init()
{
for(int i=0;iblock[pos].accessed)
pos = i; //找到应该置换页面,返回BLOCK中位置
}
return pos;
}
void display()
{
for(int i=0; i
本文档为【分页存储管理模拟实验程序源代码(C语言)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。