第三章 内存管理
3.1 内存管理概念
3.1.1 内存的基础知识
-
内存
-
补充:几个常用的数量单位
-
指令的工作原理
从 #0 开始存放的:
不是从 #0 开始存放的:
-
装入的三种方式
1、绝对装入:
2、可重定位装入(静态重定位)
3、动态运行时装入(动态重定位)
-
从写程序到程序运行
-
链接的三种方式
1、静态链接:
2、装入时动态链接:
3、运行时动态链接:
知识回顾与重要考点:
![image-20220511212043525](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220511212043525.png)
考试频率较低,主要为后续内容做基础
3.1.2 内存管理的概念
-
操作系统对内存进行管理:
1、内存的空间分配与回收
2、内存空间的扩展
3、地址转换
4、内存保护
(1)在CPU中 设置一对上、下限寄存器
(2)采用 重定位寄存器(又称 基址寄存器)和 界址寄存器(又称 限长寄存器)进行越界检查
知识回顾与重要考点:
![image-20220511213257344](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220511213257344.png)
3.1.3 覆盖与交换(大纲已删)
-
覆盖技术
具体例子:
-
交换技术
![image-20220511215823434](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220511215823434.png)
3.1.4 连续分配管理方式
![image-20220512191543243](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512191543243.png)
单一连续分配
![image-20220512191744029](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512191744029.png)
固定分区分配
![image-20220512192200903](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512192200903.png)
怎么记录分区的空闲和分配情况?
![image-20220512192351587](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512192351587.png)
动态分区分配
![image-20220512192541221](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512192541221.png)
![image-20220512194059891](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512194059891.png)
第一个问题:
![image-20220512192723440](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512192723440.png)
第二个问题:
![image-20220512192855170](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512192855170.png)
第三个问题:
- 分配
![image-20220512193027205](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512193027205.png)
![image-20220512193137306](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512193137306.png)
- 回收
对于 进程2(4MB) 进行回收
![image-20220512193349027](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512193349027.png)
对于 进程3(18MB) 进行回收
![image-20220512193547613](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512193547613.png)
对于 进程4(4MB) 进行回收
![image-20220512193655212](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512193655212.png)
对于 进程2(14MB) 进行回收
![image-20220512194059891](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512194059891.png)
![image-20220512194255381](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512194255381.png)
3.1.5 动态分区分配算法
![image-20220512194437514](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512194437514.png)
首次适应算法(First Fit)
![image-20220512195328228](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512195328228.png)
例:
有一个进程5(15MB)需要分配
![image-20220512195422470](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512195422470.png)
又有一个进程6(8MB)
![image-20220512195540439](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512195540439.png)
最佳适应算法(Best Fit)
![image-20220512195643709](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512195643709.png)
例:
一个新进程(9MB)需要分配,按照算法分配给分区2,修改分区大小为1,再 根据分区大小进行排序
![image-20220512195816327](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512195816327.png)
缺点:每次都选最小的分区进行分配,会留下越来越多的、很小的、难以利用的内存块。因此这种方法会产生很多的外部碎片
最坏适应算法(Worst Fit)
![image-20220512200031907](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512200031907.png)
例:
假如有一个进程(3MB),分配第一个分区,第一个分区大小变为17;
还有一个进程(9MB),分配第一个分区,第一个分区大小变为8,需要重新排序:
![image-20220512200252025](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512200252025.png)
缺点:每次都选最大的分区进行分配,虽然可以让分配后留下的空闲区更大,更可用,但是这种方式会导致较大的连续空闲区被迅速用完。如果之后有“大进程”到达,就没有内存分区可用了。
邻近适应算法(Next Fit)
![image-20220512200515676](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512200515676.png)
例:
有一个进程(5MB),分配第二个分区,将分区2的大小由6改为1,不用进行重新排序;
还有一个进程(5MB),从第二个分区开始接着进行查找,分配第三个分区,分区3改为5
![image-20220512202317938](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512202317938.png)
知识回顾
![image-20220512202335786](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512202335786.png)
3.1.6 基本分页存储管理的概念
![image-20220512202555869](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512202555869.png)
- 什么叫分页存储
![image-20220512203932616](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512203932616.png)
![image-20220512203759146](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512203759146.png)
将进程划分的页面分配到页框中:
![image-20220512204227279](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512204227279.png)
- 重要的数据结构
![](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512204419781.png)
问题:
![image-20220512204725976](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512204725976.png)
1、问题一:每个页表项占多少字节?
⭕ 块号:
![image-20220512205716253](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512205716253.png)
⭕ 页号:
![image-20220512205906404](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512205906404.png)
因此:
![image-20220512205959273](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512205959273.png)
2、问题二:如何实现地址的转换?
连续存放时:
![image-20220512210122117](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512210122117.png)
分页后:
![image-20220512210252057](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512210252057.png)
(1) 子问题:如何确定一个逻辑地址对应的页号、页内偏移量?
![image-20220512211106904](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512211106904.png)
(2) 子问题:为何页面大小要取2的整数幂?
![image-20220512211439986](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512211439986.png)
![image-20220512211905636](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512211905636.png)
总结:
![image-20220512212027336](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512212027336.png)
- 逻辑地址结构
![image-20220512212214111](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512212214111.png)
知识回顾与重要考点:
![image-20220512212312270](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220512212312270.png)
3.1.7 基本地址变换机构
![image-20220513155148092](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513155148092.png)
![image-20220513155307794](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513155307794.png)
如果页号P>页面长度M,说明此时的页号P是非法的,需要抛出一个越界中断(内中断)
若合法,利用页号P和页表始址F进行计算,找到该页号对应的页表项(知道页号、页表始址、每个页表项长度,即可算出页号所对应的页表项所存放的位置)
由内存块号、页内偏移量,最终可得到物理地址
![image-20220513162358501](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513162358501.png)
即:
![image-20220513162557205](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513162557205.png)
例:
![image-20220513163022583](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513163022583.png)
对页表项大小的进一步探讨
![image-20220513163626691](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513163626691.png)
![image-20220513163920183](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513163920183.png)
知识回顾与重要考点
一维指:要让CPU根据逻辑地址找到物理地址,只需用告诉CPU一个信息,即逻辑地址的值,不需要告诉其他信息。
3.1.8 具有快表的地址变换机构
![image-20220513165828933](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513165828933.png)
- 什么是快表(TLB)
![image-20220513170141795](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513170141795.png)
能否把整个页表放在TLB中?
![image-20220513170317247](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513170317247.png)
![image-20220513170404720](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513170404720.png)
- 引入快表后,地址的变换过程
![image-20220513170448275](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513170448275.png)
![image-20220513170831979](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513170831979.png)
![image-20220513171122324](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513171122324.png)
例:
![image-20220513171311207](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513171311207.png)
- 局部性原理
![image-20220513171504562](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513171504562.png)
知识回顾与重要考点
![image-20220513171535963](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513171535963.png)
3.1.9 两级页表
![image-20220513184716968](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513184716968.png)
- 单级页表存在的问题
![image-20220513185829930](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513185829930.png)
![image-20220513185906654](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513185906654.png)
- 如何解决单级页表的问题(问题一)?
![image-20220513190123145](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513190123145.png)
两级页表的原理、地址结构:
![image-20220513190340914](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513190340914.png)
![image-20220513190513898](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513190513898.png)
如何实现地址变换
![image-20220513191154257](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513191154257.png)
- 如何解决单级页表的问题(问题二)?
![image-20220513191326664](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513191326664.png)
- 几个细节
![image-20220513191531547](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513191531547.png)
知识回顾与重要考点
![image-20220513191727448](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513191727448.png)
3.1.10 基本分段存储管理
![image-20220513191855749](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513191855749.png)
- 分段:
![image-20220513192039599](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513192039599.png)
![image-20220513192238798](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513192238798.png)
- 段表
![image-20220513192500196](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513192500196.png)
- 地址变换
![image-20220513192540296](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513192540296.png)
![image-20220513192726293](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513192726293.png)
![image-20220513193141118](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513193141118.png)
在分段管理中要对段内地址W(即段内偏移量)进行一个检查(即第④步)
- 分段、分页管理的对比
![image-20220513193532641](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513193532641.png)
![image-20220513193650405](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513193650405.png)
![image-20220513193844253](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513193844253.png)
知识回顾与重要考点
![image-20220513194026986](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220513194026986.png)
3.1.11段页式管理方式
![image-20220515195138050](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515195138050.png)
- 分页、分段的优缺点
![image-20220515195903821](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515195903821.png)
分段管理中产生的外部碎片也可以用“紧凑”来解决,只是需要付出较大的时间代价。
- 分段 + 分页 = 段页式管理
![image-20220515200040701](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515200040701.png)
-
段页式管理的逻辑地址结构
-
段表、页表
![image-20220515201122556](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515201122556.png)
![image-20220515201436754](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515201436754.png)
![image-20220515201555429](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515201555429.png)
3.2 虚拟内存管理
3.2.1 虚拟内存的基本概念
![image-20220515201737336](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515201737336.png)
- 传统存储管理方式的特征、缺点
![image-20220515201937541](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515201937541.png)
虚拟存储技术的提出是基于局部性原理的。
- 局部性原理
![image-20220515202250601](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515202250601.png)
- 虚拟内存的定义和特征
![image-20220515202603928](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515202603928.png)
- 如何实现虚拟内存技术
![image-20220515202829364](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515202829364.png)
![image-20220515202956542](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515202956542.png)
3.2.2 请求分页管理方式
![image-20220515203144114](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515203144114.png)
- 页表机制
![image-20220515203335314](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515203335314.png)
- 缺页中断机构
![image-20220515203723988](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515203723988.png)
如果内存中有空闲块:
![image-20220515203820302](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515203820302.png)
如果内存中没有空闲块:
若页面置换算法选择了2号页面淘汰
![image-20220515203959073](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515203959073.png)
![image-20220515204318089](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515204318089.png)
2号页面写回外存后,占有的c号块就可以空出来,让给0号页面使用,于是把0号页面调入内存的c号块,更改相应数据
![image-20220515204252507](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515204252507.png)
缺页中断:
![image-20220515204515255](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515204515255.png)
- 地址变换机构
![image-20220515204626291](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515204626291.png)
![image-20220515204841825](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515204841825.png)
![image-20220515205226430](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515205226430.png)
知识回顾与重要考点
![image-20220515205409367](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220515205409367.png)
3.2.3 页面置换算法
![image-20220519230508756](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519230508756.png)
最佳置换算法(OPT)
![image-20220519230740003](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519230740003.png)
例:
![image-20220519230852924](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519230852924.png)
![image-20220519231003358](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519231003358.png)
![image-20220519231057509](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519231057509.png)
最佳置换算没可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法是无法实现的。
先进先出置换算法(FIFO)
![image-20220519231310529](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519231310529.png)
例:
![image-20220519231401730](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519231401730.png)
题目改为分配了四个内存块:
![image-20220519231710711](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220519231710711.png)
最近最久未使用置换算法(LRU)
![image-20220520000302705](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000302705.png)
例:
![image-20220520000514259](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000514259.png)
![image-20220520000543347](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000543347.png)
![image-20220520000602616](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000602616.png)
时钟置换算法(CLOCK)
![image-20220520000658116](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000658116.png)
1、简单的CLOCK算法
![image-20220520000822733](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000822733.png)
例:
![image-20220520000906283](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000906283.png)
![image-20220520000918971](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000918971.png)
第一轮扫描后:
![image-20220520000958951](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520000958951.png)
第二轮扫描时,1号页面为0,所以会淘汰1号页面,变为:
![image-20220520001208617](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520001208617.png)
接下来依次访问3、4号页面,依次将3、4号页置为1:
![image-20220520001319946](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520001319946.png)
接着需要访问7号页面,由于7号页面不在内存中,需要淘汰一个页面,将7号页面放入内存中。从扫描到的位置依次开始扫描,找到第一个为0的页面,并且扫描过的页面置为0。
即3、4号页面由1变为0,找到第一个为0的页面——2号页面:
![image-20220520001617039](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520001617039.png)
将2号页面淘汰:
![image-20220520001644122](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520001644122.png)
2、改进型的时钟置换算法
![image-20220520002656829](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002656829.png)
例:
- 第一种情况
![image-20220520001939716](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520001939716.png)
第一轮扫描就找到了:
![image-20220520002022166](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002022166.png)
- 第二种情况:
![](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002053196.png)
第一轮扫描:不做修改,找不到(0,0)
第二轮扫描:
![image-20220520002156772](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002156772.png)
- 第三种情况
![image-20220520002230121](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002230121.png)
第一轮扫描:不做修改,找不到(0,0)
第二轮扫描:找不到(0,1),将扫描过的帧访问位设为0
![image-20220520002350658](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002350658.png)
第三轮扫描:
![image-20220520002417115](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002417115.png)
- 第四种情况
![image-20220520002504224](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002504224.png)
第一轮扫描:找不到(0,0),不做修改
第二轮扫描:找不到(0,1),将扫描过的帧访问位设为0
![image-20220520002527005](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002527005.png)
第三轮扫描:找不到(0,0),不做修改
第四轮扫描:
![image-20220520002607302](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002607302.png)
知识回顾与重要考点
![image-20220520002725374](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520002725374.png)
3.2.4 页面分配策略、抖动、工作集
![image-20220520154626768](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520154626768.png)
- 页面分配、置换策略
![image-20220520155455388](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520155455388.png)
![image-20220520160057021](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520160057021.png)
系统会锁定一些页面,这些页面中的内容不能置换出外存(如:重要的内核数据可以设为“锁定”)
- 何时调入页面
![image-20220520160333335](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520160333335.png)
- 从何处调入页面
1、
![image-20220520161453623](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161453623.png)
![image-20220520161533502](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161533502.png)
2、
![image-20220520161555563](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161555563.png)
![image-20220520161652359](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161652359.png)
3、
![image-20220520161712933](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161712933.png)
![image-20220520161746928](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161746928.png)
- 抖动(颠簸)现象
![image-20220520161926263](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520161926263.png)
- 工作集
![image-20220520162008509](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520162008509.png)
例:
![image-20220520162116277](https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/6005/image-20220520162116277.png)
知识回顾与重要考点
一般作为选择题考查,有时可能作为大题条件