资源简介
操作系统实验 页面置换算法 c++程序代码 缺页次数 缺页率 物理块 FIFO置换算法 LRU置换算法 最佳置换算法
代码片段和文件信息
#include
void Print(int bc[]int blockCount)
{
for(int i=0;i {
printf(“%d “bc[i]);
}
printf(“\n“);
}
bool Travel(int bc[]int blockCountint x)
{
bool is_found=false;
int i;
for(i=0;i {
if(bc[i]==x)
{
is_found=true;
break;
}
}
return is_found;
}
void FIFO(int pc[]int bc[]int pageCountint blockCount)
{
printf(“0:FIFO置换算法\n“);
int i;
if(pageCount<=blockCount)
{
printf(“缺页次数为0\n“);
printf(“缺页率为0\n“);
}
else
{
int noPage=0;
int p=0;
for(i=0;i {
//printf(“引用页:%d\n“pc[i]);
if(!Travel(bcblockCountpc[i]))
{
if(i {
bc[i]=pc[i];
}
else
{
if(p==blockCount)
{
p=0;
}
bc[p]=pc[i];
p++;
}
noPage++;
//printf(“物理块情况:\n“);
//Print(bcblockCount);
}
//printf(“\n“);
}
printf(“FIFO缺页次数为:%d\n“noPage);
printf(“FIFO缺页率为:%.2f%%\n“(float)noPage/pageCount*100);
}
}
int FoundMaxNum(int a[]int n)
{
int kj;
k=a[0];
j=0;
for (int i=0;i {
if(a[i]>=k)
{
k=a[i];
j=i;
}
}
return j;
}
void LRU(int pc[]int bc[]int pageCountint blockCount)
{
printf(“1:LRU置换算法\n“);
if(pageCount<=blockCount)
{
printf(“缺页次数为0\n“);
printf(“缺页率为0\n“);
}
else
{
int noPage=0;
int ijm;
int bc1[100];
for(i=0;i {
bc1[i]=0;
}
for(i=0;i {
// printf(“引用页:%d\n“pc[i]);
if(!Travel(bcblockCountpc[i]))
{
if(i {
bc[i]=pc[i];
for(int p=0;p<=i;p++)
{
bc1[p]++;
}
}
else
{
for(j=0;j {
bc1[j]++;
}
int k=FoundMaxNum(bc1blockCount);
- 上一篇:mfc调用webservice的客户端
- 下一篇:vc++实现图像处理:中值滤波
相关资源
- 漂亮的仪表盘(widget.cpp)
- 代码雨.cpp
- libevent(timeout.cpp)
- 密码学 重合指数计算(IC.cpp)
- 输出n的阶乘.cpp
- opencv2 3D标定.cpp
- c 操作sqlite数据库.cpp
- 扫雷游戏.cpp
- c++爱心表白(心.cpp)
- 算法表达式求值.cpp
- 银行家算法分配资源的模拟实现(m
- 常见排序算法比较.cpp
- 无向图M着色.cpp
- 客户消费积分管理系统.cpp
- 公司人员月薪级别信息管理系统.cpp
- 俄罗斯方块.cpp
- 跑跑卡丁车.cpp
- 扫雷游戏.cpp(较简单)
- 打飞机.cpp
- 吃豆人.cpp 代码
- opengl绘制汽车.cpp
- consts.cpp
- 银行管理系统.cpp
- BombGoldFlower.cpp
- 扫雷游戏.cpp C++ 课程设计
- 图书管理系统.cpp
- c++游戏歹徒逃亡.cpp
- 180912.cpp
- ZhajingHua.cpp
- puma560的运动学正解和逆解的C++源码
川公网安备 51152502000135号
评论
共有 条评论