
第四章存储器管理第四章存储器管理存储管理的主要任务:存储管理的功能:用户方便、安全使用存储实现内存的分配和回收器地址变换(相对地址一绝对地址)提高存储器的利用率“扩充”内存容量从逻辑上扩充存储器存储保护数学与信息技术学院BACK
第四章 存 储 器 管 理 数学与信息技术学院 第四章 存储器管理 存储管理的主要任务: ◆用户方便、安全使用存储 器 ◆提高存储器的利用率 ◆从逻辑上扩充存储器 存储管理的功能: ◆实现内存的分配和回收 ◆地址变换(相对地址→绝 对地址) ◆“扩充”内存容量 ◆ 存储保护

第四章存储器管理4. 2程序的装入和链接(1)编译:由编译程序将用户源程序用户源程序编译成若于个目编译程序第一步标模块库目标程序块1目标程序块2(2)链接:由链接程序将第二步目标模块和相应的库函数链接程序链接成装入模块装入模块第三步装入程序(3)装入:由装入程序将装入模块装入内存数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 4.2 程序的装入和链接 (1)编译:由编译程序将 用户源程序编译成若干个目 标模块 目标程序块1 目标程序块2 库 第一步 链接程序 装入模块 第二步 装入程序 第三步 用户源程序 编译程序 . (2)链接:由链接程序将 目标模块和相应的库函数 链接成装入模块 (3)装入:由装入程序将装 入模块装入内存

第四章存储器管理4.2.1程序的装入1.绝对装入方式(AbsoluteLoadingMode)前提:用户事先知道程序将装入内存的位置程序中所使用的绝对地址:既可在编译或汇编时给出也可由程序员直接赋予。装入:直接把装入模块中的程序和数据装入到指定位置(不需进行地址转换)说明:只适用于单道程序环境,数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 4.2.1 程序的装入 1. 绝对装入方式(Absolute Loading Mode) ◆ 前提:用户事先知道程序将装入内存的位置。 ◆说明:只适用于单道程序环境。 ◆ 装入:直接把装入模块中的程序和数据装入到指定位置 (不需进行地址转换) ◆ 程序中所使用的绝对地址:既可在编译或汇编时给出, 也可由程序员直接赋予

第四章存储器管理2.可重定位装入方式(RelocationLoadingMode)问题:多道程序环境下,每个用户不能预先知道自已作业程序和数据被装到主存中什么位置解决方法:1认为都是存放在主存中“0”单元开始的一组连续地址空间(逻辑地址)。》逻辑地址(相对地址):用户编程使用的地址。内存管理为作业分配一个合适的主存空间,各个空间可能从xx单元开始的一个连续地址空间(物理地址)。>物理地址(绝对地址):程序在内存实际物理存贮单元的地址重定位概念:把逻辑地址转换成绝对地址,又称“地址转换”招数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 2. 可重定位装入方式(Relocation Loading Mode) ◆ 问题:多道程序环境下,每个用户不能预先知道自己作业程序和数 据被装到主存中什么位置 ◆内存管理为作业分配一个合适的主存空间,各个空间可能从xx单元 开始的一个连续地址空间(物理地址)。 ➢ 逻辑地址(相对地址):用户编程使用的地址。 ➢ 物理地址(绝对地址):程序在内存实际物理存贮单元的地址。 ◆重定位概念:把逻辑地址转换成绝对地址,又称“地址转换”。 ◆ 解决方法:认为都是存放在主存中“0”单元开始的一组连续地址 空间(逻辑地址)

第四章存储器管理2.可重定位装入方式(Relocation0100001000LOAD 1,250011000LOAD 1, 125002500365125003655000150002作业地址空间内存数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 2. 可重定位装入方式(Relocation Loading Mode) LOAD 1,2500 365 LOAD 1, 12500 365 10000 11000 12500 15000 5000 2500 1000 0 作业地址空间 内存

第四章存储器管理2.可重定位装入方式(RelocationLoadingMode可重定位装入方式(静态重定位):在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址优点:可用于多道程序环境。缺点:不允许程序在运行中在内存中移动位置。问题:实际情况是程序在内存中的位置改变。例如,在有对换功能的系统数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 2. 可重定位装入方式(Relocation Loading Mode) ◆ 可重定位装入方式(静态重定位):在装入一个作业时, 把作业中的指令地址和数据地址全部转换成绝对地址。 ◆缺点:不允许程序在运行中在内存中移动位置。 ◆优点:可用于多道程序环境。 ◆问题:实际情况是程序在内存中的位置改变。 例如,在有对换功能的系统

第四章存储器管理3.动态运行时装入方式(DenamleRun-timeLoading)概念:在指令执行过程中进行地址转换。过程:(1)装入程序直接把作业装入到所分配的区域中(2)运行时起始地址存入基址寄存器中。(3)硬件的地址转换机构动态地进行地址转换:绝对地址一逻辑地址+基址寄存器中的值数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 3. 动态运行时装入方式(Denamle Run-time Loading) ◆概念:在指令执行过程中进行地址转换。 ◆过程: (1) 装入程序直接把作业装入到所分配的区域中 (2)运行时起始地址存入基址寄存器中。 (3) 硬件的地址转换机构动态地进行地址转换: 绝对地址=逻辑地址+基址寄存器中的值

第四章存储器管理相对地址重定位寄存器01000025001000010010100-LOAD1,2500-LOAD1,25001211250012500365365500015000作业J主存处理机一侧存储器一侧数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 LOAD1,2500 365 0 100 2500 5000 2500 相对地址 10000 重定位寄存器 + LOAD1,2500 365 10000 10100 12500 15000 作 业J 处理机一侧 存储器一侧 主 存

第四章存储器管理3.动态运行时装入方式(DenamleRun-timeLoading)优点:程序在内存中可以移动缺点:需硬件配合完成。动态重定位与静态重定位的比较:(1)程序在内存中是否可移动:(2)是否需要硬件支持:(3)地址变换的时间不同。数学与信息技术学院
第四章 存 储 器 管 理 数学与信息技术学院 3. 动态运行时装入方式(Denamle Run-time Loading) ◆ 动态重定位与静态重定位的比较: (1)程序在内存中是否可移动; (2)是否需要硬件支持; (3)地址变换的时间不同。 ◆优点:程序在内存中可以移动 ◆缺点:需硬件配合完成

第四章存储器管理4.2.2 程序的链接即在程序运行之前,先将各目1.静态链接方式(StaticLinking):事先链接,以后不再拆开。标模块及它们所需的库函数链接成一个完整的装入模块00模块A模块ACALLB;JSR"L"L- 1Return;L-Return;L模块B0模块BJSR"L+M"CALL C;M- 1L+ M-Return;Return;L+ M模块C0模块C1L+ M+ N-Return;N- 1Return;数学与信息技术学院(a)目标模块(b)装入模块
第四章 存 储 器 管 理 数学与信息技术学院 4.2.2 程序的链接 1. 静态链接方式(Static Linking):事先链接,即在程序运行之前,先将各目 标模块及它们所需的库函数链接成一个完整的装入模块,以后不再拆开。 模 块A CALL B; Return; 0 L- 1 模 块B CALL C; Return; 0 M- 1 模 块C Return; 0 N- 1 0 模 块A JSR“L” L- 1 Return; 模 块B JSR“L+ M ” Return; L L+ M- 1 L+ M L+ M+ N- 1 模 块C Return; (a) 目标模块 (b) 装入模块