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

2-linux存储管理.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 存储管理 5.1 存储管理的功能 5.2 分区存储管理 5.3 覆盖与交换技术 5.4 页式管理 5.5 段式与段页式管理 5.6 局部性原理和抖动问题 本章小结 习题 5.1 存储管理的功能 重要资源 “瓶颈”:关键、紧张 帕金森定律 内存多大,程序多长 重要性:直接存取要求内存速度尽量快到与CPU取指速度相匹配,大到能装下当前运行的程序与数据,否则CPU执行速度就会受到内存速度和容量的影响而得不到充分发挥 5.1.1 虚拟存储器(逻辑上扩充主存容量) 虚拟存储器是存储管理的核心概念。存储管理系统把进程中那些不经常被访问的程序段和数据放入外存中,待需要访问它们时再将它们调入内存。 有两种方法安排这些编译后的目标代码的地址。一种方法是按照物理存储器中的位置赋予实际物理地址 另一种方法是编译链接程序把用户源程序编译后链接到一个以0地址为始地址的线性或多维虚拟地址空间,每一个进程都拥有这样一个空间(这个空间是一维的还是多维的由存储管理方式决定)。每个指令或数据单元都在这个虚拟空间中拥有确定的地址,把这个地址称为虚拟地址(virtual address)。 5.1.2 地址变换 内存地址的集合称为内存空间或物理地址空间。内存中,每一个存储单元都与相应的称为内存地址的编号相对应。显然,内存空间是一维线性空间。 一个是虚拟空间的划分问题。虚拟空间的划分使得编译链接程序可以把不同的程序模块链接到一个统一的虚拟空间中去。虚拟空间的划分与计算机系统结构有关。 第二个问题是把虚拟空间中已链接和划分好的内容装入内存,并将虚拟地址映射为内存地址的问题。称之为地址重定位或地址映射。地址映射就是要建立虚拟地址与内存地址的关系。实现地址重定位或地址映射的方法有两种:静态地址重定位和动态地址重定位。 1. 静态地址重定位 静态地址重定位(static address relocation)是在虚拟空间程序执行之前由装配程序完成地址映射工作 静态重定位方法将程序一旦装入内存之后就不能再移动,并且必须在程序执行之前将有关部分全部装入。 静态重定位的优点是不需要硬件支持。有软件完成。 缺点是:使用静态重定位方法进行地址变换无法实现虚拟存储器。 另一个缺点是必须占用连续的内存空间, 2. 动态地址重定位 动态地址重定位(dynamic address relocation)是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。地址重定位机构需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR。指令或数据的内存地址MA与虚拟地址的关系为: MA=(BR)+ (VR) 这里,(BR)与(VR)分别表示寄存器BR与VR中的内容。 动态重定位过程可参看图5.3。 图5.3 动态地址重定位 其具体过程是: (1) 设置基地址寄存器BR,虚拟地址寄存器VR。 (2) 将程序段装入内存,且将其占用的内存区首地址送BR中。例如,在图5.3中,(BR)=1000。 (3) 在程序执行过程中,将所要访问的虚拟地址送入VR中,例如在图5.3中执行LOAD A 500语句时 ,将所要访问的虚拟地址500放入VR中。 (4) 地址变换机构把VR和BR的内容相加,得到实际访问的物理地址。 动态重定位的主要优点有: (1) 可以对内存进行非连续分配。 (2) 动态重定位提供了实现虚拟存储器的基础。 (3) 有利于程序段的共享。 3.链接 静态链接(static-linking) 动态链接(dynamic-linking) 优点 共享:多个进程可以共用一个DLL,节省内存,减少文件交换。 部分装入:一个进程可以将多种操作分散在不同的DLL中实现,而只将当前操作相应的DLL装入内存。 便于局部代码修改:即便于代码升级和代码重用;只要函数的接口参数(输入和输出)不变,则修改函数及其DLL,无需对可执行文件重新编译或链接。 便于运行环境适应:调用不同的DLL,就可以适应多种使用环境和提供不同功能。如:不同的显示卡只需厂商为其提供特定的DLL,而OS和应用程序不必修改。 缺点: 链接开销:增加了程序执行时的链接开销; 管理开销:程序由多个文件组成,增加管理复杂度。 5.1.3 内外存数据传输的控制 最基本的控制办法有两种。一种是用户程序自己控制,另一种是操作系统控制。 用户程序自己控制内外存之间的数据交换的例子是覆盖。覆盖技术要求用户清楚地了解程序的结构,并指定各程序段调入内存的先后次序。覆盖是一种早期的主存扩充技术。使用覆盖技术,用户负担很大,且程序段的最大长度仍受内存容量限制。因此,覆盖技术不能实现虚拟存储器。 操作系统控制方式又分为两种。一种是交换(swapp

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档