欢迎来到天天文库
浏览记录
ID:52184426
大小:80.56 KB
页数:11页
时间:2020-03-24
《操作系统实验-页面置换算法.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四种页面置换算法一、实验原理:在内存运行过程中,若其所要访问的页面不在内存而需要把他们调入内存,但内存已经没有空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应将那个页面调出,需根据一定的算法来确定。通常,把选择换出页面的算法成为页面置换算法。置换算法的好坏,将直接影响到系统的性能。一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面置换出,或者把那些在较长时间内不会在访问的页面调出。目前存在着许多种置换算法(如FIFO,OPT,LRU),他们都试图
2、更接近理论上的目标。二、实验目的1.通过模拟实现几种基本页面置换的算法,了解虚拟存储技术的特点。2.掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想,并至少用三种算法来模拟实现。3.通过对几种置换算法页面的比较,来对比他们的优缺点,并通过比较更换频率来对比它们的效率。三、实验分析在进程运行过程中,若其所访问的页面不存在内存而需要把它们调入内存,但内存已无空闲时,为了保证该进程能够正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应调出哪个页面,需根据一定的算法来确定,算法的好坏,直接影响到系统的性能。四
3、、运行结果四、代码#include"stdafx.h"#defineM3//物理页数#defineN20//需要调入的页数typedefstructpage{intnum;inttime;inttemp;}Page;//物理页项,包括调入的页号和时间Pagepp[M];//M个物理页intqueue1[20],queue2[20],queue3[20];//记录置换的页intK=0,S=0,T=0;//置换页数组的标识intpos=0;//记录存在最长时间项intchangenum=0;intA[N];//初始化内存页表项及存储
4、内存情况的空间voidINIT(){inti;for(i=0;imax){max=pp[i].time;pos=i;}}returnpos;}//检查最长时间不使用页面intlongestTime(intmxatimep,inttemp){inti;intmax=-1;for(i=0;i
5、=1){pp[0].time--;}}else{pp[0].temp++;}if(pp[1].num!=A[i]){pp[1].time++;if(pp[1].temp>=1){pp[1].time--;}}else{pp[1].temp++;}
6、if(pp[2].num!=A[i]){pp[2].time++;if(pp[2].temp>=1){pp[2].time--;}}else{pp[2].temp++;}}for(i=0;imax){max=pp[i].time;pos=i;}}returnpos;}//检查某页是否在内存intEquation(intfold){inti;for(i=0;i7、他不满intCheck(){inti;for(i=0;i8、;}queue1[K++]=fold;}for(i=0;i
7、他不满intCheck(){inti;for(i=0;i8、;}queue1[K++]=fold;}for(i=0;i
8、;}queue1[K++]=fold;}for(i=0;i
此文档下载收益归作者所有