4第四章存储器管理Convertor..docVIP

  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文档。上传文档
查看更多
第四章 存储器管理(1) 张 琦 内容 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式 4.8 页面置换算法 4.9 请求分段存储管理方式 4.1 存 储 器 的 层 次 结 构 4.1.1 多级存储器结构 对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄存器,中间为主存,最底层是辅存。 在较高档的计算机中,还可以根据具体的功能分工细划为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等6层。 计算机系统存储层次示意 在存储层次中越往上,存储 介质的访问速度越快,价格也 越高,相对存储容量也越小。 CPU寄存器 主存 辅存 4.1 存 储 器 的 层 次 结 构 一般来说,容量越大的存储介质,访问速度会越慢, 但单位存储的成本越低。 反过来说,如果存储介质的访问速度越高,则它的成本也 会越高,例如寄存器。 4.1 存 储 器 的 层 次 结 构 4.1.2 主存储器与寄存器 1.主存储器 主存储器(简称内存或主存)用于保存进程运行时的 程序和数据。 由于主存储器的访问速度远低于CPU执行指令的 速度,为缓和这一矛盾,在计算机系统中引入了寄存 器和高速缓存。 2. 寄存器 寄存器访问速度最快,用于加速存储器的访问速度, 协调CPU工作,但价格却十分昂贵,因此容量不可能 做得很大。 4.1 存 储 器 的 层 次 结 构 4.1.3 高速缓存和磁盘缓存 1.高速缓存 高速缓存容量大于或远大于寄存器, 访问速度快于主 存储器。将主存中一些经常访问的信息存放在高速缓存 中,减少访问主存储器的次数,可大幅度提高程序执行 速度。 2.磁盘缓存 磁盘缓存本身并不是一种实际存在的存储介质,它依 托于固定磁盘,提供对主存储器存储空间的扩充,即利 用主存中的存储空间,来暂存从磁盘中读出(或写入)的 信息。 4.2 程 序 的 装 入 和 链 接 如何将一个用户源程序变为一个可在内存中执行的程 序,通常都要经过以下几个步骤: ①是要编译,由编译程序(Compiler)将用户源代码编译成若干个目标模块(Object Module); ②是链接,由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块(Load Module); ③最后是装入,由装入程序(Loader)将装入模块装入内存。 … … … 编译程序 产生的目 标模块 库 内存 装入模块 4.2 程 序 的 装 入 和 链 接 4.2.1 程序的装入 1. 绝对装入方式(Absolute Loading Mode) 装入程序按照装入模块中的绝对地址将程序和数据 装入内存。 2.可重定位装入方式(Relocation Loading Mode) 装入模块为相对地址(逻辑地址),装入程序按照当 前内存使用的情况,将装入模块装入内存的某个物理地址。 3.动态运行时装入方式(Dynamic Run-time Loading) 将装入模块装入内存后,运行时才进行地址变换,又称 为动态重定位。 只适用于单道程序环境。 装入后不能改变,是一种静态重定位。 4.2 程 序 的 装 入 和 链 接 4.2.2 程序的链接 根据链接时间的不同,可把链接分成如下三种: (1) 静态链接 事先将所需目标模块链接生成一个完整的装入模块 (. exe)运行时直接装入内存。 (2) 装入时动态链接 指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式。 (3) 运行时动态链接 延迟到运行时,才将当前被调用的目标模块装入,并链接。 4.3 连 续 分 配 方 式 4.3.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内存 分为系统区和用户区两部分。 1.划分分区的方法 (1) 分区大小相等,即所有的内存分区大小相等。 (2) 分区大小不等。 4.3.2 固定分区分配 这是最简单的可运行多道程序的存储管理方式。将内存用 户空间划分为若干个固定大小的区域,在每个分区中装入一 道作业,允许几道作业并发运行。 4.3 连 续 分 配 方 式 2.内存分配 将内存固定划分为相等或不等的区域,称为分区, 分区一旦划定,在执行过程中分区长度和个数将不再变 化。建立内存分配表记录分区分配的情况。 简单、可靠,但产生分

文档评论(0)

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

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

1亿VIP精品文档

相关文档