【操作系统】10.虚拟内存管理有什么不同?

本文详细探讨了虚拟内存管理,包括基本概念、实现方式(请求分页、分段和段页式)、页面置换算法(如FIFO、LRU、NRU和改进型时钟算法),以及页面分配策略。还涉及调入页面的时机和调页位置的选择。
摘要由CSDN通过智能技术生成

2.虚拟内存管理有什么不同?

2.1 虚拟内存的基本概念

虚拟内存的概念
具有请求调入和置换功能,从逻辑上对内存容量加以扩充的一种存储器系统

局部性原理
时间局部性
空间局部性

虚拟内存的特征
多次性
对换性
虚拟性

2.1.1 虚拟内存的实现

请求分页存储管理

请求分段存储管理

请求段页式存储管理

2.2 请求分页管理方式

页表机制
状态位P
访问字段A
修改位M
外存地址
缺页中断机构

​ 内中断(CPU内部)
​ 陷入、故障、终止
​ 外中断(CPU外部)
I/O中断请求
​ 人工干预地址变换机构

地址变换机构
请求调页,判断是否在内存
可能需要页面置换
新增/修改页表项
热点表项同步到快表

2.3 页面置换算法

先进先出置换算法FIFO

保障顺序上的公平:
每次选择淘汰最早进入内存的页面
Belady异常,性能差

最佳置换算法OPT

保障最低缺页率:
每次选择淘汰最不可能再次被使用的页面
无法实现

时钟置换算法NRU

保障性能和开销均衡:
为页面设置访问位(0/1),并链接成循环队列,进程访问页面后置为1。淘汰时为1置为0并跳过,为0时淘汰。

​ 最多需要两轮扫描

最近最久置换算法LRU

保障时间和距离上的公平:
每次选择淘汰最久最近未使用的页面
需要硬件支持,开销大

改进型时钟置换算法

额外考虑是否修改,保障最少I/O操作:
增加修改位(0/1),第一轮找(0,0),第二轮找(0,1)并修改访问位为0,第三轮找(0,0),第四轮找(0,1)

2.4 页面分配策略

驻留集(驻留在主存中页面数)大小
分配空间小,进程数量多,CPU时间利用效率就高
进程在主存中页数少,错页率就高
进程在主存页数多,错页率并无明显改善
页面分配策略
固定分配局部置换
可变分配全局置换
可变分配局部置换

调入页面的时机
预调页策略
一次性调入若干相邻页面
多用于进程首次调入
请求调页策略
运行时发现缺页时调入
I/O开销较大

从何处调页
系统拥有足够的对换区空间
系统缺少足够的对换区空间
UNIX方式

小结:虚拟内存管理有什么不同?

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A 北枝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值