第四章存储器管理(操作系统经典和讲义 值得看存储器管理)ppt课件
合集下载
第4章1-存储器管理PPT课件

28.01.2021
.
13
⑵ 不必给程序分配连续的内存空间,可以较好地利 用较小的内存块,这便于存储器用紧缩来解决存储 器的碎片问题。 动态地址再定位的缺点:需要附加的硬件支持,而 且实现存储管理的软件算法比较复杂。
28.01.2021
.
14
4.3 连续分配存储方式
计算机对装入内存的程序有两种分配方式:连续分配 和离散分配。 连续分配:为一个用户程序分配一个连续的内存空间, 主要用于60-70年代。它又分为二种:单一连续分配方 式和分区式分配方式 离散分配:将一个用户程序离散的分配到内存空间中 去,它有分页和分段两种分配方式。
区没有被使用的空间最小;
☻仅仅保证所选择的分区能够放得下相关进程即可。
28.01.2021
.
20
☻长处:
实现简单; 系统开销小。
☻不足:
因已分配分区存在内零头(Internal Fragment)而
使存储利用率不高;
因分区尺寸固定而使系统无法运行大程序; 因分区数目固定而使活动进程的数目受限。
28.01.2021
28.01.2021
.
5
逻辑地址(相对地址):相对用户程序模块,以0
地址为起始地址的编址方式。
物理地址(绝对地址):相对于内存,每一单元有
唯一地址的编址方式。
地址重定位(Relocation):把相对地址转换成内存
中的绝对地址的过程,也叫地址映射(map)。
28.01.2021
.
6
4.2.1 程序的装入
28.01.2021
.
12
当CPU取一条访问内存的指令时,地址变换硬件逻辑 自动将指令中的相对地址与重定位寄存器中的值相加, 再根据和值作为内存的绝对地址去访问该单元的数据。
操作系统课件之第四章存储器管理

操作系统课件之第四章存储 器管理
• 存储器管理概述 • 存储器组织结构 • 内存分配与回收 • 虚拟内存管理 • 存储器管理性能优化
01
存储器管理概述
存储器管理的功能
内存分配
为每个进程分配所需的 内存空间,包括代码、
数据和堆栈。
内存回收
当进程完成或释放其内 存时,操作系统负责回
收这些内存。
内存保护
动态分配策略
根据进程的实际需要动态 地分配物理内存。
分段式分配策略
将进程的逻辑地址空间划 分为多个段,每个段对应 一个物理内存区域。
05
存储器管理性能优化
内存访问冲突的解决
内存访问冲突是指多个进程同时访问同一内存地址时产生 的冲突,可能导致数据错误或程序崩溃。
解决内存访问冲突的方法包括使用锁机制、信号量机制、 避免死锁等,以实现进程间的互斥访问和同步控制。
确保每个进程只能访问 其分配的内存空间,防
止非法访问。
内存扩充
通过虚拟内存技术,将物理 内存与外部存储器结合,提
供更大的可用内存空间。
存储器管理的分类
固定分区存储器管理
将内存划分为固定大小的分区 ,每个进程分配一个分区。
可变分区存储器管理
根据进程大小动态分配内存分 区过页表进 行映射。
引用计数
通过跟踪每个内存块的引用计数来回 收内存,当引用计数为零时,该内存 块可以被回收。
分代收集
将内存中的对象按照存活时间和使用 频率分为不同的代,根据不同代的特 性采用不同的回收策略。
内存优化技术
内存压缩
通过压缩内存中的数据来减 少内存占用和提高内存利用 率。
内存共享
通过共享内存中的数据来减 少内存占用和提高数据利用 率。
• 存储器管理概述 • 存储器组织结构 • 内存分配与回收 • 虚拟内存管理 • 存储器管理性能优化
01
存储器管理概述
存储器管理的功能
内存分配
为每个进程分配所需的 内存空间,包括代码、
数据和堆栈。
内存回收
当进程完成或释放其内 存时,操作系统负责回
收这些内存。
内存保护
动态分配策略
根据进程的实际需要动态 地分配物理内存。
分段式分配策略
将进程的逻辑地址空间划 分为多个段,每个段对应 一个物理内存区域。
05
存储器管理性能优化
内存访问冲突的解决
内存访问冲突是指多个进程同时访问同一内存地址时产生 的冲突,可能导致数据错误或程序崩溃。
解决内存访问冲突的方法包括使用锁机制、信号量机制、 避免死锁等,以实现进程间的互斥访问和同步控制。
确保每个进程只能访问 其分配的内存空间,防
止非法访问。
内存扩充
通过虚拟内存技术,将物理 内存与外部存储器结合,提
供更大的可用内存空间。
存储器管理的分类
固定分区存储器管理
将内存划分为固定大小的分区 ,每个进程分配一个分区。
可变分区存储器管理
根据进程大小动态分配内存分 区过页表进 行映射。
引用计数
通过跟踪每个内存块的引用计数来回 收内存,当引用计数为零时,该内存 块可以被回收。
分代收集
将内存中的对象按照存活时间和使用 频率分为不同的代,根据不同代的特 性采用不同的回收策略。
内存优化技术
内存压缩
通过压缩内存中的数据来减 少内存占用和提高内存利用 率。
内存共享
通过共享内存中的数据来减 少内存占用和提高数据利用 率。
第四章存储器管理9697088页PPT

