- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内存管理(操作系统)操作系统课程设计参考
附件2:封面(打印时清除本行内容。只许填空,不许变动结构)
河南城建学院
《操作系统》课程设计说明书
设计题目: 存储管理
专 业: 计算机科学与技术
指导教师:
班 级:
学 号:
姓 名:
同 组 人:
计算机科学与工程学院
2015 年 1 月 9日
前言
本课程设计是编制页面置换算法FIFO、LRU、LFU、NUR和OPT的模拟程序,并模拟其在内存的分配过程。同时根据页面走向,分别采用FIFO、LRU、LFU、NUR和OPT算法进行页面置换,统计命中率;同时系统可以随意设置当前分配给作业的物理块数。
系统运行时,任意输入一个页面访问序列,可以设定不同的页面置换算法和物理块数,输出其页面淘汰的情况,计算其缺页次数和缺页率。系统结束后,比较同一个页面访问序列,可以得出在不同的页面置换算法和物理块数的情况下,其产生的缺页次数和缺页率。
使用FIFO算法,由于测试数据相同的页面比较少,所以采用FIFO算法时,需要置换的页面多,比较繁琐,没有优化效果,所以FIFO算法性能不好。使用LRU的算法,此组数据显示LRU的算法使用比较繁琐,总的来说,NUR、LFU、LRU算法介于FIFO和OPT之间。通过系统模拟得出,OPT算法的性能高,LRU、NUR、LRU算法的性能次之,FIFO的算法性能最差,较少应用;由于OPT算法在实际上难于实现,所以实际应用一般用LRU算法。
本程序实现了操作系统中页式虚拟存储管理中缺页中断理想型淘汰算法,该算法在访问串中将来再也不出现的或是在离当前最远的位置上出现的页淘汰掉。这样,淘汰掉该页将不会造成因需要访问该页又立即把它调入的现象。该程序能按要求随机确定内存大小,随机产生页面数,进程数,每个进程的页数,给进程分配的页数等,然后运用理想型淘汰算法对每个进程进行计算缺页数,缺页率,被淘汰的序列等功能。
?
目录
一.系统环境 1
1.1硬件环境 1
1.2软件环境 1
二.设计目的 2
三.总体设计 3
3.1程序设计组成框图 3
3.2流程图 4
四.详细设计 7
4.1模块功能说明 7
4.11数据结构 7
4.12函数定义 8
4.13变量定义 8
4.2算法分析 8
五.调试与测试 10
5.1调试方法 10
5.11使用Vi编译程序 10
5.12运行程序 12
5.2结果分析与讨论 13
5.3测试问题及采取措施 13
六.源程序 14
七.心得体会 23
八.参考文献 24
一.系统环境
1.1硬件环境
PC机一台,0.99G内存,2.0GHZ主频
1.2软件环境
设计和实验将Windows环境下,gcc和虚拟机软件VMWare
设计目的
存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本设计的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。要求:
(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:①50%的指令是顺序执行的;②25%的指令是均匀分布在前地址部分;③25%的指令是均匀分布在后地址部分。
具体的实施方法是:①在[0,319]的指令地址之间随机选取一起点m;②顺序执行一条指令,即执行地址为m+l的指令;③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’;④顺序执行一条指令,其地址为m’+1;⑤在后地址[m’+2,319]中随机选取一条指令并执行;⑥重复上述步骤①~⑤,直到执行320次指令。
(2)将指令序列变换成为页地址流。设:①页面大小为1K;②用户内存容量为4页到32页;③用户虚存容量为32K。
在用户虚存中,按每页存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:
第0条~第9条指令为第0页(对应虚存地址为[0,9]);
第10条~第19条指令为第1页(对应虚存地址为[10,19]);
… … …
第310条~第319条指令为第31页(对应虚存地址为[310,319])。
按以上方式,用户指令可组成32页。
(3)计算并输出下述各种算法在不同内存容量下的命中率(要为以下各种算法定义数据结构)。
①先进先出的算法(FIFO);②最近最少使用算法(LRU);
③最近最不经常使用算法(NUR/NRU/CLOCK)。
命中率=1-页面失效次数/页地址流长度
在本设计中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。
(4)关于随机数产生办法,Linux/UNIX系统提供函数srand()和rand(),分别进行初始化和产生随机数。例如:srand()语句可初始化一个随机数:
a
您可能关注的文档
最近下载
- 建筑施工安全风险辨识和分级管控指南、台账、企业安全风险分级管控清单.docx VIP
- 2025年施工员考试题库及完整答案【名师系列】.docx VIP
- 2025年施工员考试题库附完整答案【夺冠】.docx VIP
- 2025年白蚁防治员岗位职业技能资格知识考试题库(附含答案).docx
- 国际护士节护理操作技能竞赛理论题库.docx
- 湖北省楚天协作体2024-2025学年高一下学期期中考试语文试题(含答案).docx VIP
- 48.职业病危害日常监测及检测评价管理制度.docx VIP
- 2025年施工员考试题库及完整答案1套.docx VIP
- 基于ssm框架的宠物领养系统毕业论文.docx VIP
- 打印版剑桥少儿英语1-3级词汇表.doc
文档评论(0)