C语言怎么实现页面置换算法
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容主要讲解"C语言怎么实现页面置换算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言怎么实现页面置换算法"吧!1.实现效果2.实现源代码#in
千家信息网最后更新 2024年11月24日C语言怎么实现页面置换算法
本篇内容主要讲解"C语言怎么实现页面置换算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言怎么实现页面置换算法"吧!
1.实现效果
2.实现源代码
#include#include #include #include #include #include #include using namespace std;#define Myprintf printf("|---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---|\n")/*表格控制*/#define bsize 4 //物理块大小#define psize 16 //进程大小 void chushihua();//初始化函数 void ymzh(); void yemianzhihuan (); void changeaddr(struct Page p[], int logaddr); void dizhizhuanhuan(); void menu(); int wang(); int yemianliu[32]={0};//全局变量数组,地址流 int p; struct Page { int pno;//页号 int flag;//标志位 int cno;//主存号 int modf;//修改位 int addr;//外存地址}Page; //全局变量p是一共有多少地址流 typedef struct pagel { int num; /*记录页面号*/ int time; /*记录调入内存时间*/ }Pagel; /*页面逻辑结构,方便算法实现*/ Pagel b[bsize]; /*内存单元数*/ int c[bsize][psize];/*保存内存当前的状态:缓冲区*/ int queue[100];/*记录调入队列*/ int k;/*调入队列计数变量*/ int phb[bsize]={0};//物理块标号 int pro[psize]={0};//进程序列号 int flag[bsize]={0};//进程等待次数(存放最久未被使用的进程标志)*/ int i=0,j=0;//i表示进程序列号,j表示物理块号*/ int m =-1,n =-1;//物理块空闲和进程是否相同判断标志*/ int mmax=-1, maxflag=0;//标记替换物理块进程下标*/ int count =0; //统计页面缺页次数 void chushihua() //初始化函数{ int t; srand(time(0));//随机产生指令序列 p=12+rand()%32; cout<<"地址流序列:"; cout< =0;i--) { cout< >a; cout<<"页号"<<"标记位"<<"外存地址"<<"主存号"< >ins; changeaddr(p, ins);break; case 2: system("CLS"); a=wang();break; default:cout<<"输入有误,请重新输入!"< maxflag) { maxflag = flag[j]; mmax = j; } } if(n == -1)//不存在相同进程 { if(m != -1)//存在空闲物理块 { phb[m]=pro[i];//进程号填入该空闲物理块// count++; flag[m]=0; for (j=0;j<=m; j++) { flag[j]++; } m=-1; } else//不存在空闲物理块 { phb[mmax] =pro[i]; flag[mmax] =0; for (j=0;j max) { max=b[i].time; tag= i; } } return tag;}/*判断页面是否已在内存中*/ int Equation(int fold, Pagel *b) { int i; for(i=0;i =0) { b[val].time=0; for(i=0;i 到此,相信大家对"C语言怎么实现页面置换算法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
页面
进程
物理
算法
内存
输入
地址
置换
序列
空闲
相同
主存
函数
序列号
指令
标志
次数
系统
实验
语言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
70年代网络安全保卫
软件开发外包岗位占比
网络安全专职员
做数据库管理员需要的技能
天腾服务器
关系型数据库遵循ACID规则
二层网络安全问题
软件开发取得的成就
将PDM生成物理数据库
个税申报软件执行数据库操作失败
数据库系统与云
mariadb数据库密码
c 数据库线程池
2020全球网络安全大会
万方数据库网正规吗
阳光天成网络技术有限公司
软件开发p端和c端
软件开发招投标额度
3gfax传真服务器
金蝶数据库版本
剑灵2服务器怎么进不去
怎么登录物联网服务器
5g网络技术工程师资格证
金像奖数据库
关系型数据库遵循ACID规则
股票招聘软件开发
从事软件开发五年工资多少
育碧服务器不能同步存档
网络安全审批服务
软件开发技术实训报告书