虚拟内存与虚拟存储器的区别

虚拟内存与虚拟存储器的区别

背景

在面试的时候经常会谈及虚拟存储器和虚拟内存,但好像对于虚拟内存和虚拟存储器这两个词语的定义,使用有些混淆,然后在查阅了一些后做了一些总结。

虚拟内存

这里说的虚拟内存其实更确切的说是windows下的虚拟内存,windows下的虚拟内存其实是借用磁盘空间假装它是内存,当应用访问虚拟内存地址的时候,如果内存管理器发现对应的物理地址在磁盘中,那内存管理器就会将这部分信息从磁盘中加载回内存中。

虚拟存储器

虚拟存储器说起来更像是一种机制,这种机制,有的书称为虚拟内存,有的书称为虚拟存储器,但是这不重要,重要的是其中的原理、核心。
下面这段话来自《深入理解计算机系统》

虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核文件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存。2)它为每个进程提供了一致的地址空间,从而简化了内存管理。3)它保护了每个进程的地址空间不被其他进程破坏。

下面是维基百科上的定义

虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上物理内存通常被分隔成多个内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

综上所述,其实windows下的虚拟内存可以说是借用磁盘空间进行扩充,而虚拟存储器更偏向于概念方面:怎么去存储进程里相关的地址,允许执行进程不必完全在内存中,缺失则从物理内存中找然后载入。(如果有大佬觉得我的说法不太准确,谢谢大佬的指正orz)

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值