第四章存储器管理 第四章存储器管狸 4.1程序的装入和链接 4.2连续分配方式 4.3基本分页存储管理方式 4.4基本分段存储管狸方式 4.5虛拟存储景的基本概念 4.6请求分页存储管理方式 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) 0 10000 1000 LOAD1.2500 11000 LOAD 1.2500 2500 365 12500 365 5000 1500 作业地址空间 图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) 模块A 模块A CALL B JSR Return Return i 0模块B 模块B CALL C USRL+M Return L+M Return +Ⅳ 模块C 0模块C L+M+N-1 Return Return (a)目标模块图43程序链接示意图(b)装入模块
第四章 存 储 器 管 理 4.1.2 程序的链接 1. 静态链接方式(Static Linking) 图 4-3 程序链接示意图 模块 A CALLB; Return; 0 L-1 模块 B CALLC; 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.装入时动态链接L0ad拟 time Dynamic linking) 装入时动态链接方式有以下优点:蕌 (1)便于修改和更新。 (2)便于实现对目标模块的共享
第四章 存 储 器 管 理 2. 装入时动态链接(Loadtime Dynamic Linking) 装入时动态链接方式有以下优点: (1) 便于修改和更新。 (2) 便于实现对目标模块的共享
第四章存储器管理 3.运行时动态链接(Run- ime Dynamic Linking) 近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存,把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间
第四章 存 储 器 管 理 3. 运行时动态链接(Run-time Dynamic Linking) 近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存, 把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间
第四章存储器管理 42连续分配方式 421单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间,提供给用户使用
第四章 存 储 器 管 理 4.2 连续分配方式 4.2.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用