第4章存储器管理PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4
Βιβλιοθήκη Baidu
18.08.2020
第四章 存 储 器 管 理
2. 可重定位装入方式(Relocation Loading Mode)
0
100 0 LOAD 1,2500
250 0 365
500 0 作业 地址 空间
100 00 11000 LOAD 1,2500
125 00
365
150 00
内存 空间
5
图 4-2 作业装入内存时的情况
第四章 存 储 器 管 理
4.2.3 动态分区分配
1. 分区分配中的数据结构
(1) 空闲分区表。 (2) 空闲分区链。
14








N
N个 字 节 可 用
N


2
2
0
0
图 4-5 空闲链结构
18.08.2020
第四章 存 储 器 管 理
2. 分区分配算法 (1) 首次适应算法FF。 (2) (2) 循环首次适应算法,该算法是由首次适应算法演变而成
10
18.08.2020
第四章 存 储 器 管 理
4.2 连续分配方式
4.2.1 单一连续分配
这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用。
的。 (3) (3) 最佳适应算法。
15
18.08.2020
第四章 存 储 器 管 理
从头 开始 查表
3. 分区分配操作
1) 分配内存
检索 完否 ? N
Y
返回

m .s iz e > u . s i ze ?
N
继续 检索 下一 个表 项
4 Y
-
6
Y

m .s iz e - u . s i ze ≤ s i z e ?
11
18.08.2020
第四章 存 储 器 管 理
4.2.2 固定分区分配
1. 划分分区的方法 (1) 分区大小相等, 即使所有的内存分区大小相等。 (2) (2) 分区大小不等。
12
18.08.2020
第四章 存 储 器 管 理
2. 内存分配
图 4-4 固定分区使用表
13
18.08.2020
18.08.2020
第四章 存 储 器 管 理
3. 动态运行时装入方式(Denamle Run-time Loading)
动态运行时的装入程序,在把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而 是把这种地址转换推迟到程序真正要执行时才进行。因 此, 装入内存后的所有地址都仍是相对地址。
操作系统 用 户 程 序1
10 KB 用 户 程 序3
30 KB 用 户 程 序6
14 KB 用 户 程 序9
26 KB
操作系统 用 户 程 序1 用 户 程 序3 用 户 程 序6 用 户 程 序9
80 KB
(a ) 紧 凑 前
(b ) 紧 凑 后
3
第 二步
第 三步
图 4-1 对用户程序的处理步骤
18.08.2020
第四章 存 储 器 管 理
4.1.1 程序的装入
1. 绝对装入方式(Absolute Loading Mode)
程序中所使用的绝对地址,既可在编译或汇编时给出, 也可由程序员直接赋予。 但在由程序员直接给出绝对地址 时, 不仅要求程序员熟悉内存的使用情况,而且一旦程序 或数据被修改后,可能要改变程序中的所有地址。因此, 通常是宁可在程序中采用符号地址,然后在编译或汇编时, 再将这些符号地址转换为绝对地址。
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking)
近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存, 把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间。
L+ M- 1 Retu rn;
0 模块 C
L+ M 模块 C
N- 1 Retu rn;
L+ M+ N- 1 Retu rn;
7 (a) 目标模块 图 4-3 程序链接示意图 (b) 装入模块
18.08.2020
第四章 存 储 器 管 理
在将这几个目标模块装配成一个装入模块时,须解 决以下两个问题:
(1) 对相对地址进行修改。 (2) 变换外部调用符号。
8
18.08.2020
第四章 存 储 器 管 理
2. 装入时动态链接(Load time Dynamic Linking)
装入时动态链接方式有以下优点: (1) 便于修改和更新。 (2) (2) 便于实现对目标模块的共享。
9
18.08.2020
6
18.08.2020
第四章 存 储 器 管 理
4.1.2 程序的链接
1. 静态链接方式(Static Linking)
0 模块 A
0
CALL B;
L- 1 Retu rn;
L- 1
模块 A
JSR“ L” Retu rn;
0 模块 B
L 模块 B
CALL C;
JSR “ L+ M”
M- 1 Retu rn;
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
18.08.2020
第四章 存 储 器 管 理
4.1 程序的装入和链接
内存

编 译程 序产 生 的目 标模 块
链接 程序
装 入模 块
装入 程序

第 一步
18.08.2020 1
第四章 存 储 器 管 理
第四章 存储器管理
4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式
第四章 存 储 器 管 理

N

从该 分区 中划 出

u.siz e 大 小 的 分 区
将该 分区 从链 中移 出


将该 分区 分配 给请 求者 修
改有 关数 据结 构
16
返回
18.08.2020
第四章 存 储 器 管 理
2) 回收内存
图 4-7 内存回收时的情况
17
18.08.2020
4.2.4
1.
18
第四章 存 储 器 管 理
相关文档
最新文档