第五章 存储管理2.pptxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

作业:

如图(a)所示,现在有两个空闲分区,一个是111KB-161KB,一个是231KB-256KB。作业D到达,提出存储需求20KB,问:如果系统实行最先适应算法、最佳适应算法、最坏适应算法时,分别应该把哪一个空闲区分配给它?分配后的内存情形用图形标出。(此时内存空闲区采用链表法管理,空闲区按照地址递增顺序排列)。

操作系统

作业A的分区(16K)

作业B的分区(75K)

空闲区(50K)

作业C的分区(70K)

空闲区(25K)

操作系统

作业A的分区(16K)

作业B的分区(75K)

作业D的分区(20K)

空闲区(30K)

作业C的分区(70K)

空闲区(25K)

操作系统

作业A的分区(16K)

作业B的分区(75K)

空闲区(50K)

作业C的分区(70K)

作业D的分区(20K)

空闲区(5K)

0

20K

36K

111K

161K

231K

256K

0

20K

36K

111K

161K

231K251K

256K

0

20K

36K

111K

131K

161K

231K

256K

(b)

(c)

(a)

答:

当系统采取最先适应算法时,两个空闲区都能满足作业D的需求,此时系统按照空闲区地址递增的顺序构成链表,则最先搜索到的空闲区应该是大小为50KB的空闲区,此时分配后的内存如图(b)所示。

当系统采取最佳适应算法时,空闲区链表应当按照空闲区的大小顺序重新排列,则搜索到满足条件的最小的空闲区应该是大小为25KB的空闲区,此时分配后的内存如图(c)所示。当系统采取最坏适应算法时,则搜索到满足条件的最大的空闲区应该是大小为50KB的空闲区,此时分配后的内存如图(b)所示。

5.3页式存储管理

基本思想

分区管理存在着严重的外部碎片问题,而且作业的大小受到分区大小的限制,而分页管理可以很好地解决这些问题。在分页存储管理中,系统将内存划分成大小相等的许多分区,称为“页面”。

页面的编号为0,1,2,...如图(a)所示。用户作业的地址空间也被划分成大小与“页面”相同的分区,称为“页”,如图(b)所示。此时用户程序的虚拟地址由两部分组成:页号与页内地址,所示。这个二维地址可以转换成一维的,具体转换公式为:

一维地址=页号*分页尺寸+页内位移量

继续

(c)

只要内存中有足够多的空闲页面,用户作业中的某一页装入哪一个页面都是可以的。上图中,作业装入了页面6、页面8和页面10这三个不连续的存储块中。因此解决了分区管理中作业必须连续存放的缺陷。

20K

24K

28K

32K

36K

40K

44K

作业A(第0页)

操作系统

页内地址

页面0~4

页面10

第1页

第0页

页面6

第2页

页号

内存

109

1092

(b)

19

静态页面管理

静态页面管理在作业或进程执行之前,

把该作业或进程的程序段和数据全部装入内

存中的各个页面,利用页表和硬件地址变换

机构实现虚拟地址到物理地址的映射。该存

储管理方法中使用的数据结构主要有“页表”和“请求表”。

页表

最简单的页表由页号与页面号组成,每个进程至少有一个页表,记录了该进程的页与页面的对应关系。如图(a)所示:

请求表

请求表记录了作业或进程在内存中的实际对应位置,其表项如图(b)所示:

进程

请求页

面数

页表始

页表长度

状态

1

20

1024

20

已分

2

34

1044

34

已分

3

18

1078

18

已分

页号

页面号

0

9

1

21

2

22

(a)(b)

存储页面表

存储页面表每个系统一张,每个字位代表一个页面。若页面已分配,则对应的字位置为1;反之,置为0。我们可以按照下面的公式计算出存储页面表中的该位代表的页面号:

页面号=字节号*8+位号

位号01234567字节号

1

1

1

1

0

1

0

0

1

0

0

1

1

1

1

0

空闲页面总数为:6

0

1

分配:

如图所示:

回收:

当进程执行完毕时,删除对应的页表,

并修改存储页面表

(位图)中相应的标志。

读出进程请求的页面数n

扫描存储页面表,系统中有n个空闲页面吗?

设置页表,将页表始址,页表长

度置入请求表中,置状态为“已

分配”

搜索存储页面表,分配n个页面,

将页面号填入页表中

无法分配

内存的分配与回收

返回

分页存储管理的地址转换

1

您可能关注的文档

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档