• 将分区按大小排序,并将其地址、分配标识作 记录
• 例:dos的MCB(memory control block)
三、特点:
• 简单,分区大小固定,造成存储空间的浪费
18.11.2019
存储器管理
13
分区 大小 起址 状态 号 (KB) (KB)
1 12
20
已分配
2 32
32
已分配
3 64
64
已分配
内存
库
编译程 序产生 的目标
模块
链接 程序
装入 模块
装入 程序
18.11.2019
存储器管理
4
4.2.1 程序的装入
1、绝对装入: 编译后,装入前已产生了绝对地址(内存地址),装入 时不再作地址重定位。 • 绝对地址的产生:(1)由编译器完成,(2)由程序 员编程完成。 对(1)而言,编程用符号地址。 • 优点:装入过程简单,实现容易。 • 缺点:过于依赖于硬件结构,不适于多道程序系统。
2500
365
12500
365
+
5000 作业J
18.11.2019
15000
处理机一侧 存储器一侧 存储器管理
主存
27
图4.10动态重定位分区分配算法
请求分配u.size 检索空闲分区链(表)
无法分配, 否 返回
空闲分区总和 否 >=u.size?
是
紧凑形成连 续空闲区
找到大于u.size的可用 分区否?
存储器管理
22
从头开始查表
检索完否? Y
返回
图
N
4
-
m.size>u.size? N 继续检索下一个表项
《存储器管理》课件

。
个人电脑的存储管理还需要注意 防止数据丢失和保护个人隐私等
问题。
数据中心的存储管理
数据中心需要存储大量的数据,如网站内容、数据库 、邮件等,因此需要建立高效、可靠、可扩展的存储
系统。
数据中心的存储管理通常采用高性能的硬件设备和软 件技术,如分布式存储系统、云存储等,以提高存储
效率和可用性。
数据中心的存储管理还需要考虑数据备份、容灾和安 全等方面的问题,以确保数据的安全性和完整性。
内存寻址
通过内存寻址方式,计算机能够定位到主存储器中的 特定地址,进而读取或写入数据。
数据组织
主存储器中的数据通常以一定方式进行组织,如按字 节、字或块为单位。
主存储器的管理策略
1 2
分区管理
将主存储器划分为不同的区域,以便于管理和维 护。
内存分配
根据程序运行的需求,为主存中的程序分配内存 空间。
空间管理
为了充分利用磁盘空间,文件系统通常会采用一些空间管理技术,例如块分配、碎片整理和垃圾回收等 。这些技术能够有效地管理磁盘空间,提高磁盘利用率。
05
存储器管理的技术发展
分布式存储系统
01
分布式存储系统是一种将数据 存储在多个物理节点上的存储 方式,通过节点之间的网络连 接实现数据的共享和访问。
存储器分类
按用途
主存储器(内存)、辅助存储器(外存,如硬盘、光盘等)、缓冲存储器(如 CPU中的缓存)
按存储介质
半导体存储器(RAM、ROM、Flash等)、磁表面存储器(磁盘、磁带等)、 光学存储器(光盘等)
存储器管理的重要性
提高存储器的利用率
通过合理的存储器管理,可以避免存 储空间的浪费,提高存储器的利用率 。
个人电脑的存储管理还需要注意 防止数据丢失和保护个人隐私等
问题。
数据中心的存储管理
数据中心需要存储大量的数据,如网站内容、数据库 、邮件等,因此需要建立高效、可靠、可扩展的存储
系统。
数据中心的存储管理通常采用高性能的硬件设备和软 件技术,如分布式存储系统、云存储等,以提高存储
效率和可用性。
数据中心的存储管理还需要考虑数据备份、容灾和安 全等方面的问题,以确保数据的安全性和完整性。
内存寻址
通过内存寻址方式,计算机能够定位到主存储器中的 特定地址,进而读取或写入数据。
数据组织
主存储器中的数据通常以一定方式进行组织,如按字 节、字或块为单位。
主存储器的管理策略
1 2
分区管理
将主存储器划分为不同的区域,以便于管理和维 护。
内存分配
根据程序运行的需求,为主存中的程序分配内存 空间。
空间管理
为了充分利用磁盘空间,文件系统通常会采用一些空间管理技术,例如块分配、碎片整理和垃圾回收等 。这些技术能够有效地管理磁盘空间,提高磁盘利用率。
05
存储器管理的技术发展
分布式存储系统
01
分布式存储系统是一种将数据 存储在多个物理节点上的存储 方式,通过节点之间的网络连 接实现数据的共享和访问。
存储器分类
按用途
主存储器(内存)、辅助存储器(外存,如硬盘、光盘等)、缓冲存储器(如 CPU中的缓存)
按存储介质
半导体存储器(RAM、ROM、Flash等)、磁表面存储器(磁盘、磁带等)、 光学存储器(光盘等)
存储器管理的重要性
提高存储器的利用率
通过合理的存储器管理,可以避免存 储空间的浪费,提高存储器的利用率 。
计算机操作系统课件第4章 存储器管理

