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

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方式

小结:虚拟内存管理有什么不同?
相关推荐
PMAOS1 小时前
4G 功能机操作系统选型指南:KaiOS、Mocor、MAUI、PMAOS 的能力边界与验证方法
嵌入式硬件·ai·操作系统
罗四强3 小时前
第10篇:打包上架:签名、打包 HAP、发布到华为应用市场
分布式·操作系统·harmonyos·arkts·鸿蒙系统
Liaiyang662 天前
空圈容错视角-HarmonyOS 7 架构体检:从被动容错到主动免疫的真伪验证与生态反推
操作系统·harmonyos·架构设计·ai-agent·端云协同·鸿蒙7·空圈容错
OpenAnolis小助手2 天前
龙蜥社区亮相 GOSIM AI Vision Forum 共话“Agentic Native”开源新
人工智能·ai·开源·操作系统·龙蜥社区·agent
阿里云基础软件2 天前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
OpenAnolis小助手3 天前
多租户公有云共享 CXL 内存池场景下的内存卸载研究
人工智能·操作系统·龙蜥社区·risc-v·agentic os
OpenAnolis小助手6 天前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
硅基手札6 天前
操作系统设计思想系列 13 · NuttX 深度 — POSIX 飞控底座 + RTOS 群像
架构·操作系统·嵌入式开发·ecos·sel4·nuttx
2CM_Embed7 天前
μC/OS-II 任务管理详解(三):任务创建、任务栈、删除、优先级修改与挂起恢复
操作系统
硅基手札7 天前
操作系统设计思想系列 11 · ThreadX 深度 — 预抢占阈值·认证型设计
操作系统·开源项目·嵌入式开发·嵌入式操作系统·设计思想·threadx