- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
某某大学操作系统实验实验报告
实验名称:存储管理
班号:
姓名:
学号:
操作系统实验 2
一实验目的
通过模拟实现内存分配的伙伴算法和请求页式存储管理的几种基本页面置换算法, 了解存储
技术的特点。 掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过
程,并比较它们的效率
二实验内容
1.实现一个内存管理的伙伴算法,实现内存块申请时的分配和释放后的回收。
实验准备
用随机函数仿真进程进行内存申请, 并且以较为随机的次序进行释放。 对其碎片进行统
计,当申请分配内存失败时区分实际空间不足和由于碎片而不能满足。
2.设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。
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 页。
2
操作系统实验 2
三项目分析
3.1 对于 Buddy System
Buddy System 是一种经典的内存管理算法。在 Unix 和 Linux 操作系统中都有用到。其作
用是减少存储空间中的空洞、减少碎片、增加利用率。避免外碎片的方法有两种:
a. 利用分页单元把一组非连续的空闲页框映射到非连续的线性地
文档评论(0)