5-1虚拟存储器概述
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储管理:
允许将一个作业分多次调入内存。
虚拟的实现建立在离散分配存储管理基础上
方式:请求分页/请求分段系统
细节:分页/段机构、中断机构、地址变换机构、软件支持
虚拟存储器的特征:离散分配方式是基础
多次性,对换性,虚拟性。
5-2请求分页存储管理方式
换入和换出基本单位都是长度固定的页面。
(1)硬件支持
一台具有一定容量的内/外存的计算机
- 页表机制
- 缺页中断机构
- 地址转换机构
作为缺页中断,需经历几个步骤:
“保护CPU环境”
“分析中断原因”
“转入缺页中断处理程序”
“恢复CPU环境”等。
内存分配步骤:(1)最小物理块数的确定.
(2)物理块的分配策略:固定分配、局部置换。可变分配、全局置换。可变分配、局部置换。
(3)物理块的分配算法:平均分配算法。按比例分配算法。考虑优先权的分配算法。
调页策略:1预调页策略
2请求调页策略
在请求分页系统中的外存分为:
对换区:连续存放数据,读写速度较快
文件区:离散分配方式,I/O速度相对慢
5-3页面置换算法。
页面置换算法(page replacement algorithms):选择换出哪些页面的算法,其好坏直接影响系统的性能。
缺页率=页面调入次数(缺页次数)/总的页面使用次数。
主要算法有:最佳Optimal置换算法:优点:保证获得最低的缺页率
不足:无法实现,因为无法预知一进程将来的运行情况
作用:作为参照标准,评价其他算法。
先进先出FIFO置换算法:优点:实现简单。不足:与进程实际运行规律不相适应
最近最久未使用(LRU)置换算法:不足:
有时页面过去和未来的走向之间并无必然的联系。
相应的需较多的硬件支持。
CLOCK置换算法:又称最近未使用算法。
其他置换页面缓冲算法PBA(page buffering algorithm)
算法:最少使用 (LFU, Least Frequently Used) 。
影响缺页率的主要因素:
(1)分配给作业的主存块数:
(2)页面大小:
(3)页面调度算法:
(4)程序编制方法: