6、虚拟存储器
...大约 4 分钟
第五章:虚拟存储器
常规存储管理方式的特征
- 一次性
- 驻留性
局部性原理
程序在执行时将呈现出局部性特征,即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域
时间局限性
- 如果程序中的某条指令一旦执行, 则不久以后该指令可能再次执行;如果某数据被访问过, 则不久以后该数据可能再次被访问。产生时间局限性的典型原因,是由于在程序中存在着大量的循环操作
空间局限性
- 一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,其典型情况便是程序的顺序执行。
定义
指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
优点
- 大程序:可在较小的可用内存中执行较大的用户程序;
- 大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory)
- 并发:可在内存中容纳更多程序并发执行;
- 易于开发:不必影响编程时的程序结构
- 以CPU时间和外存空间换取昂贵内存空间,这是操作系统中的资源转换技术
特征
离散性
- 指在内存分配时采用离散的分配方式,它是虚拟存储器的实现的基础
多次性
- 指一个作业被分成多次调入内存运行,即在作业运行时没有必要将其全部装入,只须将当前要运行的那部分程序和数据装入内存即可。多次性是虚拟存储器最重要的特征
对换性
- 指允许在作业的运行过程中在内存和外存的对换区之间换进、换出。
虚拟性
- 指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。
虚拟存储器的实现方式
请求分页存储管理方式
- 硬件
- 请求页表机制
- 格式:页号+物理块号+状态位P+访问字段A+修改位M+外存地址
- 缺页中断机构
- 地址变换机构(过程图很关键)
- 请求页表机制
- 请求分页中的内存分配
- 最小物理块数
- 即能保证进程正常运行所需的最小物理块数
- 内存分配策略
- 固定分配局部置换(国王的大儿子)
- 可变分配全局置换(国王的二儿子)
- 可变分配局部置换(国王的小儿子)
- 最小物理块数
- 物理块分配算法
- 平均分配算法
- 按比例分配算法
- 考虑优先权的分配算法
- 页面调入策略
- 系统应在何时调入所需页面
- 预调页策略(不能实现)
- 请求调页策略(需要才给)
- 系统应该从何处调入这些页面
- 对换区
- 文件区
- 页面调入过程
- 缺页率(出计算题)
- 系统应在何时调入所需页面
请求分段系统
- 硬件
- 请求分段的段表机构
- 缺段中断机构
- 地址变换机构
页面置换算法
抖动的概念
- 即刚被换出的页很快又要被访问,需要将它重新调入,此时又需要再选一页调出
最佳置换算法(需要预知后面进程,所以不能实现)
先进先出页面置换算法(FIFO)
- 选择在内存中驻留时间最久的页面予以淘汰
最近最久未使用置换算法(LRU)Recently
- 寄存器支持
- 特殊的栈结构
最少使用置换算法(LFU)Frequently
clock置换算法(对访问位A的判断)
- 改进型——增加对修改位M思维判断
页面缓冲算法(PBA,page buffering algorithm)
- 空闲页面链表
- 修改页面链表
赞助