第四章 存储器管理
符号地址、逻辑地址、物理地址的概念
逻辑地址,也叫做相对地址,或虚拟地址
逻辑地址空间可以是一维的(如连续分配、分页系统)或二维的(如分段系统和段页式系统)
物理地址,也叫做绝对地址,实地址,或内存地址
物理地址空间始终是一维的
重定位(即地址映射)
将程序中使用的逻辑地址转换成处理机执行程序时所需的物理地址的过程。
静态重定位(装入时进行;内存中的模块与装入前的模块不同,其地址部分已修改过;程序不能移动位置)
动态重定位(执行时进行;内存中的模块与装入前的模块一致;程序能在内存中移动位置)
程序的装入方式
绝对装入方式
采用静态重定位的可重定位装入方式
采用动态重定位的动态运行时装入方式
内存分配方式
单一连续分区
固定分区
动态分区
分页存储管理
分段存储管理
段页式存储管理
请求调页
请求调段
请求段页式
碎片问题
内部碎片:(如固定分区,分页存储管理,段页式存储管理)
外部碎片:(动态分区、分段存储管理)
逻辑地址维数
一维(连续分配、分页存储管理方式)
二维(分段存储管理、段页式存储管理)
分段时,整个逻辑地址空间是二维的,但段内地址是连续的,即段内地址空间是一维的。段页式时,整个逻辑地址空间是二维的,但段内地址是连续的,即段内地址空间是一维的;页内地址也是连续的,因此也是一维的。
没有快表时访问一个数据需要访问内存的次数
1次(连续分配)
2次(一级分页存储管理、分段存储管理)
3次(二级分页存储管理、段页式存储管理)
动态分区分配
首次适应算法(空闲区按起始地址递增的次序拉链)
最佳适应算法(空闲区按分区大小递增的次序拉链)
回收时要进行分区的合并(具体有前后都没有空闲分区、只是前面有空闲区、只是后面有空闲区、前后都是空闲区这四种情况)
碎片问题可采用紧凑技术加以解决
采用紧凑技术后的动态分区分配方式也叫可重定位分区分配方式(因为它需要得到动态重定位技术的支持)
对换
所谓“对换”,是指把内存中暂时不能运行的进程或暂时不用的程序或数据,调出到外存上,以便腾出足够的内存空间,再把具备运行条件的进程或进程所需要的程序和数据,调入内存。
整体对换:以进程为单位的对换。(但进程的PCB常驻内存不应该被换出;进程的程序段如果正在被其他进程共享,也不应该被换出内存)
部分对换:以“页”或“段”为单位的对换
分页存储管理
离散分配方式
一维的逻辑地址空间
页号、页内偏移是硬件根据页大小分出来的
作业被分成若干大小相等的部分——页
页的大小固定,由系统决定,为2的幂
内存分成若干与页大小相等的部分——页框或内存块
利用页表进行地址转换
访问一个数据需2次访问内存,用快表(联想存储器)来改善访问速度
逻辑地址空间的大小和物理内存空间的大小
分段存储管理
离散分配方式
二维的逻辑地址空间
作业被编程人员分成若干个段
每个段的长度可以不同,每个段的长度由编程人员决定
内存分配方式与动态分区方式类似,但只需为每个段分配连续的空间,段与段之间不必连续
利用段表进行地址转换
访问一个数据需2次访问内存,用快表(联想存储器)来改善访问速度
段页式系统
离散分配方式
二维的逻辑地址空间
作业被编程人员分成若干个段
每个段再被系统分为若干个页
内存按页的大小分成若干个页框(物理块)
每个作业一张段表,作业的每个段需要一张页表
访问一个数据需3次访问内存(访问段表,再访问页表,最后访问数据或指令),用快表来改善访问速度
分段与分页的区别
(1)页是信息的物理单位,段是信息的逻辑单位;
(2)页的大小固定,段的大小可变;
(3)分页系统中的逻辑地址空间是一维的,分段系统中的是二维的。
虚拟存储器
虚拟存储器的理论基础:局部性原理
虚拟存储器的关键技术:请求调页/段技术、页/段置换技术
虚拟存储器的定义:虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储器容量:取决于逻辑地址的结构,还受内外存空间总量的限制。
虚拟存储器的特征:多次性、对换性、虚拟性、离散性
虚拟存储器的实现方式:
①请求调页、②请求调段、③请求段页式
虚拟存储器的硬件支持:
①页表、段表
②缺页/段中断机构
③地址变换机构
请求分页存储管理方式
页表项中需增加状态位、访问字段、修改位、外存地址等信息
页面置换算法及缺页率的计算:OPT、FIFO、LRU、CLOCK(NRU)等
FIFO存在Belady现象
抖动的概念
置换算法选择不当可引起抖动现象
访问数据的时间:快表、内存、缺页中断处理
数据访问时间的计算、物理地址的计算
越界中断、访问权限非法中断、缺页中断
内存共享
分段共享比分页共享更方便;
可重入的代码段能被多个进程共享;
系统中需设置一张共享段表。
内存保护
不能由纯软件的方法实现,而需硬件和软件的配合一起完成;
连续分配方式中:一对界限寄存器
离散分配方式中:
①越界检查:页号&页表长度
段号&段表长度,段内地址&段长
②存取控制检查
③环保护机构