最佳适应算法的特点因为分配分区要查找整个链表所以比首次适应算法效率低因为它可能把主存划分得更小成为无用的碎片所以它比首次适应要浪费更多的存储空间分区分配操作分配内存回收内存分配内存操作利用某种算法从空闲分区中找到所需大小的分区若找到的空闲分区和请求的分区的差值大于事先规定的不再切割的剩余分区的大小则将空闲分区一分为二一部分分配给进程另一部分仍作为空闲区留在表中将分配区的首址返回给调用者回收区回收区回收区分区管理的优点实现了多道程序共享主存实现分区管理的系统设计相对简单不需要更多的系统软硬件开销实现存储保护的手段也比较简单分区管理的缺点主存利用不够充分
存储器管理
内容提要
存储器管理的相关概念 连续分配方式 分页式存储管理方式 分段式存储管理方式 虚拟存储器 请求分页式存储管理方式 页面置换算法 请求分段式存储管理方式
存储器管理
存储器管理的对象包括内存和外存,主 要讨论的是内存 计算机内存被划分成两部分:系统区和 用户区。存储器的管理主要是针对用户 区的分配和管理 存储器管理的目的:一是方便用户使用, 二是提高存储器的利用率
页面和物理块
页面:进程的逻辑地址空间分成若干个 大小相等的片,称为页面或页,并为各 页加以编号,从0开始 物理块:内存空间被分成与页面相同大 小的若干个存储块,称为物理块或内存 块, 也同样为它们加以编号,如0#块、 1#块等等
最佳适应算法
要扫描所有的空闲分区,以获得能 满足进程需求的且为最小的空闲区。如 果该空闲分区大于作业的大小,则将剩 余空闲区仍留在空闲区链表中。可从小 到大对空闲区排序,方便查找。
最佳适应算法的特点
因为分配分区要查找整个链表,所以 比首次适应算法效率低 因为它可能把主存划分得更小,成为 无用的碎片,所以它比首次适应要浪 费更多的存储空间
存储器管理
内容提要
存储器管理的相关概念 连续分配方式 分页式存储管理方式 分段式存储管理方式 虚拟存储器 请求分页式存储管理方式 页面置换算法 请求分段式存储管理方式
存储器管理
存储器管理的对象包括内存和外存,主 要讨论的是内存 计算机内存被划分成两部分:系统区和 用户区。存储器的管理主要是针对用户 区的分配和管理 存储器管理的目的:一是方便用户使用, 二是提高存储器的利用率
页面和物理块
页面:进程的逻辑地址空间分成若干个 大小相等的片,称为页面或页,并为各 页加以编号,从0开始 物理块:内存空间被分成与页面相同大 小的若干个存储块,称为物理块或内存 块, 也同样为它们加以编号,如0#块、 1#块等等
最佳适应算法
要扫描所有的空闲分区,以获得能 满足进程需求的且为最小的空闲区。如 果该空闲分区大于作业的大小,则将剩 余空闲区仍留在空闲区链表中。可从小 到大对空闲区排序,方便查找。
最佳适应算法的特点
因为分配分区要查找整个链表,所以 比首次适应算法效率低 因为它可能把主存划分得更小,成为 无用的碎片,所以它比首次适应要浪 费更多的存储空间
第四章存储器管理2019-10-28 149页PPT文档

