




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告課程名称學生所在系部年级专业、班级學生姓名學号任課教師试验成绩软件工程系制试验題目:先進先出(FIFO)页面置换算法和近来最久未使用(LRU)置换算法程序设计试验目的:通過對FIFO,LRU算法的模拟,深入理解進程的基本概念,加深對進程运行状态和進程调度過程、调度算法的理解。试验设备及环境:1.硬件设备:PC机一台2.软件环境:安装Windows操作系统或者Linux操作系统,并安装有关的程序開发环境,如C\C++\Java等编程語言环境。试验内容及规定:(1)用C語言编程实現對FIFO,LRU算法的模拟。(2)每個用来標识進程的進程控制块PCB可用构造来描述,包括如下字段:五、试验措施内容算法流程图開始開始检查内存与否有空闲块选择最先進入的页面置换讀入访問页面信息存入页面输出置换出的页面序号結束未讀完已讀完有無重要的常量变量chara;intm=4,n=12,i,y[12]={1,2,3,4,1,2,5,1,2,3,4,5};重要模块voidFIFO(void);voidLRU(void);voidXunhuan()voidmain()四.代码#include"stdio.h"#include"stdlib.h"#include"time.h"voidFIFO(void);voidLRU(void);chara;intm=4,n=12,i,y[12]={1,2,3,4,1,2,5,1,2,3,4,5};/*m為物理块数,n為要访問的页面数*/typedefstructpage{intnum;inttime;}Page;Pagex[10];intGetMax(page*x){inti;intmax=-1;inttag=0;for(i=0;i<m;i++){if(x[i].time>max){max=x[i].time;tag=i;}}returntag;}voidXunhuan(){printf("Pleaseselect1:FIFO算法\n2:LRU算法\n");scanf("%s",&a);printf("物理块数:4\n");//scanf("%d",&m);for(i=0;i<m;i++){x[i].num=-1;}printf("所要访問的页面数:12\n");//scanf("%d",&n);//srand(time(NULL));printf("所要访問的页面号序列為:");for(i=0;i<n;i++)printf("%d",y[i]);printf("\n");printf("页面置换环节如下:\n");switch(a){case'1':FIFO();break;case'2':LRU();break;}}voidmain(){chara;Xunhuan();while(1){printf("ContinueorExit:C/Anykey:\n");scanf("%s",&a);if(a=='c'||a=='C')Xunhuan();elsebreak;}exit(0);}voidFIFO(void){inti,j,u;for(i=0;i<m;i++)x[i].time=0;x[0].num=y[0];x[0].time=1;printf("%d\n",x[0].num);for(i=1;i<n;i++){u=0;for(j=0;j<m;j++)if(x[j].num==y[i]){u=1;break;}if(u!=1&&x[m-1].num!=-1){j=GetMax(x);x[j].num=y[i];x[j].time=0;}if(u!=1&&x[m-1].num==-1){for(j=0;j<m;j++){if(x[j].num==-1){x[j].num=y[i];break;}}}for(j=0;j<m;j++)if(x[j].num!=-1)x[j].time++;for(j=0;j<m;j++)if(x[j].num==-1)printf("%2c",32);elseprintf("%2d",x[j].num);printf("\n");}}voidLRU(){inti,j,u;for(i=0;i<m;i++)x[i].time=0;x[0].num=y[0];x[0].time=1;printf("%d\n",x[0].num);for(i=1;i<n;i++){u=0;for(j=0;j<m;j++)if(x[j].num==y[i]){x[j].time=0;u=1;break;}if(u!=1&&x[m-1].num!=-1){j=GetMax(x);x[j].num=y[i];x[j].time=0;}if(u!=1&&x[m-1].num==-1){for(j=0;j<m;j++){if(x[j].num==-1){x[j].num=y[i];break;}}}for(j=0;j<m;j++)if(x[j].num!=-1)x[j].time++;for(j=0;j<m;j++)if(x[j].num==-1)printf("%2c",32);elseprintf("%2d",x[j].num);printf("\n");}}试验成果执行成果成果分析由成果可以看出,使用FIFO算法,總是淘汰最先進入内存的页面,即即选择在内存中驻留時间最久的页面予以淘汰。使用LRU算法则是选择近来最久未使用的页面予以淘汰。七、试验總結這次试验让我深刻理解了FIFO和LRU算法。由于FIFO所根据的条件是各個页面存入的時间,而页面调入的先後并不能反应页面的使用状况,因此F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省中考语文适应性试卷含答案
- 2025年公司级安全培训考试试题及答案(夺冠系列)
- 2025项目管理人员年度安全培训考试试题附参考答案【黄金题型】
- 2024-2025安全培训考试试题带答案(典型题)
- 2025企业安全管理人员安全培训考试试题附参考答案【研优卷】
- 25年公司厂级员工安全培训考试试题带下载答案可打印
- 25年企业级安全培训考试试题及答案完美版
- 25年公司员工安全培训考试试题含答案AB卷
- 25年企业员工安全培训考试试题及下载答案
- 应天职业技术学院《产业金融学》2023-2024学年第二学期期末试卷
- 中国加速康复外科临床实践指南2021
- 山东省大教育联盟学校2024-2025学年高三下学期开学检测化学试题(原卷版+解析版)
- 2025教科版六年级科学下册全册教案【含反思】
- DB43T-稻-再-油生产技术规程
- 中国慢性冠脉综合征患者诊断及管理指南2024版解读
- 课件:《科学社会主义概论(第二版)》第五章
- DB36∕T 1720-2022 牧草裹包青贮技术规程
- 基于BIM技术的建筑工程安全管理应用与探讨
- 基于深度学习的电力系统故障恢复与优化方法研究
- 大数据与人工智能营销知到智慧树章节测试课后答案2024年秋南昌大学
- 第20课 清朝君主专制的强化(导学案)(原卷版)
评论
0/150
提交评论