小白莲的操作系统day10-3.2

虚拟内存管理

请求分页管理方式

知识总览

小白莲的操作系统day10-3.2

页表机制

小白莲的操作系统day10-3.2

缺页中断机构

小白莲的操作系统day10-3.2
缺页中断 是因为当前执行的指令想要访问的目标页面未调入内存而产生的,因此属于内中断

一条指令在执行期间,可能产生多次缺页中断。(如:copy A to B,及将逻辑地址A中的数据复制到逻辑地址B,而A、B属于不同的页面,则有可能产生两次中断)。
小白莲的操作系统day10-3.2

地址变换机构

小白莲的操作系统day10-3.2
小白莲的操作系统day10-3.2
小白莲的操作系统day10-3.2

知识回顾与重要考点

小白莲的操作系统day10-3.2

虚拟内存的基本概念

知识总览

小白莲的操作系统day10-3.2

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

小白莲的操作系统day10-3.2

局部性原理

小白莲的操作系统day10-3.2

虚拟内存的定义和特征

基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的本分留在外存,就可以让程序开始执行

在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。

若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存

在操作系统的 管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存

操作系统虚拟性的一个体现:实际的物理内存大小没有变,只是在逻辑上进行了扩充。
小白莲的操作系统day10-3.2
虚拟内存有以下三个主要特征:

多次性:无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存。

对换性:在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入、换出。

虚拟性:从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际容量。

如何实现虚拟内存技术

虚拟内存技术,允许一个作业分多次调入内存。如果采用连续分配方式,会不方便实现。因此,虚拟内存的实现需要建立在离散分配的内存管理方式基础上。
小白莲的操作系统day10-3.2

知识回顾与重要考点

小白莲的操作系统day10-3.2

页面置换算法

知识总览

小白莲的操作系统day10-3.2

最佳置换算法(OPT)

最佳置换算法(OPT,Optimal):每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,这样可以保证最低的缺页率。
小白莲的操作系统day10-3.2
最佳置换算法可以保证最低的缺页率 ,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法是无法实现的

先进先出置换算法(FIFO)

先进先出置换算法(FIFO):每次选择淘汰的页面最早进入内存的页面

实现方法:把调入内存的页面根据调入的先后顺序排成一个队列,需要换出页面时选择队头页面即可。队列的最大长度取决于系统为进程分配了多少个内存块。
小白莲的操作系统day10-3.2
只有FIFO算法会产生Belady异常。另外,FIFO算法虽然实现简单,但是该算法与进程实际运行时的规律不适应,因为先进入的页面也有可能最经常被访问。因此,算法性能差

最近最久未使用置换算法(LRU)

最近最久未使用置换算法(LRU,least recently used):每次淘汰的页面最近最久未使用的页面

实现方法:赋予每个页面对应的页表项中,用访问字段记录该页面自上次被访问以来所经历的时间t。当需要淘汰一个页面时,选择现有页面中t值最大的,即最近最久未使用的页面。

小白莲的操作系统day10-3.2
该算法的实现需要专门的硬件支持,虽然算法性能好,但是实现困难开销大

时钟置换算法

时钟置换算法是一种性能和开销均衡的算法,又称CLOCK算法,或最近未用算法NRU,Not Recently Used)
小白莲的操作系统day10-3.2

改进型的时钟置换算法

小白莲的操作系统day10-3.2
第一优先级:最近没访问,且没修改的页面。
第二优先级:最近没访问,但修改过的页面。
第三优先级:最近访问过,但没修改的页面。
第四优先级:最近访问过,且修改过的页面。

知识回顾与重要考点

小白莲的操作系统day10-3.2

页面分配策略

知识总览

小白莲的操作系统day10-3.2

页面分配、置换策略

驻留集:指请求分页存储管理中给进程分配的物理块的集合。

在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小。
小白莲的操作系统day10-3.2
小白莲的操作系统day10-3.2

何时调入页面

小白莲的操作系统day10-3.2

从何处调入页面

小白莲的操作系统day10-3.2

抖动(颠簸)现象

小白莲的操作系统day10-3.2

工作集

小白莲的操作系统day10-3.2

知识回顾与考点

小白莲的操作系统day10-3.2