ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:47.62KB ,
资源ID:12181882      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12181882.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(先进先出FIFO页面置换算法2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

先进先出FIFO页面置换算法2.docx

1、先进先出FIFO页面置换算法2 操作系统课外实践报告项 目 名 称: 页面置换算法 所 在 班 级: 姓名: 学号: 组长: 小 组 成 员: 指 导 教 师: 支丽平 成 绩 评 定: 页面置换算法中的先进先出算法一 实验目的 了解最佳页面置换算法与先进先出FIFO页面置换算法,并掌握其基本原理 二 实验目标 用C+模拟最佳页面置换算法与先进先出FIFO页面置 换算法 三 实验步骤 第一步,输入系统为进程分配的物理块数(m=10) 第二步,输入总页面数(n=30) 第三步,输入页面号引用串 第四步,系统自动给出演示数据 第五步,分析数据 第六步,重复一到五步骤 四 技术难点及解决方案 技术难

2、点:如何找到最久页面 解决方案:建立一个时间数组,做标记 五 关键数据和算法流程 代码如下:#include iostream#include iomanip /使用setw()时用到的头文件#include stdio.h#include stdlib.h#include conio.h /使用getchar()时用到的头文件using namespace std;#define Max 30 /某进程调入内存中的最大页面数#define Size 10 /系统为某进程分配的最大物理块数void Init(int Block,int m) /初始化物理块 int i; for(i=0;im;

3、i+) Blocki=-1; void creat(int Page,int n) /输入页面串引用号 int i; for(i=0;iPagei; void FIFO(int Page,int Block,int n,int m)/max_stay:比较当前内存中页面驻留的最久时间,count:统计页面置换次数/get:某物理块是否等待驻入新页面(-1:否)/flag:标记当前序号页面是否已驻入内存(-1:否)/block_num:驻留内存时间最长的页面所在的物理块序号/time标记对应序号的物理块中页面驻留时间 int i,j,max_stay=0,count=0; int get=-1,

4、flag=-1,block_num=-1; int timeSize; for(i=0;im;i+) /初始化time timei=0; for(i=0;in;i+) for(j=0;jm;j+) /有空闲物理块时,页面直接驻入内存空闲块 if(Blockj=-1) get=j; /物理块j即将(/等待)驻入新页面 break; for(j=0;jm;j+) /查找序号相同的页面 if(Blockj=Pagei)/物理块j中页面与当前期望调入内存的页面相同 flag=j; break; for(j=0;jmax_stay) max_stay=timej; block_num=j; /block

5、_num标记当前序号物理块中页面驻留时间最久 if(flag=-1) /不存在相同页面 if(get!=-1) /物理块即将(/等待)驻入新页面 Blockget=Pagei; /存入页面 timeget=0; /当前物理块重新计时 for(j=0;j=get;j+) /已驻入页面的驻留时间加1 timej+; get=-1; else /页面调度置换,序号block_num的物理块是驻留时间最久的 Blockblock_num=Pagei; timeblock_num=0; for(j=0;jSize;j+) timej+; block_num=-1; max_stay=0; count+;

6、 else /待调入页面与序号flag的物理块中页面相同 for(j=0;jm;j+) timej+; flag=-1; for(j=0;jm;j+) /输出物理块中的页面驻入情况 coutsetw(3)Blockj; coutm) count=count+m; cout缺页中断次数为:countendl;void main() int n,m,PageMax,BlockSize; cout*先进先出FIFO页面置换算法*endl; cout-endl; cout*(默认:-1表示物理块空闲)*endl; coutendl请输入系统为进程分配的物理块数(mm; if(mSize|m1) cout警告:输入的数据错误!endl; cout请重新输入物理块数:; else break; Init(Block,m); cout请输入总页面数(nn; coutn请输入页面号引用串:; creat(Page,n); coutFIFO算法过程如下:endl; FIFO(Page,Block,n,m); getchar(); /直接执行exe文件时做停留查看结果之用 getchar();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1