网站大量收购独家精品文档,联系QQ:2885784924

第4章存储器管理.pptxVIP

  1. 1、本文档共231页,可阅读全部内容。
  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文档。上传文档
查看更多

;内存(MainMemory或PrimaryMemory或RealMemory)也称主存,是指CPU能直接存取指令和数据的存储器。;内容概述;4.1程序的装入和链接;4.1程序的装入和链接;;4.1.1程序的装入;1.绝对装入方式(AbsoluteLoadingMode)(适合“单道”)

在编译时,如果知道程序将驻留在内存的什么位置,则编译程序产生绝对地址的目标代码

装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故不需对程序和数据的地址进行修改

程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。;2025/2/26;2.可重定位装入方式(RelocationLoadingMode)(可用于“多道”)

绝对装入方式只能将目标模块装入到内存中事先指定的位置

在多道程序环境下,不可能预知目标模块放在内存中的地址,因此绝对装入方式不适合在多道环境下使用

程序中目标模块的地址通常从0开始,其他地址都是相对于0计算

把在装入时对目标程序中指令和数据的修改过程称为重定位,又因为地址变换通常是在装入时一次完成的,以后不再改变,故称为静态重定位。

静态重定位特点:简单、不能在内存中移动、要求连续。;图4-3作业装入内存时的情况;如何将程序在内存中从10000移动到20000?;3.动态运行时装入方式(DenamicRun-timeLoading)(可用于“多道”)

可重定位方式不允许程序运行时在内存中移动位置

装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址,依靠硬件支持进行地址转换。

动态重定位特点:在内存中可移动。;4.1程序的装入和链接;4.1.2程序的链接;图4-4程序链接示意图;2.装入时动态链接(LoadtimeDynamicLinking)

将用户的源程序编译后所得的一组目标模块在装入内存时采用边装入边链接的方式

优点:(1)便于目标模块的修改和更新

(2)便于实现对目标模块的共享

;2025/2/26;3.运行时动态链接(Run-timeDynamicLinking)

应用程序在每次运行的模块可能不相同,出错模块不一定什么时候运行。

运行时动态链接方式将对某些模块的链接推迟到执行时才去做,即在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上

凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间;2025/2/26;内容概述;4.2连续分配方式;4.2.1单一连续分配;图单一连续分配;4.2连续分配方式;4.2.2固定分区分配;图4-5固定分区使用表;图固定分区分配;管理特点;4.2连续分配方式;图动态分区分配内存使用情况示意图;根据进程的实际需要,动态地为之分配内存空间

1.分区分配中的数据结构

空闲分区表:记录每个空闲分区的情况

…;图4-6空闲链结构;为什么作业4分配到352KB地址空间上?;2.分区分配算法

(1)首次适应算法FF

空闲分区链以地址递增顺序链接

分配时从链首开始查找,找到一个大小可满足的空闲分区,划出一块给请求者

可能会造成在低地址部分很多难以利用的小空闲分区

优点:(1)分配算法简单(2)优先利用低址部分,保留了高址的大空闲区,为大作业装入提供条件。

缺点:每次从链首开始,增加了查找开销,并且留下许多难以利用的”碎片”(外碎片);2.分区分配算法

(1)首次适应算法FF

(2)循环首次适应算法

该算法是由首次适应算法演变而成的

空闲分区链以地址递增顺序链接,链表为循环链表

每次分配时从上一次找到空闲分区的下一个空闲区开始

优点:使空闲分区分布均匀,减少查找空闲分区开销

缺点:会缺乏大的空闲分区;2.分区分配算法

(1)首次适应算法FF

(2)循环首次适应算法

(3)最佳适应算法

每次分配时,把能满足要求、又是最小的分区分配给作业

空闲分区链以大小递增顺序链接

从头开始,第一次找到满足要求的空闲分区,必然是最优的,避免了“大材小用”

宏观上看,会在存储器中留直许多难以利用的小分分区

特点:解决了大作业的分配问题;每次总是最小的,容易产生不可利用的空闲区(“小碎片”);收回主存时,要按分区大小递增

文档评论(0)

zzqky + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档