查找.
A 18, B 10
17
20
9
323
35 19019 136
22366
310
8/17/2019
辽东学院信息技术学院
21
最佳适应法
• 要求按空闲区大小从小到大的次 序组成空闲区表(链)。
• 每次把能满足作业要求,并且是 最小的空闲分区分配给作业
15
136
91
8/17/2019
20
30
42
226
(3)
作业 30K
回 收 内 存 的 四 种 情 (4) 况
作业
作业A
20K
30
100
8/17/2019
54050
首址450
大小50K
回
收
作
720
业
A 辽东学院信息技术学院
30K 作业A 作业
20K 作业
大小50K
380
100
20
500
作业 30K
作业A 20K 作业
13000 100
180
大小50K
辽东学院信息技术学院
11
4.3.1 单一连续分配
•最简单的一种存储分配管理方法 •只能用于单用户、单任务的操作系统 中 •把内存分为两部分
•系统区:提供给OS使用,内存的低 址部分 8/17/2019 •用户区:提供给用户辽东使学院用信。息技术学院
内存 系统区 0 (OS)
100k
进用程户区AB
12
1. 分区分配中的数据结构
(1) 空闲分区表。 分区号 大小(K) 始址(K)
2
42
35
4
20
91
6
计算机操作系统-存储器管理 ppt课件

只适合于单道程序环境
ppt课件
10
4.1 程序的装入和链接
2. 可重定位装入方式 在多道程序环境下,目标模块的起始地址通常从 0开始,程序中的其他地址都是相对于起始地址 计算的。因此应采用可重定位装入方式,根据内 存的当前情况,将装入模块装入到内存的适当位 置。
注意:在采用可重定位装入方式将装入模块装入 内存后,会使装入模块中的所有逻辑地址与实际 装入内存的物理地址不同。
系统区(OS)
用户区 内存
ppt课件
21
4.2 连续分配方式
连续分配方式,是指为一个用户程序分配一个连 续的内存空间。
单一连续分配
固定分区分配
动态分区分配
可重定位分区分配
ppt课件
22
4.2.2 固定分区分配
1. 原理 将内存用户空间划分为若干个固定大小的区域,在每个分区中 只装入一道作业,便可以有多道作业并发执行。当有一空闲分 区时,便可以再从外存的后备作业队列中,选择一个适当大小 的作业装入该分区,当该作业结束时,可再从后备作业队列中 找出另一作业调入该分区。
ppt课件
13
4.1 程序的装入和链接
4.1.2 程序的链接
程序经过编译后得到一组目标模块,再利用链接程序 将目标模块链接,形成装入模块。 根据链接时间的不同,把链接分成三种: 1、静态链接:在程序运行前,将目标模块及所需的库 函数链接成一个完整的装配模块,以后不再拆开。 2、装入时动态链接:指将用户源程序编译后所得的一 组目标模块,在装入内存时,采用边装入边链接的链 接方式。 3、运行时动态链接:指对某些目标模块的链接,是在
分区分配中的数据结构 分区分配算法 分区分配及回收操作
ppt课件
26
4.2.3 动态分区分配
ppt课件
10
4.1 程序的装入和链接
2. 可重定位装入方式 在多道程序环境下,目标模块的起始地址通常从 0开始,程序中的其他地址都是相对于起始地址 计算的。因此应采用可重定位装入方式,根据内 存的当前情况,将装入模块装入到内存的适当位 置。
注意:在采用可重定位装入方式将装入模块装入 内存后,会使装入模块中的所有逻辑地址与实际 装入内存的物理地址不同。
系统区(OS)
用户区 内存
ppt课件
21
4.2 连续分配方式
连续分配方式,是指为一个用户程序分配一个连 续的内存空间。
单一连续分配
固定分区分配
动态分区分配
可重定位分区分配
ppt课件
22
4.2.2 固定分区分配
1. 原理 将内存用户空间划分为若干个固定大小的区域,在每个分区中 只装入一道作业,便可以有多道作业并发执行。当有一空闲分 区时,便可以再从外存的后备作业队列中,选择一个适当大小 的作业装入该分区,当该作业结束时,可再从后备作业队列中 找出另一作业调入该分区。
ppt课件
13
4.1 程序的装入和链接
4.1.2 程序的链接
程序经过编译后得到一组目标模块,再利用链接程序 将目标模块链接,形成装入模块。 根据链接时间的不同,把链接分成三种: 1、静态链接:在程序运行前,将目标模块及所需的库 函数链接成一个完整的装配模块,以后不再拆开。 2、装入时动态链接:指将用户源程序编译后所得的一 组目标模块,在装入内存时,采用边装入边链接的链 接方式。 3、运行时动态链接:指对某些目标模块的链接,是在
分区分配中的数据结构 分区分配算法 分区分配及回收操作
ppt课件
26
4.2.3 动态分区分配
操作系统原理四存储器管理PPT课件

