第五章 存储管理1).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 存储管理 主存的管理 第五章 存储管理 5.1 存储管理的功能 5.2 分区存储管理 5.3 覆盖和交换 5.4 页式管理 5.5 段式与段页式管理 5.6 局部性原理与抖动问题 5.1 存储管理的功能 5.1.1 虚拟存储器 5.1.2 地址变换 5.1.3 内外存数据传输的控制 5.1.4 内存的分配与回收 5.1.5 内存信息的共享与保护 5.1.1 虚拟存储器 内存由顺序编址的块组成,内存的每个存储单元都有一个编号,这种编号称为内存地址(或称为物理地址,绝对地址)。 内存地址的集合称为内存空间(或物理地址空间)。 5.1.1 虚拟存储器 用户编程所用的地址称为逻辑地址(或虚地址)。 由逻辑地址组成的空间称为逻辑地址空间(或虚拟地址空间)。 5.1.1 虚拟存储器 源程序——〉目标代码 地址安排? 按照物理存储器中的位置赋予实际物理地址。 优点:CPU 执行目标代码时的执行速度高。 缺点:能装入内存并发执行的进程数大大减少,对于某些较大的进程可能会无法执行;编译程序将非常复杂,编译程序必须知道内存的当前空闲部分及其地址,并且把一个进程的不同程序段连续地存放起来 由编译链接程序编译后链接(静态、动态)到一个以0地址为始地址的线性或多维虚拟地址空间(逻辑地址空间)。 每个进程都拥有一个虚拟地址空间。每个指令或数据单元都在这个虚拟空间中拥有确定的地址,把这个地址称为虚拟地址(virtual address)(逻辑地址)。 5.1.1 虚拟存储器 虚拟存储器:进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。 实现虚拟内存的基本原理 将程序正在使用的部分内容放在内存,而暂时不用的部分放在外存,在需要时由系统调入内存,并将不需要(或暂不需要)的部分调出内存。 由于程序在执行时,在一段时间内一般仅使用它的程序的一部分(或一小部分),所以程序仅有部分装入内存完全能够正确执行。 要由操作系统结合相关硬件来完成上述工件,这样计算机好象为用户提供了一个容量远大于内存的存储器,这个存储器称为虚拟存储器。 5.1.1 虚拟存储器 虚拟存储器呈现在用户面前的是一个在物理上只受内存和外存总容量限制的存储系统,这要求存储管理系统只把进程执行时频繁使用和立即需要的指令与数据等存放在内存中,而把那些暂时不需要的部分存放在外存中,待需要时自动调入,以提高内存的利用率和并行执行的作业道数。 虚拟存储器不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中互相关联的信息的相对位置。 每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式确定的。 5.1.2 地址变换 地址重定位:从虚拟地址到内存地址的转换称为地址重定位,或称为地址映射。 地址映射的方式: 1、静态地址重定位 2、动态地址重定位 1、静态地址重定位 在虚拟空间程序执行之前由装配程序完成地址映射的工作。不能实现虚拟存储器 假定程序装入内存的首地址为BA,程序地址为VA,内存地址为MA,则地址映射按下式进行:MA=(BA)+(VA) 。 例 程序装入内存的首地址为1000,则装配程序就按MA=1000+VA对程序中所有地址部分进行修改,修改后指令Load A,200就变为Load A,1200 静态地址重定位的优缺点 优点:不需要硬件的支持。 缺点:程序必须占用连续的内存空间,程序和数据不能共享;程序一旦装入内存之后就不能再移动,并且必须在程序执行之前将有关部分全部装入。 2、动态地址重定位 动态地址重定位是在程序执行的过程中,在CPU访问内存之前,将要访问的程序地址转换为内存地址。一般来说这种转换是由专门的硬件机构来完成的。 在地址重定位机构中,有一个基地址寄存器BR和一个程序地址寄存器VR,一个内存地址寄存器MR。 MA=(BR)+(VR) 2、动态地址重定位 动态地址重定位的具体过程: 程序装入内存后,它所占用的内存区的首地址由系统送入基地址寄存器BR中。 在程序执行的过程中,若要访问内存,将访问的逻辑地址送入程序地址寄存器VR中。 地址转换机构把VR和BR中的内容相加,并将结果送入MR中,作为实际访问的物理地址。 2、动态地址重定位 动态地址重定位的优点 可以对内存进行非连续分配。程序占用的内存空间是动态可变的,当程序从某个存储区移到另一个区域时,只需要修改相应的寄存器BR的内容即可。 提供了实现虚拟存储器的基础。一个程序不一定要求占用一个连续的内存空间。可以部分地装入程序运行。 便于多个进程共享同一个程序的代码。 2、动态地址重定位 动态地址重定位的代价: 需要硬件的支持。 实现存储管理的软件算法

文档评论(0)

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

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

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档