计算机操作系统第四章.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文档。上传文档
查看更多
第四章 存储器管理 存储器的层次结构 程序的装入和链接 连续分配方式 基本分页存储管理方式 基本分段存储管理方式 虚拟存储器 请求分页存储管理方式 页面置换算法 请求分段存储管理方式 目的: 内存有限,有效地对内存进行管理 4.1 存储器的层次结构 一 多级存储器结构 二 寄存器与主存 1 寄存器 寄存器是CPU的组成部分,可用来暂存指令、数据和地址。容量小,价格十分昂贵。 在CPU的控制部件中,包含的寄存器有指令寄存器和程序计数器;在中央处理器的算术及逻辑部件中,包含的寄存器有累加器。 寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径,完全能与CPU协调工作。寄存器的长度通常以“字”作为单位。 2 主存储器 内存指的就是主板上的存储部件,用于保存进程运行时的程序和数据。 CPU直接与之通信,从中读数据送入寄存器,或将寄存器的数据写入内存, 内存的访问速度远低于CPU的指令执行速度,为缓和这一矛盾,引入了高速缓存。 三 高速缓存和磁盘缓存 一 高速缓存 在CPU和主存之间增加的用于提高系统执行效率的存储器,即Cache。速度比内存快,容量介于寄存器与内存之间。 根据程序执行的局部性原理,将主存中经常被访问的信息存放在Cache中。CPU取数据时,先从Cache中寻找,若没有,再去内存寻找。 高速缓存可有多级,一级高速缓存紧靠内存,速度最快,容量最小;二级高速缓存容量稍大,速度稍低。 二 磁盘缓存 由于磁盘的I/O速度远低于对内存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,以提高访问速度。 磁盘缓存并不实际存在,依托于固定磁盘,提供对主存空间的扩充。 它的原理是:将一段时间内常用的磁盘数据放在内存的某个区域;或将CPU处理完后需要输出的数据暂存于内存的某个区域。 4.2 程序的装入和链接 从源程序到程序执行 地址空间的概念 重定位的概念 程序的装入 程序的链接 一 从源程序到程序执行 编译:编译程序 由编译程序(Compiler)将用户源代码编译成若干个目标模块。 链接:链接程序 由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成装入模块。 装入:装入程序 由装入程序(Loader)将装入模块复制到内存中。 二 地址空间 物理(绝对)地址——程序执行 每个内存单元的固定顺序地址(编号)。 由物理地址组成的空间集合称为物理空间。 逻辑(相对)地址——装入(汇编编译) 被链接装配(或汇编、编译)后的目标模块所限定的地址的集合; 相对于某个基准量(通常为:0)的编址。 由逻辑地址构成的空间集合称为逻辑空间。 三 重定位 重定位 概念:把程序装入内存时,修改程序中所有与地址有关的项。 逻辑地址变换为物理地址。 重定位的类型 静态重定位:程序执行前,一次性地变换地址并装入内存。 动态重定位:处理机每次访问内存时,由动态地址变换机构(硬件)自动执行地址变换。 四 程序的装入 就是把链接好的装入模块装入“内存”。 装入方式 绝对装入 可重定位装入(静态重定位) 动态运行时装入(动态重定位) 绝对装入方式 要求:事先清楚程序将驻留在内存的什么位置 该内存地址可由程序员给出,也可由编译程序申请。 概念:装入程序直接按照装入模块中的地址,将程序和数据装入内存。逻辑地址与内存地址相同,无须进行地址变换。 局限:仅可应用于单道程序环境中 静态重定位 在装入程序将装入模块装入内存时,进行逻辑地址到物理地址的转换 数据地址和指令地址都要做相应修改 地址变换在程序装入内存时一次完成,一旦程序装入内存,不允许它在内存空间移动。 动态重定位 装入程序将装入模块装入内存后,并不立即将相对地址转换为绝对地址,而是将地址转换推迟到程序执行时才进行。 为避免程序运行时,进行地址转换影响指令执行的速度,需要重定位寄存器的支持 五 程序的链接 链接: 把一个程序相关的一组目标模块和系统调用模块(库函数)链接形成一个整体——装入模块的过程。 具体工作: 对相对地址的修改;变换外部调用符号。 链接方式: 静态链接 装入时动态链接:便于修改和更新;便于共享。 运行时动态链接:最小化快速装入,节省内存。 静态链接方式 程序运行前,先将各目标模块及它们所需要的库函数,链接成一个完成的可装入模块,以后不再拆开。 要做的两项工作: 1 修改相对地址 2 将外部调用符号修改成相对地址 装入时动态链接 并不事先链接成一个可装入模块 源程序经过编译得到的目标模块,在装入内存时边装入边链接。 即在装入一个目标模块时,若发生外部调用事件,则由装入程序找出相应的外部目标模块,进行链接并装入内存。此时,也应修改目

文档评论(0)

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

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

1亿VIP精品文档

相关文档