4.2 程序的装入和链接
程序处理步骤:
过程或函数可能分别 对应一个模块!
编译---编译程序,负责检查语法错,涉及名空间。输入:源程序; 输出:多
个目标模块;
链接---链接程序,负责将多个模块相关联,涉及逻辑地址空间。输入:多个
目标模块、库函数;输出:装入模块;
装入:装入程序,负责内存分配和地址映射,涉及内存空间。输入:装入模
把程序装入起始地址为1000的内存区
重定位寄存器
0
0 …
100
1000
1000
1100
MOV r1,[500]
逻辑地址VR
+ 物理地址MR
… …
MOV r1,[500]
… 500
1234
599
…
作业的地址空间
1500 1599
1234 … …
存储空间
动态地址映射的过程
程序装入内存后,它所占用的内存区的首地址由系统送入 基地址寄存器BR中。 在程序执行的过程中,若要访问内存,将访问的逻辑地址 送入VR中。 地址转换机构把VR和BR中的内容相加,并将结果送入MR中, 作为实际访问的地址。
第四章 存储器管理
4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式 4.8 页面置换算法 4.9 请求分段存储管理方式
4.1 存储器的层次结构
CPU寄 存 器 主存
动态地址映射(重定位)
动态地址重定位:在程序执行的过程中,每次将要访问的指令或数 据逻辑地址转换为内存地址。 动态映射方法:装入程序把程序和数据原样装入到已分配的存储区 中,然后把这个存储区的起始地址送入重定位寄存器中。在程序执 行时,再将相对地址转换成绝对地址。 硬件支持:在动态地址重定位机构中,有一个基地址寄存器BR和一 个程序地址寄存器VR,一个内存地址寄存器MR。 转换过程:MR=BR+VR
第四章存储器管理 136页PPT文档

储区域内操作,互不干扰。 (4) 提供虚拟存储技术 使用户程序的大小和结构不受主存容量
和结构的限制,即使在用户程序比实际主存 容量还要大的情况下,程序也能正确运行.
4.1.2存储管理的功能
4.1.2.1 地址映射 一、什么是地址映射 地址映射 将程序地址空间中使用的逻辑地
址变换成主存中的物理地址的过程 称为地址映射。有时也称为地址重 定位 。
L- 1
模块 A
JSR“ L” Retu rn;
0 模块 B
L 模块 B
CALL C;
JSR “ L+ M”
M- 1 Retu rn;
L+ M- 1 Retu rn;
0 模块 C
L+ M 模块 C
N- 1 Retu rn;
L+ M+ N- 1 Retu rn;
(a) 目标模块 图 4-3 程序链接示意图 (b) 装入模块
4.2 内存分配
1、首次适应算法
首次适应算法的表是按空闲区首址升
序的(即空闲区表是按空闲区首址从小到
大)方法组织的。
4.2 内存分配
4.2 内存分配
分配时从表首开始,以请求内存区的 大小逐个与空闲区进行比较,找到第 一个满足要求的空闲后,若空闲区大 小与请求区的大小相等,则将该空闲 区分配给请求者,并撤消该空闲区所 在表目;若大于请求区,就将该空闲 区的一部分分配给请求者,然后,修 改空闲区的大小和首址。
第四章 存储器管理
4.1程序的装入与链接
4.1.1基本概念
存储器分成两类:
内存储器(简称内存、主 外存储器(简称外存、辅
存、物理存储器)
助存储器)
处理机能直接访问的存储 处理机不能直接访问的存
和结构的限制,即使在用户程序比实际主存 容量还要大的情况下,程序也能正确运行.
4.1.2存储管理的功能
4.1.2.1 地址映射 一、什么是地址映射 地址映射 将程序地址空间中使用的逻辑地
址变换成主存中的物理地址的过程 称为地址映射。有时也称为地址重 定位 。
L- 1
模块 A
JSR“ L” Retu rn;
0 模块 B
L 模块 B
CALL C;
JSR “ L+ M”
M- 1 Retu rn;
L+ M- 1 Retu rn;
0 模块 C
L+ M 模块 C
N- 1 Retu rn;
L+ M+ N- 1 Retu rn;
(a) 目标模块 图 4-3 程序链接示意图 (b) 装入模块
4.2 内存分配
1、首次适应算法
首次适应算法的表是按空闲区首址升
序的(即空闲区表是按空闲区首址从小到
大)方法组织的。
4.2 内存分配
4.2 内存分配
分配时从表首开始,以请求内存区的 大小逐个与空闲区进行比较,找到第 一个满足要求的空闲后,若空闲区大 小与请求区的大小相等,则将该空闲 区分配给请求者,并撤消该空闲区所 在表目;若大于请求区,就将该空闲 区的一部分分配给请求者,然后,修 改空闲区的大小和首址。
第四章 存储器管理
4.1程序的装入与链接
4.1.1基本概念
存储器分成两类:
内存储器(简称内存、主 外存储器(简称外存、辅
存、物理存储器)
助存储器)
处理机能直接访问的存储 处理机不能直接访问的存
计算机操作系统 第三版 第四章_存储器管理 ppt课件

