第四章存储器管理 第四章存储器管理 4.1程序的装入和链接 4.2连续分配方式 4.3基本分页存储管狸方式 4.4基本分段存储管理方式 4.5虚拟存储器的基本概念 46请求分页存情管理方式 4.7页面置换算法 4.8请求分段存储管理方式 BACK
第四章 存 储 器 管 理 第四章 存储器管理 4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式
第四章存储器管理 41程序的装入和链接 内存 库 链接 编译程序 程序 装入模块 装入 程序 生的目标 块 第一步 第二步 第三步 图4-1对用户程序的处理步骤
第四章 存 储 器 管 理 4.1 程序的装入和链接 图 4-1 对用户程序的处理步骤 库 链 接 程 序 装入模块 装 入 编译程序产 程 序 生的目标模 块 第一步 第二步 第三步 内 存 …
第四章存储器管理 411程序的装入 1.绝对装入方式( Absolute loading mode) 程序中所使用的绝对地址,既可在编译或汇编时给出, 也可由程序员直接赋予。但在由程序员直接给出绝对地址 时,不仅要求程序员熟悉内存的使用情况,而且一旦程序 或数据被修改后,可能要改变程序中的所有地址。因此, 通常是宁可在程序中采用符号地址,然后在编译或汇编时 再将这些符号地址转换为绝对地址
第四章 存 储 器 管 理 4.1.1 程序的装入 1. 绝对装入方式(Absolute Loading Mode) 程序中所使用的绝对地址,既可在编译或汇编时给出, 也可由程序员直接赋予。 但在由程序员直接给出绝对地址 时, 不仅要求程序员熟悉内存的使用情况,而且一旦程序 或数据被修改后,可能要改变程序中的所有地址。因此, 通常是宁可在程序中采用符号地址,然后在编译或汇编时, 再将这些符号地址转换为绝对地址
第四章存储器管理 2.可重定位装入方式( Relocation loading mode) 10000 1000 IOAD1,2500 11000 IOAD1,2500 2500 365 12500 365 5000 15000 作业地址空间 内存空间 图42作业装入内存时的情况
第四章 存 储 器 管 理 2. 可重定位装入方式(Relocation Loading Mode) 图 4-2 作业装入内存时的情况 LOAD 1,2500 365 LOAD 1,2500 365 10000 11000 12500 15000 5000 2500 1000 0 作 业 地 址 空 间 内 存 空 间
第四章存储器管理 3动态运行时装入方式( Denamle run- time loading) 动态运行时的装入程序,在把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而 是把这种地址转换推迟到程序真正要执行时才进行。因 此,装入内存后的所有地址都仍是相对地址
第四章 存 储 器 管 理 3. 动态运行时装入方式(Denamle Run-time Loading) 动态运行时的装入程序,在把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而 是把这种地址转换推迟到程序真正要执行时才进行。因 此, 装入内存后的所有地址都仍是相对地址
第四章存储器管理 412程序的链接 1.静态链接方式( Static Linking) 0模块A 模块A CaLL B: JSR“L Retum Retum 0模块B 模块B CALL C JSR“L+M Retum L+ M-1 Retum L 模块C 0模块C L+ M+ N1 Retum N Retum )日标模块图43程序链接示意图()装入模
第四章 存 储 器 管 理 4.1.2 程序的链接 1. 静态链接方式(Static Linking) 图 4-3 程序链接示意图 模 块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) 装入模块
第四章存储器管理 在将这几个目标模块装配成一个装入模块时,须解 决以下两个问题: (1)对相对地址进行修改 (2)变换外部调用符号
第四章 存 储 器 管 理 在将这几个目标模块装配成一个装入模块时,须解 决以下两个问题: (1) 对相对地址进行修改。 (2) 变换外部调用符号
第四章存储器管理 2.装入时动态链接( Load time Dynamic linking) 装入时动态链接方式有以下优点: (1)便于修改和更新 (2)便于实现对目标模块的共享
第四章 存 储 器 管 理 2. 装入时动态链接(Load time Dynamic Linking) 装入时动态链接方式有以下优点: (1) 便于修改和更新。 (2) 便于实现对目标模块的共享
第四章存储器管理 3.运行时动态链接( Run-time Dynamic Linking) 近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存,把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间
第四章 存 储 器 管 理 3. 运行时动态链接(Run-time Dynamic Linking) 近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存, 把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间
第四章存储器管理 42连续分配方式 421单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间,提供给用户使用
第四章 存 储 器 管 理 4.2 连续分配方式 4.2.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用