C语言怎么实现页面置换算法
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"C语言怎么实现页面置换算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言怎么实现页面置换算法"吧!1.实现效果2.实现源代码#in
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
科大讯飞软件开发加班多吗
北京服务器数据迁移云空间
mycard服务器
南沙物联网软件开发价格
我的世界镜花缘服务器咋玩
南宁 软件开发公司
网络安全法 贯彻
数据库设计工具排行榜
网络技术服务规格型号
mydql数据库安装
一套软件开发流程
专家财务数据库维护
华海世纪互联网科技
英魂之刃进不去服务器
南京信息化软件开发系统
网络安全宣传周招聘会
赤峰消防网络安全公开课
简述封装的概念及其对软件开发
数据库新建追踪
修改删除数据库
深圳元宇宙网络技术
上海盘亘互联网科技有限公司
无线网络技术接入特点是什么
重庆专业软件开发服务价格优惠
安东软件开发
wifi网络安全性不一致
头条小程序提供数据库吗
管家婆单机版数据库怎么点进去
全屋定制软件开发
方舟生存进化来到服务器的第一天