欢迎来到天天文库
浏览记录
ID:20952121
大小:293.00 KB
页数:14页
时间:2018-10-18
《计算机操作系统实验报告48359》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的1.通过模拟实现几种基本页面置换的算法,了解虚拟存储技术的特点。2.掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想,并至少用三种算法来模拟实现。3.通过对几种置换算法页面的比较,来对比他们的优缺点,并通过比较更换频率来对比它们的效率。二、实验内容:设计一个虚拟存储区和内存工作区,并使用下述算法来模拟实现页面的置换:1.先进先出的算法(FIFO)2.最近最久未使用算法(LRU)3.最佳置换算法(OPT)三、实验分析在进程运行过程中,若其所访问的页面不存在内存而需要把它们调入内存,但内存已无空闲时,为了保证
2、该进程能够正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应调出哪个页面,需根据一定的算法来确定,算法的好坏,直接影响到系统的性能。一个好的页面置换算法,应该有较低的页面更换频率。假设分给一作业的物理块数为3,页面数为20个。页面号为(20个):7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1四、源程序结构分析1.程序结构程序共有以下九个部分:intfindSpace(void);//查找是否有空闲内存intfindExist(intcurpage);//查找内存中是否有该页面int
3、findReplace(void);//查找应予置换的页面voiddisplay(void);//显示voidFIFO(void);//FIFO算法voidLRU(void);//LRU算法voidOPT(void);//OPT算法;voidBlockClear(void);//BLOCK清空,以便用另一种方法重新演示intmain()//主程序2.源程序代码#include#defineBsize3#definePsize20structpageInfor{intcontent;//页面号inttime
4、r;//被访问标记};classPRA{public:PRA(void);intfindSpace(void);//查找是否有空闲内存intfindExist(intcurpage);//查找内存中是否有该页面intfindReplace(void);//查找应予置换的页面voiddisplay(void);//显示voidFIFO(void);//FIFO算法voidLRU(void);//LRU算法voidOptimal(void);//OPTIMAL算法voidBlockClear(void);//BLOCK恢复pageI
5、nfor*block;//物理块pageInfor*page;//页面号串private:};PRA::PRA(void){intQString[20]={7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};block=newpageInfor[Bsize];for(inti=0;i6、sition]=page[i];display();}}for(intj=0;j7、----------页面置换算法----------8、"<9、---powerbywangxinchuang10、(080501228)---11、"<12、-------------------------------------13、"<应用Optimal算法"<应用FIFO算法"<14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
6、sition]=page[i];display();}}for(intj=0;j7、----------页面置换算法----------8、"<9、---powerbywangxinchuang10、(080501228)---11、"<12、-------------------------------------13、"<应用Optimal算法"<应用FIFO算法"<14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
7、----------页面置换算法----------
8、"<9、---powerbywangxinchuang10、(080501228)---11、"<12、-------------------------------------13、"<应用Optimal算法"<应用FIFO算法"<14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
9、---powerbywangxinchuang
10、(080501228)---
11、"<12、-------------------------------------13、"<应用Optimal算法"<应用FIFO算法"<14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
12、-------------------------------------
13、"<应用Optimal算法"<应用FIFO算法"<14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
14、t<<"选择<3>应用LRU算法"<退出"<>select;switch(select){case0:break;case1:cout<<"O
此文档下载收益归作者所有