文档介绍:第4章存储器管理
本章学习目标
本章主要讲解了存储器管理的基本方式,剖析了Linux 操作系统对内存的管理模式。通过对本章学习,读者应该达到以下学习目标:
重点掌握本章的基本概念,分页式存储管理技术和分段式存储管理技术,虚拟存储器的概念。
理解段页式存储管理技术,虚存中的置换算法。
了解Linux操作系统的存储管理技术。
第4章存储器管理
1
教学内容
存储器管理概述
连续分配存储管理方式
分页存储管理方式
分段存储管理方式
虚拟存储器的基本概念
请求分页
请求分段存储管理
LINUX系统的内存管理方法
本章小结
2
存储器管理概述
存储器的层次
。
高速缓冲存储器
主存储器
辅助存储器
存储容量递增
存取速度递增
图4. 1 多级存储器体系示意图
第4章存储器管理
3
用户程序的处理过程
用户程序处理分以下几个阶段:
(1)编译。由编译程序将用户源代码编译成若干个目标模块。
(2)链接。有链接程序将编译后形成的目标代码以及它们所需的库函数,链接在一起,形成一个装入模块。
(3)装入。有装入程序将装入模块装入内存。
第4章存储器管理
4
编译程序产生的目标模块
程序
数据
库函数
链接程序
装入模块
装入程序
对用户程序的处理步骤
第4章存储器管理
5
程序只有装入到内存后才能运行。装入方式分绝对装入方式、可重定位装入方式和动态运行时装入方式。
(1)绝对装入方式
在编译时,如果知道程序将驻留在内存什么位置,那么编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,不须对程序和数据的地址进行修改,程序中所使用的绝对地址,即可以在编译或汇编中给出,也可以有程序员直接给予。一般不让程序员给予地址,通常情况是在程序中采用符号地址,然后在编译或汇编时,将这些符号地址再转化为绝对地址。
第4章存储器管理
6
(2)可重定位装入方式
又称静态重定位。是在程序执行之前,有操作系统的重定位装入程序完成。一般用于多道程序环境中,编译程序不能预知所编译的目标模块在内存什么地方。重定位程序根据装入程序的内存起始地址,直接修改所涉及到的逻辑地址,将内存的起始地址加上逻辑地址得到正确的内存地址。
第4章存储器管理
7
10000
12000
13500
360
Load 1,3500
15000
内存空间
0
2000
3500
360
Load 1,3500
5000
作业地址空间
作业装入内存时的情况
第4章存储器管理
8
(3)动态运行时的装入方式
又称动态重定位。是在程序执行期间进行的。一般说来,这种转换有专门的硬件机构来完成,通常采用一个重定位寄存器,每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的内存地址。.
第4章存储器管理
9
10000
12000
13500
360
Load 1,3500
15000
内存空间
物理地址
10000
3500
13500
+
采用动态重定位时内存空间及地址重定位示意图
第4章存储器管理
10