下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级语文下册 第七单元 口语交际:劝告教案 新人教版
- 七年级生物上册 3.2.3《开花和结果》教案2 (新版)新人教版
- 5 铺满金色巴掌的水泥道(教学设计)2024-2025学年统编版语文三年级上册
- Unit 1 This is my new friend. Lesson 4(教学设计)-2024-2025学年人教精通版英语四年级上册
- Unit 7 Part 2 Section A (课后)2023-2024学年七年级上册英语高效课堂教学设计(人教版)
- 大连版(2015)信息技术八年级下册第二课 月圆月缺-形状补间动画 教案
- 大连版(2015)信息技术八年级下册教学设计:第九课 被压缩的小电影-影片剪辑元件的应用
- 5 走近科学家 教学设计-2024-2025学年道德与法治三年级上册统编版
- 吉林省通化市外国语学校九年级化学上册 第三单元 课题2 原子的结构教案1 (新版)新人教版
- 四川省宜宾市南溪二中高二体育《准备姿势和移动》教案
- 2024-2030年中国垃圾处理行业市场发展趋势与前景展望战略分析报告
- 2024年共青团入团知识竞赛考试题库100题(含答案)
- 2024年秋季国家开放大学《形势与政策》形成性考核作业参考答案8篇
- 2024年国防知识网络竞赛题库及答案
- 农村中学学生学情分析
- 砌筑工培训课件
- 工程地质剖面图的绘制(正式)
- 2024 团校考试入团考试题库(含答案)
- 普通高中地理新课程标准试题与答案(2017年版2020年修订)
- 不交社保的劳务合同范本-2024新整理
- 治安管理学课件
评论
0/150
提交评论