3.1 内存管理的概念

image.png

3.1.1 内存概念、程序装入方式、链接方式

image.png
相对地址又称逻辑地址,绝对地址又称物理地址。
image.png
完成逻辑地址到物理地址的转换
image.png
image.png
静态重定位由“装入”程序负责将逻辑地址转为物理地址
image.png
image.png
image.png

3.1.2 内存管理着什么?

image.png

内存保护的两种方法

保护各个进程在自己的内存空间内运行,不会越界访问。
image.png
image.png

3.1.3内存空间的扩充——覆盖技术与交换技术

覆盖技术——解决“程序大小超过物理内存总和”的问题

image.png
image.png

交换技术

image.png
image.png
注意:PCB会常驻内存,不会被换出外存
image.png

3.1.4 内存的分配——连续分配管理方式

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
收回后,若存在空闲分区相邻,需要进行合并
image.png
image.png

3.1.5 动态分区分配的四种算法(首次适应~、最佳适应~、最坏适应~、临近适应~)

image.png

首次适应算法

image.png

最佳适应算法

image.png

最坏适应算法

image.png

邻近适应算法

image.png
image.png
image.png

3.1.6 分页存储(页号、页偏移量等)——非连续分配

image.png
image.png
image.png
注意:页、页面是针对进程而言的,将进程划分为多个页面
image.png
image.png
image.png
image.png

3.1.7 分页存储管理的基本地址变换结构

基本地址变换机构:用于实现逻辑地址到物理地址转换的一组__硬件机构
image.png
image.png
image.png
image.png

3.1.8 快表的地址变换结构

image.png
image.png
image.png

引入快表后,地址的变换过程

image.png
image.png

3.1.9 两级页表的原理和地址结构

image.png

3.1.10 基本分段存储管理(段表、地址变换、信息共享)

单级页表存在的问题

image.png

image.png

如何解决单级页表存在的问题

页目录表/外层页表/顶层页表
image.png

两级页表的原理、地址结构

image.png

如何实现地址变换

image.png
image.png
image.png

两级页表小结

image.png

3.1.11 基本分段存储管理(段表、页表、地址变换)

总览

image.png

分段

image.png
image.png

段表

image.png

地址变换

image.png
image.png

分段、分页管理的对比

image.png
image.png

分段小结

image.png

3.1.12 段页式管理方式——二者结合

总览

image.png

分页、分段优缺点分析

image.png

分段+分页=段页式管理

在分段的基础上进行分页
image.png

段页式管理的逻辑地址结构

image.png

段表、页表

image.png

段页式 地址转换

image.png

段页式管理 小结

image.png

3.2 虚拟内存管理

3.2.1 虚拟内存的基本概念(局部性原理、高速缓存、虚拟内存的实现)

总览

image.png

传统存储管理方式的特征、缺点

image.png

局部性原理

image.png

虚拟内存的定义和特征

image.png
image.png

如何实现虚拟内存技术

image.png

虚拟内存小结

image.png

3.2.2 请求分页管理方式(请求页表、缺页中断机构、地址变换机构)

总览

image.png

页表机制

image.png

缺页中断机构

image.png
image.png

地址变换机构

image.png
image.png
image.png
image.png

请求页面管理方式小结

image.png

3.2.3 页面置换算法(最佳~、先进先出~、最近最久未使用~、普通时钟~、改造型时钟~)

总览

image.png

最佳置换算法(Optimal permutation,OPT)

image.png
image.png
OPT是一种理想算法,是无法实现的

先进先出置换算法(First in Frist out,FIFO)

image.png
image.png
Belady异常
FIFO性能最差

最久最近未使用置换算法(Least Recently Used,LRU)

image.png
LRU实现需要专门的硬件支持,性能最好,但是实现困难,开销大

时钟置换算法(CLOCK) 最近未用算法

image.png

改进型的时钟置换算法

image.png
image.png

页面置换算法小结

image.png

3.2.4 页面分配置换策略(驻留集、页面分配、置换策略、抖动现象、工作集)

总览

image.png

驻留集

image.png

页面分配、置换策略

image.png

何时调入页面

image.png

从何处调入页面——对换区

image.png
image.png
image.png

抖动(颠簸)现象

image.png

工作集

image.png

页面分配策略小结

image.png