- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京邮电大学 操作系统实验 实验报告
实验日期:2010-12-20
实验名称:存储管理
TOC \o 1-3 \h \z \u 一、实验目的 2
二、实验内容 2
三、实验分析 2
◆对于伙伴算法 2
◆对于虚拟存储区和内存工作区的不同算法 3
四、编程实现 3
◆伙伴算法 3
◇原理 3
◇伙伴的概念 3
◇内存的释放 4
◇位图法 4
◇伪代码 4
◇运行结果演示 5
◆最佳置换算法 5
◇基本思想 5
◇伪代码实现 5
◇运行结果演示 6
◆先进先出法(Fisrt In First Out) 6
◇基本思想 6
◇伪代码实现 6
◇运行结果演示 7
◆ 最近最久未使用(Least Recently Used) 7
◇基本思想 7
◇伪代码实现 7
◇运行结果演示 7
◆最不经常使用法(Least Frequently Used) 8
◇基本思想 8
◇伪代码实现 8
◇运行结果演示 8
◆ 最近未使用法(No Used Recently) 8
◇基本思想 8
◇伪代码实现 9
◇运行结果演示 9
五、各种算法运行综合比较 9
六、实验心得 10
七、程序源代码 11
◆伙伴算法 11
◆最佳置换算法 19
◆先进先出法 22
◆ 最近最久未使用 24
◆最不经常使用法 27
◆最近未使用法 30
一、实验目的
通过模拟实现内存分配的伙伴算法和请求页式存储管理的几种基本页面置换算法,了解存储技术的特点。掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。
二、实验内容
◆实现一个内存管理的伙伴算法,实现内存块申请时的分配和释放后的回收。
◆设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。
1) 最佳置换算法(Optimal)
2) 先进先出法(Fisrt In First Out)
3) 最近最久未使用(Least Recently Used)
4) 最不经常使用法(Least Frequently Used)
5) 最近未使用法(No Used Recently)
其中,命中率=1-页面失效次数/页地址流长度。
试对上述算法的性能加以较各:页面个数和命中率间的关系;同样情况下的命中率比较。
三、实验分析
◆对于伙伴算法,用随机函数仿真进程进行内存申请,并且以较为随机的次序进行释放。对其碎片进行统计,当申请分配内存失败时区分实际空间不足和由于碎片而不能满足。
◆对于虚拟存储区和内存工作区的不同算法,其中主要的流程:首先用srand( )和rand( )函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。
实验可先从一个具体的例子出发。
(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:
A:50%的指令是顺序执行的
B:25%的指令是均匀分布在前地址部分
C:25%的指令是均匀分布在后地址部分
具体的实施方法是:
A:在[0,319]的指令地址之间随机选取一起点m
B:顺序执行一条指令,即执行地址为m+1的指令
C:在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’
D:顺序执行一条指令,其地址为m’+1
E:在后地址[m’+2,319]中随机选取一条指令并执行
F:重复步骤A-E,直到320次指令
(2)将指令序列变换为页地址流
设:页面大小为1K;
用户内存容量4页到32页;
用户虚存容量为32K。
在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:
第 0 条-第 9 条指令为第0页(对应虚存地址为[0,9])
第10条-第19条指令为第1页(对应虚存地址为[10,19])
………………………………
第310条-第319条指令为第31页(对应虚存地址为[310,319])
按以上方式,用户指令可组成32页。
四、编程实现
◆伙伴算法
◇原理:伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为2?0(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的
◇伙伴的概念,满足以下三个条件的称为伙伴:
(1)两个块大小相同
(2)两个块地址连续
(3)两个块必须是从同一个大块中分离出来的。
◇内存的释放,是分配的逆过程,也可以看作是伙伴的合并过程。当释放
您可能关注的文档
最近下载
- 《第5课 共同保卫伟大祖国》课件_初中道德与法治_七年级全一册_中华民族大团结.pptx VIP
- h3cloud云学堂故障处理手册.pdf VIP
- 2025-2026学年重庆市巴蜀中学学堂班八年级(上)选拔数学试卷(含答案).pdf VIP
- 第5课 共同保卫伟大祖国 课件中华民族大团结.ppt VIP
- GB50819-2013 油气田集输管道施工规范.pdf VIP
- 沥青混凝土面层工程检验批质量验收记录表.doc VIP
- 人教PEP版四年级英语下册 《Weather》Part A PPT课件(第1课时) .ppt VIP
- 《文化的继承与创新》课件.ppt VIP
- 百冠公司成品仓库仓储货位优化研究.docx
- 2024光伏连接器技术标准.docx VIP
文档评论(0)