下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include<conio.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMyprintfprintf("|++++++++++++++++|\n")/*表格控制*/#definebsize4//物理块大小#definepsize16//进程大小typedefstructpage{intnum;/*记录页面号*/inttime;/*记录调入内存时间*/}Page;/*页面逻辑结构,结构为方便算法实现设计*/Pageb[bsize];/*内存单元数*/intc[bsize][psize];/*暂保存内存当前的状态:缓冲区*/intqueue[100];/*记录调入队列*/intK;/*调入队列计数变量*/intphb[bsize]={0};//物理块标号intpro[psize]={0};//进程序列号intflag[bsize]={0};//进程等待次数(存放最久未被使用的进程标志)inti=0,j=0,k=0;//i表示进程序列号,j表示物理块号intm=-1,n=-1;//物理块空闲和进程是否相同判断标志intmax=-1,maxflag=0;//标记替换物理块进程下标intcount=0;//统计页面缺页次数//**************************************************************////**************************************************************//随机产生序列号函数//**************************************************************int*build(){printf("随机产生一个进程序列号为:\n");inti=0;for(i=0;i<psize;i++){pro[i]=10*rand()/(RAND_MAX+1)+1;printf("%d",pro[i]);}printf("\n");return(pro);}//**************************************************************//查找空闲物理块//**************************************************************intsearchpb(){for(j=0;j<bsize;j++){if(phb[j]==0){m=j;returnm;break;}}return-1;}//**************************************************************//查找相同进程//**************************************************************intsearchpro(){for(j=0;j<bsize;j++){if(phb[j]==pro[i]){n=j;returnj;}}return-1;}//**************************************************************//初始化内存//**************************************************************voidempty(){for(i=0;i<bsize;i++)phb[i]=0;count=0;//计数器置零}//**************************************************************//先进先出页面置换算法//**************************************************************voidFIFO(){for(i=0;i<psize;i++){m=searchpb();n=searchpro();//找flag值最大的for(j=0;j<bsize;j++){if(flag[j]>maxflag){maxflag=flag[j];max=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[max]=pro[i];flag[max]=0;for(j=0;j<bsize;j++){flag[j]++;}max=-1;maxflag=0;count++;}}else//存在相同的进程{phb[n]=pro[i];for(j=0;j<bsize;j++){flag[j]++;}n=-1;}for(j=0;j<bsize;j++){printf("%d",phb[j]);}printf("\n");}printf("缺页次数为:%d\n",count);printf("\n");}//**************************************************************//**************************************************************/*初始化内存单元、缓冲区*//*voidInit(Page*b,intc[bsize][psize]){inti,j;for(i=0;i<psize;i++){b[i].num=-1;b[i].time=psize-i-1;}for(i=0;i<bsize;i++)for(j=0;j<psize;j++)c[i][j]=-1;}*//*取得在内存中停留最久的页面,默认状态下为最早调入的页面*/intGetMax(Page*b){inti;intmax=-1;inttag=0;for(i=0;i<bsize;i++){if(b[i].time>max){max=b[i].time;tag=i;}}returntag;}/*判断页面是否已在内存中*/intEquation(intfold,Page*b){inti;for(i=0;i<bsize;i++){if(fold==b[i].num)returni;}return-1;}//**************************************************************//主函数//**************************************************************voidmain(){intsel;do{printf("\t\t\t\t\t\t");printf("\t\t\t☆☆^-^欢迎进入操作系统界面^-^☆☆\t\t\t");printf("\t\t\t\t\t\t\n");printf("\t\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\t\t\t");printf("\t\t\t☆虚拟内存☆\t\t\t");printf("\t\t\t☆☆\t\t\t");printf("\t\t\t☆1、产生随机序列☆\t\t\t");printf("\t\t\t☆☆\t\t\t");printf("\t\t\t☆2、先进先出(FIFO)☆\t\t\t");printf("\t\t\t☆☆\t\t\t");printf("\t\t\t☆0、退出(Exit)☆\t\t\t");printf("\t\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\t\t\t\n");printf("请选择所要执行的操作(0/1/2):");scanf("%d",&sel)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业消防设施维护方案
- 新能源汽车动力电池生产线项目实施方案
- 小学亲子活动服装统一方案
- 德州市2025山东德州市德城区纪委监委引进专业人才3人笔试历年参考题库典型考点附带答案详解
- 巴彦淖尔市2025内蒙古巴彦淖尔市直属乌兰牧骑(市歌舞剧院)招聘演职人员10人笔试历年参考题库典型考点附带答案详解
- 山东省2025年山东聊城经济技术开发区事业单位公开招聘教师(16人)笔试历年参考题库典型考点附带答案详解
- 宜宾市2025上半年四川宜宾市长宁县事业单位考核招聘18人笔试历年参考题库典型考点附带答案详解
- 宁波市2025浙江宁波市人民检察院检察保障中心招聘4人笔试历年参考题库典型考点附带答案详解
- 天津市2025天津市面向新疆维吾尔自治区和田籍未就业少数民族高校毕业生招聘事业单笔试历年参考题库典型考点附带答案详解
- 国家事业单位招聘2025福建海事局招聘事业单位人员笔试历年参考题库典型考点附带答案详解
- 2026年继续教育公需课思想政治与政策理论通关试题库审定版附答案详解
- 廉洁风险防范培训
- 2026年物业管理师职业技能考试题及答案
- 汽车喷漆房安全生产制度
- 中华联合保险集团股份有限公司行测笔试题库2026
- 2025年盘锦事业单位真题
- 校车驾驶员培训课件
- 2025年国企党建工作岗笔试题目及答案
- 混凝土路面清除施工方案
- 2026安徽合肥市肥东县招考村级后备干部16人笔试模拟试题及答案解析
- 抽象表现主义课件
评论
0/150
提交评论