第4章存储器管理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.寄存器
寄存器访问速度最快,完全能与CPU协调工作,但 价格却十分昂贵,因此容量不可能做得很大
寄存器用于加速存储器的访问速度,如用寄存器 存放操作数,或用作地址寄存器加快地址转换速 度等
精品课件
4.1.3 高速缓存和磁盘缓存
1.高速缓存
高速缓存是现代计算机结构中的一个重要 部件,其容量大于或远大于寄存器,而比 内存约小两到三个数量级左右。
计算机操作系统
第四章 存储器管理
精品课件
本章内容
4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 对换 4.5 分页存储管理方式 4.6 分段存储管理方式
精品课件
4.1 存储器的层次结构
4.1.1 多级存储器结构
精品课件
4.1.2 主存储器与寄存器
1.主存储器
精品课件
B的起始地址变为L,C的起始地址变为L+M
图 4-4 程序链接示意图 精品课件
1、静态链接方式(续)
(1)对相对地址进行修改
由编译程序产生的所有目标模块中,使用的都是相 对地址,其起始地址都为0,在链接成一个装入模块 时修改模块的相对地址。即把原B中的所有相对地址 都加上L,把原C中所有相对地址都加上L+M。
精品课件
1.高速缓存(续)
根据程序执行的局部性原理,将主存中一些经常 访问的信息存放在高速缓存中,减少访问主存储 器的次数,可大幅度提高程序执行速度。
进程的程序和数据是存放在主存储器中,每当使 用时,被临时复制到一个速度较快的高速缓存中。
当CPU访问一组特定信息时,首先检查它是否在高 速缓存中,如果已存在,可直接从中取出使用, 以避免访问主存,否则,再从主存中读出信息。
为了便于程序的修改,对编译的程序采用符号 地址,然后在编译或汇编时,再将这些符号地 址转换为绝对地址。
只适合单道程序环境。
精品课件
4.2.1 程序的装入
2.可重定位装入方式
目标模块的起始地址通常是从0开始的,程序中的 其它地址也都是相对于起始地址计算的。
由装入程序将装入模块装入内存后,装入模块中 程序所访问的所有逻辑地址与实际装入内存的物 理地址不同 ,必须进行变换。
精品课件
•采用动态重定位方法将程序装入内存,称 为动态运行时装入方式 。
精品课件
4.2.2程序的链接
★源程序经过编译后,可得到一组目标模块,再利 用链接程序将这组目标模块链接形成装入模块。 根据链接时间的不同,可把链接分成如下三种:
1、静态链接方式
在程序运行之前,先将各目标模块及它们所需的 库函数,链接成一个完整的装配模块(又称执行 模块),以后不再拆开。我们把这种事先进行链 接的方式称为静态链接方式。
精品课件
本章内容
4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 对换 4.5 分页存储管理方式 4.6 分段存储管理方式
精品课件
4.2 程序的装入和链接
如何将一个用户源程序变成一个可在内 存中执行的程序,通常要经过3步骤:
1. 编译 2. 链接 3. 装入
装入:由装入程序(Loader)将装入模块装入内存。
精品课件
4.2.1 程序的装入
在将一个装入模块装入内存时,可以有绝对装入 方式、可重定位装入方式、动态运行时装入方式。
1.绝对装入方式
如果知道程序将驻留在内存的什么位置,那么, 编译程序将产生绝对地址的目标代码。
精品课件
1.绝对装入方式
绝对装入程序按照装入模块中的地址,将程序 和数据装入内存。装入模块被装入内存后,由 于程序中的逻辑地址与实际内存地址完全相同, 故不需对程序和数据的地址进行修改。
精品课件
示例: 作业装入内存时的情况
精品课件
2.可重定位装入方式 (续)
把在装入时对目标程序中指令和数据的变换过程 称为重定位。因为地址变换是在装入时一次完成 的,以后不再改变,故称为静态重定位。
采用静态重定位方法将程序装入内存,称为可重源自文库 位装入方式。
精品课件
3.动态运行时装入方式
装入程序将目标模块装入内存后,并不立即把装 入模块中的相对地址转换为绝对地址,而是把这 种地址转换推迟到程序执行时进行,在硬件地址 变换机构的支持下,随着对每条指令或数据的访 问自动进行地址变换,故称为动态重定位。
主存也可以看做是辅存的高速缓存。
精品课件
2.磁盘缓存(续)
一个文件的数据可能出现在存储器层次的不同 级别中,例如,一个文件数据通常被存储在辅 存中(如硬盘),当其需要运行或被访问时,就 必须调入主存,也可以暂时存放在主存的磁盘 高速缓存中。
大容量的辅存常常使用磁盘,磁盘数据经常备 份到磁带或可移动磁盘组上,以防止硬盘故障 时丢失数据。
(2)变换外部调用符号
将每个模块中所用的外部调用符号也都变换为相对 地址。例如将call B 变换为JSR “L”
精品课件
2、装入时动态链接
是指将用户源程序编译后所得到的一组目标模 块,在装入内存时,采用边装入边链接的链接 方式。
装入一个目标模块时,若发生一个外部模块调 用事件,将引起装入程序去找出相应的外部目 标模块,并将它装入内存。
主存储器(简称内存或主存)是计算机系统中一个 主要部件,用于保存进程运行时的程序和数据, 也称可执行存储器
CPU的控制部件只能从主存储器中取得指令和数 据,数据能够从主存储器读取并将它们装入到寄 存器中,或者相反
主存储器的访问速度远低于CPU执行指令的速度, 引入寄存器和高速缓存。
精品课件
4.1.2 主存储器与寄存器
精品课件
2.磁盘缓存
由于目前磁盘的I/O 速度远低于对主存的访问速 度,因此将频繁使用的一部分磁盘数据和信息, 暂时存放在磁盘缓存中,可减少访问磁盘的次数。
磁盘缓存本身并不是一种实际存在的存储介质, 它依托于固定磁盘,提供对主存储器存储空间的 扩充,即利用主存中的存储空间,来暂存从磁盘 中读出(或写入)的信息。
精品课件
图4-2 对用户程序的处理步骤
编译:由编译程序(Compiler)将用户源代码编译成 若个目标模块
精品课件
图4-2 对用户程序的处理步骤
链接:由链接程序(Linker)将编译后形成的一组目 标模块,以及它们所需要的库函数链接在一起, 形成一个完整的装入模精块品课件
图4-2 对用户程序的处理步骤
相关文档
最新文档