操作系统(第四版)-------虚拟存储器
1)常规存储器管理方式的特征
一次性:作业在运行前一次性的全部装入内存
驻留性:作业装入内存后,便一直驻留在内存,直至作业运行结束
2)局部性原理
时间局部性:被引用过一次的存储器位置很可能在不远的将来再被多次引用
空间局部性:如果一个存储器的位置被引用过一次,那么程序很可能在不远的将来引用附近的一个存储器位置
基于局部性原理:程序运行前,不需要全部装入内存
缺页/段时,如果内存已满,无法再装入新的段/页时,通过置换功能将内存中暂时不用的调至外存,腾出足够的内存空间
3)虚拟存储器的定义
是指具有请求调入功能和置换,能从逻辑上对内存容量加以扩充的一种存储器系统
4)虚拟存储器的实现
虚拟存储管理:
允许将一个作业分多次调入内存
若采用连续分配方式,需申请足够空间,在分多次装入,造成内存资源浪费,并不能从逻辑上扩大内存容量
所以,虚拟的实现建立在离散分配存储管理基础上
5)虚拟存储器的特征
离散分配方式是基础
多次性:一个作业被分成多次调入内存运行
对换性:允许作业在运行的过程中进行换出,换进
最终体现虚拟性
具体实现:请求分页存储管理方式
基本分页+请求调页+页面置换功能
换入和换出基本单位都是长度固定的页面
①页表的基本功能不变:逻辑地址映射为物理地址

(1) 状态位P :指示该页是否已调入内存。
(2) 访问字段A :用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问。(置换时考量的参数)
(3) 修改位M :该页在调入内存后是否被修改过。(关系到置换时调出的具体操作)
(4) 外存地址:用于指出该页在外存上的地址。
②缺页中断机构
每当要访问的页面不在内存中时,便产生一缺页中断通知OS,OS则将所缺之页调入内存。作为中断,需经历几个步骤
保护CPU环境 分析中断原因 转入缺页中断处理程序 恢复CPU环境等
作为一种特殊中断,与一般中断有明显区别:
1)在指令执行期间产生和处理中断信号
2)一条指令在执行期间,可能产生多次缺页中断
③地址变换机构
分页系统地址变换机构+ 产生和处理缺页中断(请求调入) + 从内存中换出一页的功能(置换)


2)内存分配
三个问题:最小物理块数的确定 物理块的分配策略 物理块的分配算法
分配策略 固定分配局部置换
为每个进程分配一定数目的物理块,在整个运行期间不再改变(基于进程的类型,或根据程序员、程序管理员的建议) 运行中缺页时,只能从该进程内存中n个页面中选出一页换出,然后再调入一页。
可变分配全局置换
先为每个进程分配一定数目的物理块 OS管理一个空闲物理块队列,发生缺页时,系统从队列中取出一块分配给该进程,将欲调入的页装入(动态增长型,全局空闲空间都可分配使用) 空闲空间不足时,可与其他任何进程页面置换。
“会使其他进程缺页率提高,影响运行”
可变跟配局部置换
为每个进程分配一定数目的物理块 缺页时,只允许换出该进程在内存的页面,不影响其他进程执行。
根据缺页率增减进程的物理块数:若频繁缺页中断,则系统再为进程分配若干物理快;若缺页率特别低,则适当减少分配给该进程的物理块。
③物理块的分配算法
平均分配算法
将所有可供分配的物理块平均分配给各进程
按比例分配算法
根据进程的大小按比例分配物理块
考虑优先权的分配算法
实际应用中,要照顾重要,急迫的作业尽快完成,为它分配较多的内存空间
3)调页策略
①何时调入页面
预调页策略
请求调页策略
②从何处调入页面
在请求分页系统中的外存分为:
对换区:连续存放数据,读写速度较快
文件区:离散分配方式,i/o速度相对慢
发生缺页时,系统应从何处将缺页调入内存,分为三种情况
系统拥有足够的对换区空间: 进程运行前所有页面由文件区拷贝到对换区; 运行需要的页面全部从对换区调入内存,提高调页速度。 系统缺少足够的对换区空间: 不会被修改的部分,在文件区操作(即:直接从文件区调入,换出时不用写入文件,再调入时仍从文件区调入) 可能被修改的部分,在对换区操作。 UNIX方式:(随运行数据逐渐从文件区转到对换区) 未运行的页面从文件区调入; 曾经运行,但又被换出的页面放在对换区,下次调入应从对换区调入。 进程请求的共享页面
3页面置换算法:选择换出哪些页面的算法,其好坏直接影响系统的性能
应具有较低的缺页率

1)最佳置换算法:理论上的算法
优点:保证获得最低的缺页率
不足:无法实现 作为标准,评价其他算法
2)先进先出置换算法
先进入的先淘汰,既选择内存中驻留时间最久的页面予以淘汰

3)最近最久未使用置换算法
选择最近最久未使用的页面予以淘汰

4)轮转算法


浙公网安备 33010602011771号