为什么要用虚拟地址?

通过虚拟地址访问内存有以下优势:
1 程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。
2 程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器会将物理内存页(通常大小为 4 KB)保存到磁盘文件。数据或代码页会根据需要在物理内存与磁盘之间移动。
3 不同进程使用的虚拟地址彼此隔离。一个进程中的代码无法更改正在由另一进程或操作系统使用的物理内存。
一个进程在自己的虚拟地址空间 3G中随便访问,都不至于影响到其它进程的内存地址。
一旦有访问非法地址,地址映射模块就会立即报错。

虚拟内存是一种计算机操作系统的技术,它扩展了物理内存的概念,使得应用程序能够在超过实际RAM大小的情况下运行。系统通过在硬盘上创建一个逻辑上的内存区域,称为交换区或页面文件,当物理内存不足时,会自动将部分不再活跃的程序数据从内存中移到磁盘,腾出空间给当前更活跃的进程使用。当这些数据需要再次访问时,它们会被重新加载回内存。 **使用虚拟内存的优点包括:** 1. **容量扩充**: 实现了有限物理内存下程序的更大规模运行,支持大型应用和大数据处理。 2. **缓解内存压力**: 在高负载情况下,避免一次性加载所有数据到内存,降低内存消耗。 3. **内存复用**: 同一时间内的不同进程可共享同一块磁盘空间,提高了资源利用率。 4. **进程隔离**: 不同进程的虚拟内存空间相互独立,即使一个进程崩溃,也不会影响其他进程。 5. **缓存失效管理**: 当数据被交换出去并返回时,可能不再是最近最频繁使用的数据,有利于缓存失效管理优化。 **虚拟地址空间**则是指程序在运行时所看到的一组地址,这个地址空间比实际的物理内存大得多。程序中的每一个逻辑地址实际上由两部分组成:一个是线性地址(也称虚拟地址),另一个是由处理器的地址映射功能转换为物理地址的过程。操作系统负责管理和调整虚拟地址空间,确保程序可以按需访问更大的内存空间,而用户程序无需关心实际内存的物理位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

举世无双勇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值