欢迎来到天天文库
浏览记录
ID:56999652
大小:128.00 KB
页数:15页
时间:2020-07-30
《页面置换 操作系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二页面置换算法实现一、实验目的(1)了解内存分页管理策略(2)掌握调页策略(3)掌握一般常用的调度算法(4)学会各种存储分配算法的实现方法。(5)了解页面大小和内存实际容量对命中率的影响。二、实验内容采用页式分配存储方案,通过分别计算不同算法的命中率来比较算法的优劣,同时也考虑页面大小及内存实际容量对命中率的影响,设计一个虚拟存储区和内存工作区,并使用下述算法来模拟实现页面的置换:1.先进先出的算法(FIFO)2.最近最久未使用算法(LRU)3.最佳置换算法(OPT)实验分析在进程运行过程中,若其所访问的页面不存在内存而需要把它们调入
2、内存,但内存已无空闲时,为了保证该进程能够正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应调出哪个页面,需根据一定的算法来确定,算法的好坏,直接影响到系统的性能。一个好的页面置换算法,应该有较低的页面更换频率。2.1先进先出(FIFO)页面置换算法当需要访问一个新的页面时,首先查看物理块中是否就有这个页面,若要查看的页面物理块中就有,则直接显示,不需要替换页面;如果要查看的页面物理块中没有,就需要寻找空闲物理块放入,若存在有空闲物理块,则将页面放入;若没有空闲物理块,则替换页面。并将物理块中所有页面timer++。2.2
3、最近久未使用(LRU)置换算法的思路最近久未使用置换算法的替换规则,是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。2.3最佳(OPT)置换算法的思路其所选择的被淘汰的页面,是以后不使用的,或者是在未来时间内不再被访问的页面,采用最佳算法,通常可保证获得最低的缺页率。三、实验流程3.1系统功能图图3-1系统功能图3.2算法流程图1)先进先出(FIFO)页面置换算法流程图图3-2先进先出页面置换算法流程图1)
4、最近久未使用(LRU)置换算法图3-3最近久未使用置换算法流程图1)最佳(OPT)置换算法图3-4最佳置换算法流程图三、源程序#include#include#include#include#defineL20//页面长度最大为20intM;//内存块structPro//定义一个结构体{intnum,time;};Input(intm,Prop[L])//打印页面走向状态{cout<<"请输入页面长度(10~20):";do{cin>>m;if(m>20
5、
6、m
7、<10){cout<8、";}cout<9、;}intMax(Pro*page1)//寻找最近最长未使用的页面{Pro*page=newPro[M];page=page1;inte=page[0].time,i=0;while(i10、次使用间隔长度{Pro*page=newPro[M];page=page1;intcount=0;for(intj=i;j
8、";}cout<9、;}intMax(Pro*page1)//寻找最近最长未使用的页面{Pro*page=newPro[M];page=page1;inte=page[0].time,i=0;while(i10、次使用间隔长度{Pro*page=newPro[M];page=page1;intcount=0;for(intj=i;j
9、;}intMax(Pro*page1)//寻找最近最长未使用的页面{Pro*page=newPro[M];page=page1;inte=page[0].time,i=0;while(i10、次使用间隔长度{Pro*page=newPro[M];page=page1;intcount=0;for(intj=i;j
10、次使用间隔长度{Pro*page=newPro[M];page=page1;intcount=0;for(intj=i;j
此文档下载收益归作者所有