的区域
重定位:逻辑地址转换为物理地址的操作(过程)
PPT课件
7
4.2.1 程序的装入
1.绝对装入方式(Absolute Loading Mode) 2.可重定位装入方式(Relocation Loading Mode) 绝对装入方式只能将目标模块装入到内存中事先指定的 位置。在多道程序环境下,编译程序不可能预知所编译的目 标模块应放在内存的何处,因此,绝对装入方式只适用于单 道程序环境。在多道程序环境下,所得到的目标模块的起始 地址通常是从0开始的,程序中的其它地址也都是相对于起始 地址计算的。此时应采用可重定位装入方式,根据内存的当 前情况,将装入模块装入到内存的适当位置。
L+ M 模块C
N- 1 Retu rn;
L+ M+ N- 1 Retu rn;
(a) 目标模块
PPT课件
(b) 装入模块
11
4.3 连续分配方式
• 程序执行时,要占用一定内存,将内存分配给程 序主要有以下几种方式
– 连续分配方式
(4.3 )
– 基本分页存储管理方式
(4.4 )
– 基本分段存储管理方式
PPT课件
29
例题:存储管理算法题
• 假定主存中按地址顺序依次有五个 空闲区。空闲区大小依次为如右图: 32k,10k,15k,228k,100k。现有五 个作业J1,J2,J3,J4,J5。他们各需 要主存1k,10k,128k,28k,115k。
• 判断用最先适应分配算法,最坏适 应分配算法,最佳分配适应算法能 否将这五个作业顺序装入?
PPT课件
28
快速适应算法
• 先将空闲分区按容量大小分类(如2KB、4KB、8KB),对于每类具有 相同容量的空闲分区单独设立空闲分区链表。
计算机操作系统第4章存储器管理PPT课件

➢ 不支持多道程序
➢ 内存利用率不高
➢ 受内存容量限制
23
4.2.2 连续分区存储管理
➢ 将内存划分成若干个连续区域,称为分区 ➢ 每个分区只能存储一个程序,而且程序也只
能在它所驻留的分区中运行(连续性)
➢ 是实现多道程序的最简单的存储管理方案 ➢ 根据划定的分区是否可变,分为固定分区和
可变分区管理
编译/链接
地址映射
data1 3456
200
3456
1200
3456
15
三种装入方式
➢ 绝对装入
✓ 编译时给出绝对地址
✓ 相对地址与绝对地址相同,无须地址转换
✓ 适用于单道程序环境
➢ 静态重定位装入
✓ 相对地址与绝对地址不同
✓ 装入时一次性给出绝对地址
➢ 动态重定位装入
✓ 相对地址与绝对地址不同
✓ 地址的转换推迟到指令运行时才进行
24
1. 固定分区 ➢ 基本思想
✓ 由OS在初启时,将内存空间划分为若干连 续区域,一个区域称为一个分区
✓ 每个分区的大小固定不变,每个分区装一 个且只能装一个进程
✓ 每个分区大小可以相同也可以不同
25
➢ 数据结构 ✓ 分区说明表:分区号、起始地址、大小、状态 ✓ 分区请求表:进程号、内存大小
分区号 始址(K) 大小(K) 状态
要位置
➢ 任何一种存储装置,都无法同时从速度与
容量两方面,满足用户的需求
➢ 实际上它们组成了一个速度由快到慢,容
量由小到大的存储装置层次结构
5
存储器层次
存取时间减少
高速缓存
存取速度增加 存取成本增加
内存
存储容量减少
操作系统原理第四章存储器管理PPT课件

