C语言怎么实现页面置换算法
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"C语言怎么实现页面置换算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言怎么实现页面置换算法"吧!1.实现效果2.实现源代码#in
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
服务器bios修改管理地址
广东万有网络技术有限公司
文签网络技术有限公司
北大数据库上机作业
网络安全近些年的问题
服务器cpu使用率高
oracle数据库的配置
嘟嘟网络技术有限公司日批软件
网络安全法关于个人隐私
发送电子邮件的服务器
网络安全产品投标
启东电力监控软件开发
服务器主板和普通主板的区别
微信测评软件开发费用
王者转移可以选服务器吗
国家网络安全工作四大要点包括
上海python软件开发报价
教师网络安全法试题
sql数据库误删除数据怎么恢复
丰台网络安全大队
长沙涟云网络技术公司
.net 本地数据库
云服务器月流量用完会怎样
hsqldb数据库
管家婆物联通服务器
自我软件开发能力不足
360的服务器
数据泵导出整个数据库
盛久网络技术有限公司
你们单位网络安全做到位了吗