ImageVerifierCode 换一换
格式:DOC , 页数:55 ,大小:995.24KB ,
资源ID:13110608      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13110608.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(合工大页面置换算法操作系统课程设计报告Word文档下载推荐.doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

合工大页面置换算法操作系统课程设计报告Word文档下载推荐.doc

1、2. 关键代码8五、设计结果22六、设计体会24七、附录24一、设计题目第15题:1. 建立相应的数据结构;2. 在屏幕上显示页面的状况;3. 时间的流逝可以用下面几种方法模拟:(a) 按键盘,每按一次可以认为过一个时间单位;(b) 相应WM_TIMER;4. 将一批页的置换情况存入磁盘文件,以后可以读出并重放;5. 计算页面的缺页次数、缺页后的页面置换次数;6. 支持算法:FIFO、LRU、最佳置换算法。二、开发环境与工具开发环境:Windows开发工具:VC6.0 、 Eclipse三、设计原理1.最佳(Optimal)置换算法最佳置换算法是由Belady于1966年提出的一种理论上的算法

2、。其所选择的被淘汰页面将是以后永不使用的,或是在未来最长时间内不再被访问的页面。采用最佳置换算法通常可以保证获得最低的缺页率,但由于人们目前还无法预知,一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,但可以用该算法去评价其他算法。现举例说明如下:假定系统为某进程分配了三个物理快,并考虑有以下的页面号引用串:7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1进程运行时,先将7,0,1三个页面放入内存。以后,当进程要访问页面2时,将会产生缺页中断。此时OS根据最佳置换算法将将选择页面7予

3、以淘汰。这是因为页面0将作为第5个被访问的页面,页面1是第14个被访问的页面,而页面7则要在第18次页面访问是才需调入。下次访问页面0时,因它已在内存而不必产生缺页中断。当进程访问页面3时,又讲引起页面1被淘汰;因为它在现在的1,2,0三个页面中,将是以后最晚才被访问的。图1示出了采用最佳置换算法时的置换图。由图可以看出,采用最佳置换算法发生了6次页面置换。 页面号71234物理快1物理快2物理快32.先进先出(FIFO)页面置换算法FIFO算法是最早出现的置换算法,该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最长的页面予以淘汰。该算法实现简单,只需要把已经调入内存的页面按先后次序

4、排成一个队列,当发生缺页时,将队首页面出队,再将找到的页面入队,这样就完成了页面置换的任务。以书上的为例有如下表格:70 1 2 0 3 4 2 30 3 2 1 2 0 1 7 0 但该算法与程序的运行规律不相适应,它忽视了程序运行的局部性原理。有可能造成需要访问的页面经常性的被置换。3.最近最久未使用(LRU)页面置换算法FIFO算法性能较差,它是根据页面进入的先后次序进行置换,并不能反映页面的使用情况。最近最久未使用(LRU)算法的基本思想是利用“最近的过去”来预测“最近的未来”,这个也是根据程序运行的局部性原理。由于最佳置换算法只有理论价值,实际系统中是无法使用的,所以就利用最近的过去

5、来预测未来。该算法每访问一个字段,记录一个自上次以来被访问以来所经历的时间t。当需要淘汰一个页面时,选择所有页面中t值最大的,即最近最久未使用的页面予以置换。以书上为例,有如下表格:四、重要算法1.算法流程图FIFO算法流程图:Yi+把pi的内容直接装入最上面一个空内存块,i+把page中最先装入的页面置换出去.i+Page是否有空当前p中第i个元素是否已在内存中页面走向存入数组p中,内存块用page表示初始化为0开始N输出当前内存块状态结束LRU算法流程图: 开始当前p中第i个元素是否已在内存把page中最近最久未使用的页面置换出去.i+OPT算法流程图: 结束把page中以后一段时间都不使

6、用或是使用时间离现在最远的换出.i+2. 关键代码1. FIFO算法代码:public class FIFOControl /private int num = 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1;/使用无参构造函数private int num = new int50;private int numLength;private int pg = new int10;private int timepg = new int10;private int PageNum;public int store;FIFOControl()this.PageNum

7、 = 3;numLength = 20;int numtemp = 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1;for( int i = 0; i numLength; i+ )numi = numtempi;for(int i = 0; 10; i+)pgi = -1;timepgi = 1;store = new intnumLengthPageNum+1;for( int i = 1; PageNum+1;for( int j = 0; j j+ )storeji = -1;for( int k = 0; k k+ )storek0 = 0;FIFOC

8、ontrol( int nump, int n, int nlength )/参数:1.物理块数 2.页面序列号 3.页面序列号数组长度 meiyongthis.PageNum = nump;numLength = nlength;for(int j = 0; nlength; j+)numj = nj;private boolean checkInPage( int p, int plength, int keynum )for( int jj = 0; jj plength; jj+)timepgjj+;if( keynum = pj )return true;return false;private void caculate()/将物理页框装满int timer = 0;/横着的指针 PageNum;pgi = numi; i; j+)/加时间timepgj+;for(int jj = 0; jj+)/数据放到store中去storetimerjj+1 = pgjj;timer+;/把后面的数据按先进先出的顺序放到物理块中for( int i = PageNum;if( checkIn

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1