欢迎来到天天文库
浏览记录
ID:50835323
大小:193.61 KB
页数:12页
时间:2020-03-15
《北邮操作系统试验页面置换算法.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课本第九章21题实验ytinrete1.实验目的:学习页面置换算法2.实验内容WriteaprogramthatimplementstheFIFOandLRUpage-replacementalgorithmspresentedinthischapter.First,generatearandompagereferencestringwherepagenumbersrangefrom0..9.Applytherandompage-referencestringtoeachalgorithmandrecordthenumberofpagefaultsincurredbyea
2、chalgorithm.Implementthereplacementalgorithmssuchthatthenumberofpageframescanvaryfrom1..7.Assumethatdemandpagingisused.写一个程序来实现本章中介绍的FIFO和LRU页置换算法。首先产生一个随机的页面引用序列,页面数从0~9。将这个序列应用到每个算法并记录发生的页错误的次数。实现这个算法时,要将页帧的数量设为可变(从1~7)。假设使用请求调页。3.设计说明FIFO算法:每次请求先查找是否有空块,有则替换,并标记为最晚到达,若没有则从标记中寻找最新到达的块,替
3、换,并更新标记表。标记数字越小,到达时间最早。LRU算法:每次请求先查找是否有空块,有则替换,并标记为最近使用时间最短者,若没有则从标记中寻找最近使用时间最长者,替换,并更新标记表。标记数字越小,最近使用频率越低。4.实验环境windows7ultimatex64withsp1Dev-c++5.程序源码#include#include#include#include#include#includeusingnamespacestd;typedefstructbl
4、ock//页帧块结构{intnum;intlable;}block;intpage_size,frame_size;//序列数,页帧大小vectororder;//存放序列vectorframe;//页帧voidpage_replacement(intkind)//kind=1为FIFO,kind=2为LRU{//初始化frame.clear();blockinit;init.num=-1;init.lable=-1;for(inti=0;i5、误次数intseq=0;//标记数字intposition=-1;//匹配位置for(inti=0;i6、<<"匹配成功!"<temp){(frame.at(j)).lable--;}}}}//多余部分结束}else{cout<<"匹配失败!"<7、//先查找空页for(intj=0;j
5、误次数intseq=0;//标记数字intposition=-1;//匹配位置for(inti=0;i6、<<"匹配成功!"<temp){(frame.at(j)).lable--;}}}}//多余部分结束}else{cout<<"匹配失败!"<7、//先查找空页for(intj=0;j
6、<<"匹配成功!"<temp){(frame.at(j)).lable--;}}}}//多余部分结束}else{cout<<"匹配失败!"<7、//先查找空页for(intj=0;j
7、//先查找空页for(intj=0;j
此文档下载收益归作者所有