页面置换算法模拟

页面置换算法模拟

ID:30219075

大小:43.00 KB

页数:9页

时间:2018-12-28

页面置换算法模拟_第1页
页面置换算法模拟_第2页
页面置换算法模拟_第3页
页面置换算法模拟_第4页
页面置换算法模拟_第5页
资源描述:

《页面置换算法模拟》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案#include#include//deque容器头文件#includeusingnamespacestd;typedefstruct{intid;//页面IDintstayTime;//内存中驻留时间intunUseTime;//已经多久未被使用}CPage;dequeRunQueue;dequeinterPage;//内存中的四个页面dequeexterPage;//外存中的N个页面intpresentSeat;//目前运行到了队列

2、的第几个?intlackNum[3]={0};intgetRandNum(intrange)//返回[0,range)范围内的整数{returnstatic_cast(rand()%range);}intfindPageIdByCmdId(intcmdId)//判断指令属于哪个页面{returnstatic_cast(cmdId/10);精彩文档实用标准文案}voidInitDevice()//初始化运行队列按照25%50%25%的标准生成{srand(static_cast(time(NULL)));

3、intt_cmdNum=getRandNum(320);//随机选择第一条指令RunQueue.push_back(t_cmdNum);if(t_cmdNum<319)RunQueue.push_back(t_cmdNum+1);//顺序执行下一条指令while(RunQueue.size()<=320){t_cmdNum=getRandNum(t_cmdNum);//跳转到m1属于[0,m-1]RunQueue.push_back(t_cmdNum);//将m1插入队列if(t_cmdNum<319)RunQueue.push_b

4、ack(t_cmdNum+1);//将m1+1插入队列inttemp=320-(t_cmdNum+2);t_cmdNum=t_cmdNum+2+getRandNum(temp);//跳转到m2属于[m+2,319]RunQueue.push_back(t_cmdNum);//插入队列if(t_cmdNum<319)RunQueue.push_back(t_cmdNum+1);//将m2+1插入队列}精彩文档实用标准文案while(RunQueue.size()>320)RunQueue.pop_back();}stayTime=0;

5、temp.voidInitMemoryQueue()//初始化运行标志、内存外存页面队列{presentSeat=0;exterPage.clear();interPage.clear();for(inti=0;i<32;i++){CPagetemp;temp.id=i;temp.unUseTime=0;exterPage.push_back(temp);}}精彩文档实用标准文案intsearchStatusOfPage(intt_PageId,boolsign)//分别在内存中查找页面存在返回位置不存在返回-1{if(sign)f

6、or(unsignedi=0;i

7、rt;i<320;i++)if(static_cast(RunQueue[i]/10)==id)returni;return-1;}intfindLongestStayTimePage()//FIFO算法中查找在内存中呆了最久的页面{intmax=0;for(unsignedi=1;iinterPage[max].stayTime)max=i;returnmax;}intfindLongestUnUseTimePage()//LR

8、U算法中查找最久未使用的页面{intmax=0;for(unsignedj=0;jinterPage[max].unU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。