5.1 虚拟存储器概述
5.1.1 常规存储管理方式的特征和局部性原理
- 常规存储器管理方式的特征
- 局部性原理
- 虚拟存储器的基本工作情况
特征:
(1)一次性,是指作业必须一次性地全部装入内存后方能开始运行。
(2)驻留性:是指作业被装入内存后,整个作业都一直驻留在内存中,其中任何部分都不会被换出,直至作业运行结束。
局部性原理:
(1)程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部份区域转至另一部份区域。
(3)程序中存在许多循环结构,这些结构虽然只由少数指令组成,但是它们将被多次执行。
(4)程序中还包括许多对数据结构的处理。
局限性:
(1)时间局限性
(2)空间局限性
5.1.2 虚拟存储器的定义和特征
特征:
(1)多次性:
即只需将当前要运行的那部分程序和数据装入内存即可开始运行。
以后每当要运行到尚未调入的那部分程序时,再将它调入。
(2)对换性:
即在进程运行期间,允许那些暂不使用的代码和数据从内存调至外存
的对换区(换出),待以后需要时再将它们从外存调至内存(换进)。
甚至还允许将暂时不运行的进程调至外存,待它们重又具备运行
条件时在调入内存。
(3)虚拟性:
指能够从逻辑上扩充内存容量,使用户看到的内存容量远大于实际内存容量。
5.1.3 虚拟存储器的实现方法
1. 分页请求系统:
✦分页请求系统是在分页系统的基础上增加了‘调页功能’和‘页面置换功能’所形成的页式页式虚拟存储系统。
✦为了能实现请求调页和页面置换功能,系统必须提供必要的硬件支持和实现请求分页的软件。
(1)硬件支持:
①请求分页的页表机制
②缺页中断机构
③地址变换机构
(2)实现请求分页的软件:
请求分段功能:
✦请求分段系统是在分段系统的基础上,增加了请求调段及分段置换功能后
所形成的段式虚拟存储系统。
✦ (1)硬件支持:
①请求分段的段表机制
②缺页中断机构
③地址变换机构
(2)软件支持:
5.2 请求分页存储管理方式
5.2.1 请求分页中的硬件支持
✦在请求分页系统中的每个页表应含以下诸项:
页号 物理块号 状态为P 访问字段A 修改位M 外存地址
____♤理解各个字段的意义!!!!
5.2.2 请求分页中的内存分配
内存分配策略:
(1)固定分配局部置换
(2)可变分配全局置换
(3)可变分配局部置换
物理块分配算法:
(1)平均分配算法
(2)按比例分配算法
(3)考虑优先权的分配算法
5.2.3 页面调入策略
5.3 页面置换算法
5.3.1 最佳置换算法和先进先出置换算法
5.3.2 最近最久未使用和最少使用置换算法
- LRU置换算法的描述
- LRU置换算法的硬件支持
- 最少使用(LFU)置换算法
5.3.3 Clock置换算法
5.3.4 页面缓冲算法
影响因素:
(1)页面置换算法
(2)写回磁盘的频率
(3)读入内存的频率
5.3.5 访问内存的有效时间
存在三种方式的内存访问操作:
(1)被访问页在内存中,且其对应的页表项在块表中。
●内存有效访问时间(EAT)分为查找快表的时间(λ)和
访问实际物理地址所需的时间(t)。
EAT = λ + t
(2)被访问页在内存中,且其对应的页表项不再快表中。
EAT = λ + t + λ + t = 2 ×(λ + t)
(3)被访问页不在内存中。
EAT = λ + a × t + (1 - a) × [t + f × (ε + λ + t) + (1 - f) × (λ + t )]
式中,a表示命中率,f表示缺页率。
如果不考命中率,仅考虑虑缺页率即λ = 0和a = 0,
设缺页中断处理时间为Φ,则:
EAT = t + f × (Φ + t) + (1 -f) × t
5.4 “抖动”与工作集
5.4.1 多道程序度与“抖动”
5.4.2 工作集
5.4.3 “抖动”的预防方法
- 采取局部置换策略
- 把工作集算法融入到处理机调度中
- 利用“L = S”准则调节缺页率
- 选择暂停的进程
5.5 请求分段存储管理方式
5.5.1 请求分段中的硬件支持
下面为请求分段的段表项:
段名 段长 段基址 存取方式 访问字段A 修改位M 存在为P 增补位 外存始址
5.5.2 分段的共享与保护
共享段表:
(1)共享进程技术count
(2)存取控制字段
(3)段号
共享段的分配与回收:
(1)共享段的分配
(2)共享段的回收
分段保护:
(1)越界检查
(2)存取控制检查
①只读
②只执行
③读/写
(3)环保护机构
①一个程序可以访问驻留在相同环或较低特权环(外环)中的服务。
②一个程序可以调用驻留在相同环或较高级特权环(内环)中的服务。