1. 从硬盘中划分出的所谓的\"虚拟内存\",准确来说应该叫做虚拟内存的\"后备存储空间\"2. 程序运行时的虚拟内存,准确的表达是\"虚拟内存技术\" 早期无虚拟内存技术(既所谓的实模式)时的弊端。虚拟内存与物理内存有什么区别?更多详情请大家跟着小编一起来看看吧!

虚拟内存与物理内存有什么区别

虚拟内存与物理内存有什么区别(1)

1. 从硬盘中划分出的所谓的\"虚拟内存\",准确来说应该叫做虚拟内存的\"后备存储空间\"

2. 程序运行时的虚拟内存,准确的表达是\"虚拟内存技术\"。

早期无虚拟内存技术(既所谓的实模式)时的弊端

早期计算机中所有应用程序共享同一块物理内存,物理内存既决定了能装载的所有应用程序的大小,这种限制很好理解。

这种耿直的内存访问方式在现在看来有明显的缺点。最显著的两个是

1. 一个应用程序可以读写其他应用程序的数据,除了安全性外,一个程序可能由于其他程序的BUG而崩溃,难以排查。

2. 内存的利用率不高,因为一个程序在某一段时间内只有一小部分数据在被访问,绝大部分存入内存的数据一时半会根本用不到。 而那些自身大小比空闲内存还要大的应用程序又无法运行。

虚拟内存技术

虚拟内存技术是在物理内存和应用程序之间增加的一个中间抽象层。

1. 所有对物理内存的访问均改为对虚拟内存的访问,然后由操作系统作为代理,完成对物理内存的访问。这样就可以防止应用程序之间数据可以彼此随意读写的问题。

2. 虚拟内存可以屏蔽程序对物理内存的感知。既应用程序以为所有的数据都在内存,但是实际上只有少部分在物理内存,大部分都在\"后备存储器\"(磁盘)中. 当程序向操作系统请求数据时,若操作系统发现数据并不在物理内存(缺页中断),那么就立即将其从磁盘载入进来。这样就可以大大提高内存的利用率,而那些比物理内存还要大的程序,也只需要部分载入而运行起来。

举个例子

以Leader需要所有的团队前来汇报为例。Leader管理若干团队,每个团队中有若干成员。年终时需要各个团队前来汇报。

如果采用非虚拟内存的模式,进行其汇报的方式大概是如下的过程。

1. 把所有的团队的成员同时叫到办公室中

2. 依次汇报。

这种方法现在看来问题很多。首先办公室可能没有那么大,甚至无法装下一个稍微大一点的团队。

如果采用虚拟内存的模式进行汇报,则是

1. 每次仅仅把那些和子项目相关的人叫过来,其他的都在大厅等待,等需要他们的时候再叫进来。

这里的大厅既是硬盘上的后备存储器,Leader办公室就是内存。