欢迎来到天天文库
浏览记录
ID:35627707
大小:1.70 MB
页数:19页
时间:2019-04-03
《操作系统课程设计-页面置换算法程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、操作系统课程设计说明书题目:页面置换算法程序设计院系:计算机科学与工程专业班级:学号:学生姓名:指导教师:2014年11月21日计算机院系计算机教研室学号学生姓名专业(班级)设计题目页面置换算法程序设计设计技术参数系统平台:Windows7/WindowsXP开发工具:VC++6.0设计要求编写程序实现:(1)先进先出页面置换算法(FIFO)(2)最近最久未使用页面置换算法(LRU)(3)最佳置换页面置换算法(OPT)设计一个虚拟存储区和内存工作区,编程序演示以上三种算法的具体实现过程,并计算访问命中率。演示页面置换的三种算法。通过随机数产生一个指令序列,将指令序列转换成为页地址
2、流。计算并输出各种算法在不同内存容量下的命中率。工作量要求设计说明书的字数在3000字以上。工作计划2014.12.01-12.02根据课程设计的要求,查找相关资料,完成需求分析;2014.12.03-12.05进行系统的概要设计;2014.12.06-12.11进行系统的详细设计和源代码的书写;2014.12.12-12.14对系统进行调试分析,写出课程设计报告。参考资料[1]龚沛曾等编.C/C++程序设计教程.北京:高等教育出版社,2004.[2]谭浩强编著.C程序设计(第二版).北京:清华大学出版社,1999.[3]张尧学等编著.计算机操作系统教程.北京:清华大学出版社,2
3、011.[4]孟庆昌等编.操作系统.北京:电子工业出版社,2009.[5]刘腾红等编著.操作系统.北京:中国铁道出版社,2008.[6]汤子瀛等编著.计算机操作系统.西安:西安电子科技大学出版社,2011指导教师签字教研室主任签字2014年11月21日II指导教师评语:成绩:指导教师:年月日安徽理工大学课程设计(论文)成绩评定表II目录1问题描述12需求分析13概要设计13.1设计思路13.2功能模块设计23.3算法流程图24详细设计44.1相关知识44.2置换算法函数代码设计44.3辅助函数代码设计105调试分析126测试结果137设计体会15参考文献15II1问题描述编写程序
4、实现:(1)先进先出页面置换算法(FIFO)(2)最近最久未使用页面置换算法(LRU)(3)最佳置换页面置换算法(OPT)设计一个虚拟存储区和内存工作区,编程序演示以上三种算法的具体实现过程,并计算访问命中率。演示页面置换的三种算法。通过随机数产生一个指令序列,将指令序列转换成为页地址流。计算并输出各种算法在不同内存容量下的命中率。2需求分析在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。 在进程运行过程中,若其所要访问的
5、页面不在内存需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,所以需要根据一定的算法来确定。 常用的算法有先进先出置换算法(FIFO)、最近最久未使用置换算法(LRU)和最佳置换算法(OPT),该设计是在VC++6.0环境下用上述三种算法来实现页面置换算法的模拟程序,然后计算访问命中率,并测试结果。3概要设计3.1设计思路选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换: 14FIFO基本思想:是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页
6、时,就从队头删除一页,而从队尾加入缺页。或者借助辅助数组time[mSIZE]记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。 LRU基本思想:是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。数组flag[10]标记页面的访问时间。每当使用页面时,刷新访问时间。发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。OPT基本思想:是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。数组next[mSIZE]记录物理块中对应页面的最后访问时间
7、。每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。3.2功能模块设计(1)置换算法函数:voidFIFO():先进先出页面置换算法voidLRU():最近最久未使用置换算法voidOPT():最佳置换算法(2)辅助函数:voidoutput(intt):计算输出voidshowInfo():显示信息void download():载入数据void mDelay(intDelay):设置延迟voidcompute():计算过程延迟3.3算法流程图算
此文档下载收益归作者所有