第四章 存储器管理
➢ 存储管理的机制 ➢ 分区管理 ➢ 分页管理 ➢ 分段管理 ➢ 虚拟存储器的概念 ➢ 请求页式管理 ➢ 页面置换算法 ➢ 请求段式管理
1
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
15:26 15:26
CUIT
15:26 15:26
15:26 15:26
4.2 程序的装入和链接
12
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.2 程序的装入和链接
➢ 程序的链接
➢ 静态链接:将各模块及库函数链接成一个装配 模块,以后不再拆开。
4.1 存储管理概述
➢ 提高内存利用率 ➢ “扩充”内存容量 ➢ 信息保护
3
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
➢ 内外存数据传输的控制
➢ 用户程序控制
➢ 操作系统控制
➢ 交换(Swapping) :由OS把那在内 存中处于等待状态的进程换出内存,就 绪进程换入内存。
➢ 请求调入(On demand)和预调入 (On prefetch)
4
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
➢ 内存管理的内容
➢ 分配结构:
➢ 放置策略:
➢ 存储管理的机制 ➢ 分区管理 ➢ 分页管理 ➢ 分段管理 ➢ 虚拟存储器的概念 ➢ 请求页式管理 ➢ 页面置换算法 ➢ 请求段式管理
1
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
15:26 15:26
CUIT
15:26 15:26
15:26 15:26
4.2 程序的装入和链接
12
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.2 程序的装入和链接
➢ 程序的链接
➢ 静态链接:将各模块及库函数链接成一个装配 模块,以后不再拆开。
4.1 存储管理概述
➢ 提高内存利用率 ➢ “扩充”内存容量 ➢ 信息保护
3
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
➢ 内外存数据传输的控制
➢ 用户程序控制
➢ 操作系统控制
➢ 交换(Swapping) :由OS把那在内 存中处于等待状态的进程换出内存,就 绪进程换入内存。
➢ 请求调入(On demand)和预调入 (On prefetch)
4
CUIT
2007-8-15 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26 15:26
4.1 存储管理概述
➢ 内存管理的内容
➢ 分配结构:
➢ 放置策略:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内存:DRAM, SDRAM等;
外存:软盘、硬盘、光盘、磁带等;
.
5
存储器的分类
存储器分为主存储器(主存)和辅助存储器(辅存)。
主存:处理器可直接存取指令和数据的存储器;
主存空间一般可以分成两部分
A、系统区——用以存放OS常驻主存部分, B、用户区——主存的管理就是对用户区进行管理。
不知道以后操作系统将把程序装入何处,只好从0地址开始编址。 )
目标程序中指令地址都是相对0编址的,使用的是相 对地址、逻辑地址。可以执行并不就能执行,还必 须由操作系统调入内存才能执行。通常把编译程序 形成的从0开始编址的地址空间称为作业的地址空间。
(每个可执行程序都有一个自己的地址空间。)
2020/4/28
2020/4/28
.
16
1. 地址映射
地址映射:将用户程序中的逻辑地址转换为运行时
由机器直接寻址的物理地址。(逻辑地址
物理地址)
– 当程序装入内存时, 操作系统要为该程序分配一个合 适的内存空间,由于程序的逻辑地址与分配到内存 物理地址不一致, 而CPU执行指令时,是按物理地址 进行的,所以要进行地址转换。
2020/4/28
.
9
(b) 程序只能在主存中运行
字节 字 双字 块段体
2020/4/28
(c) 物理地址:(绝对地址,实地址)存储
控制部件能够识别的主存单元编号(或字
节地址),也就是主单元的实际地址(需
要区分存贮体中不同的存贮单元,统一编号, 这些编号称为地址)
.
10
存储空间(2)
存储空间:主存中一系列存储信息的物理单 元的集合。这些单元的编号,称为物理地址 或绝对地址、内存地址。
经过汇编或编译后形成目标代码,目标代码通常采 用相对地址的形式。
A、 其首地址为0,其余指令中的地址都相对 于首地址来编址。
B、 不能用逻辑地址在内存中读取信息。
地址空间 ––– 一个目标程序所限定的地址集合。 实例说明:
逻辑地址控制——指程序中相对地址的全体。 202物0/4/理28 地址空间 —— 相对于. 实际的主存地址空间。 12
2020/4/28
.
18
2. 重定位:把程序中相对地址变换为绝对地址
举例:
0 LOAD 1, 6
100 LOAD 1, 6
2 ADD 1, 8 相对 102 ADD 1, 8
4 STORE 1, 10
104 STORE 1, 10 矛盾
6A
106 A
8B
程序装入 108 B
10
100 主存部分
地址单元
1、地址空间
用高级语言编程时,要定义变量、函数,程序中有 函数调用,有转向等,都是以它们的名字进行的, 程序员在一个“名字空间”驾御自己的程序。通常 把程序员用的地址空间为名空间。
源程序必须经过编译才能执行。程序将被安排成一 个从地址0开始的地址空间。这就成为可以执行的目 标程序,并存入一个以.exe结尾的文件中。(编译程序
存储空间的大小是由主存的实际容量决定的。 存储空间按字节编址,从0开始,扩展到系统 配置可用的最大数量,比如,1M、32M、 128M、256M等。
一个编译好的程序存在于它自己的地址空间 中,当要它在计算机上运行时,才把它装入 存储空间。
2020/4/28
.
11
(d)逻辑地址:(相对地址,虚地址)用户的程序
实例:OS/360-MFT采用固定分区存储管理
技术,OS/360-MTV是采用可变分区存储管理技 术,OS/2,WindowsNT, DOS/VSE是采用虚拟存 储管理技术。
主存储器管理技术可分为两大类:实存储器
202管0/4/2理8 和虚拟存储器管理. 。
3
(广义) 存储器的层次
寄存器 高速缓存 主存储器 磁盘缓存 固定磁盘 可移动存储介质
2020/4/28
.
4
存储层次结构
寄存器(register) 命令处理程序
快速缓存(cache) 内存(priDmOaSr核y心storage) 外存(secondary storage)
2020/4/28
快速缓存:
– Data Cache
– TLB(Translation Lookaside Buffer)
.
13
程序执行过程与地址空间的转换过程
2020/4/28
.
14
例: Address: mov Ax,1
名空间
…
编译 Obj 目标地址
地址空间
2020/4/28
EXE文件装入
.
存贮空间
15
因为多道程序系统中,主存将存放多道作业,而 程序员在编写程序时,不可能了解自己的程序将放在主 存中何处运行,不可能用绝对地址来编写程序。
不变换会出错
– 实质上:这个地址变换过程,是把作业地址空间中使用的逻辑地
址变换成主存空间中的物理地址的过程,这种变换就是地址映射
(重定位) 。
2020/4/28
.
17
从用户工作环境来看
运行一个用户程序的过程
在操作系统中, 把编好源程序 后上机调试的 工作分成四个 步骤,称为四 个作业步:
编辑 编译 连 接 运行
2020/4/28
.
6
§主存管理的基础
(1) 主存的物理组织和逻辑组织 (a) 主存分三级: 为能更多的存放并更快地处理用户信
息目前许多计算机把存储器分为三级。
2020/4/28
.
7
cpu可访
高速缓存 n+k ~ 几百k
主存
nM ~ 几百M
外存
n+M~nG(G=1kn)
2020/4/28
.
8
用户的程序在运行时应存放在主存中,以便处 理机访问。但是由于主存容量有限。所以把那些不 马上使用的程序、数据放在外部存储器(又称次级存 储)中。当用到时再把它们读入主存。图中的三级存 储器,从高速缓冲存储器(简称缓存)到外部存储器 (以后简称外存),其容量愈来愈大,而访问数据的 速度则愈来愈慢,价格也愈来愈便宜,如IBM的缓 存的最大传输速度为每双字120~225毫微秒,主存 的传输速度每字1微秒。)
2020/4/28
主讲:刘 拥 民
Lym37212004@
.
1
§主存管理的基础
§实存管理
§虚拟存贮管理
(Virtual storage)
今天虽然主存价格已相当便宜,但主存容量 仍然是计算机四大硬件资源中最关键而又最紧张 的“ 瓶颈”资源。因此对主存的管理和有效使 用仍然是今天操作系统十分重要的内容。许多操 作系统之间最明显的区别特征之一往往是所使用 的存储管理方法不同。