- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告
课程名称:操作系统实验项目名称: 银行家算法实验时间:4月20
课程名称:操作系统
实验项目名称: 银行家算法
实验时间:4月20日
成 绩:
指导教师(签名):
班级:计算091
姓名:祖健铭
学号:910402152
实验目的:
理解可变分区管理方式下采用最佳适应分配算法实现主存分配和回收。 对理论课屮学习的内存管理屮的概念作进一步的理解。
实验环境:
硬件:PC机WindowXP的系统操作
软件:安装了 W1N?TC帮助实现程序
实验内容及过程:
可变分区基本思想:内存不是预先划分好的,而是当作业装入时,根据作业的需求和内 存空间的使用情况来决定是否分配。若有足够的空间,则按需耍分割一部分分区给该进程; 否则令其等待主存空间。
随着作业装入、撤离、主存空间被分成许多个分区,有的分区被作业占用,有的分区是
空闲的。如下图,阴影部分为已分配分区,空白部分为未分配分区。
15K
38K
48K
68K
80K
L10K
120K
为了说明哪些区是空闲的,必须耍有一张空闲区说明表:
始址
长度
扌小志
15K
23K
未分配
48K
20K
未分配
80K
30K
未分配
空
空
其中:
起址:空闲区的主存起始地址。
长度:空闲区的长度
状态:有两种。一种“未分配”;一种“空表H”,登记归还区的起址和长度。 为了说明哪些区是已分配的,必须要有一张已分配区说明表:
始址
长度
标志
0K
15K
J1
38K
10K
J2
68K
12K
J3
110K
10K
J4
空
其屮:
起址:一个已分配区的主存起始地址。
氏度:已分配区的长度
状态:有两种。一种“已分配作业的作业名”;一种“空表冃”,登记新的已分配区。 1.分配主存
采用最佳适应分配算法(Best fit),将 空闲区表屮的空闲区按其容量递增的次序排列。 当一个作业要求装入主存时,按由小到人的顺序查找空闲区说明表,找到第一个满足申请长 度的空闲区(满足条件的最小空闲区)。有时候空闲区大于作业需要量,需要将空闲区分成两 部分,一部分作业占用,另一部分作为一个空闲区将其插入适当的位置。为了方便查找,总 是让“宇表1=1 ”集屮在表格的后面。
最佳分配算法:每次选择容量接近的空闲区来分配并分割,会产生人量碎片。
2.回收主存
当一个作业执行结束撤离时,作业所占的区域应该归还,系统根据回收区的首址从空闲 区表中找到相应的插入点,归还的区域如果与其他空闲区相邻(有如下三种情况),则应合 成一个大的空闲区,病登记在空闲区说明表中。否则作为一个新的空闲区登记在空闲区说明 表中。
归还主存时的凹收算法参考流程图如下图:
L归还区长度 S忌归还区
|查空闲区说明表[
无
无
与归
区下邻的空
直
找一- 畫记始 长 状态
空表百”栏 址|?S 度<=L
未分配”
按地址顺斥调整和 紧缩空闲区说明裟
上語的
把下邻空闲区矍记栏 中姑址 长度
有
无
!
=1+下邻空闲区颐
上邻空闲区豎记 栏中长度増加L
有与归
区上邻的空闲
图主存冋收示意图
实验结果及分析
实验中按照先分配内存.再列表,最后回收内存
menu: 0——exit; 1——allocation; 2——reclaim; 3——list
pls choose0~3l
pls entei* the job and the nenory length you want:
A 32
menu:
0——exit;
1—allocat ion; 2—reclaim; 3—list
pls choose0^33
the free
table:
address
length
flag
: 0
992
1
0
0
0
0
n
0
ra
0
ra
0
U
0
U
0
the used.
stable :
address
length
flag
992
32
A
menu: 0—exit; 1—allocation; 2—reclaim; 3—list
pls choose 0*^3 1
pls enter the job and the memory length you want: IB 64
menu:
0——exit;
1——allocation; 2——reclaim; 3——list
[pls choose0~3〉3
the free
table:
address
length
flag
: 0
928
1
0
0
0
0
0
0
0
0
0
0
0
0
the used.
stable :
address
length
flag
992
32
A
928
64
B
0
0
0
0
0
0
menu: 0——exit; 1—allocation; 2——reclaim; 3——list
pls choose〈旷3
pls
文档评论(0)