什么叫物理内存和虚拟内存

如题所述

1、应用中的概念。

物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。看机器配置的时候,看的就是这个物理内存。

虚拟内存,这个概念就要稍微了解一下CPU了,^_^,只是稍微,毕竟我们现在谈的是应用中的概念。我们应该知道,对于一般的32位CPU,有32根地址线,那么它的寻址空间就是4GB。也就是说,如果没有其他的限制,我们的主板上最大可以安装4GB的物理内存。哈哈,一般的机器是不会装那么多物理内存的,大把的银子啊,性价比可合不上。程序员可不管这个,我们对CPU编程,不能一台机器根据你物理内存的大小我编一个程序吧?那也太原始社会了吧。所以程序员都是直接使用的4GB的奢侈的进程空间(或许,不应该用奢侈这么短视的词。曾几何时,128M的物理内存也是我们不可想象的呢?)。这怎么办?总不能不用那些程序了吧。好吧,这个问题交给OS去解决吧。这样,OS就提出了一个虚拟内存的概念。就是进程、用户、不必考虑实际上物理内存的限制,而直接对4GB的进程空间进行寻址。如果所寻址的数据实际上不在物理内存中,那就从“虚拟内存”中来获取。这个虚拟内存可以是一个专门文件格式的磁盘分区(比如linux下的swap分区),也可以是硬盘上的某个足够大的文件(比如win下的那个i386文件,好像是这个名字)。物理内存中长期不用的数据,也可以转移到虚拟内存中。这样的交换由OS来控制,用户看起来就好像物理内存大了一样。有了虚拟内存的概念,我们就可以自由的使用4GB的进程空间了。但是,前提是你的硬盘由足够的空间,而且你舍得划分出(4GB-物理内存)大的虚拟内存空间来。^_^。一般情况下,虚拟内存的大小,各个OS也进行了限制(比如linux的swap分区的大小,win下也可以调整虚拟内存文件的大小和位置)。所以,我们程序所能使用的存储空间大小就是:物理内存+虚拟内存。

2、CPU中的概念。

物理内存,CPU的地址线可以直接进行寻址的内存空间大小。比如8086只有20根地址线,那它的寻址空间就是1MB。我们就说8086能支持1MB的物理内存。即使我们安装了128M的内存条在板子上,我们也只能说8086拥有1MB的物理内存空间。同理32位的386以上CPU,就可以支持最大4GB的物理内存空间了。

虚拟内存,这便是一个和CPU的寻址方式有关的一个概念了。x86体系结构中,为了更好的管理内存空间,采用分段的方式来对内存进行寻址。比如8086就用两个字节的段基地址和两个字节的偏移地址来寻址整个可以寻址的内存空间,即:0000:0000方式(具体怎么计算出实际的地址,参见各种汇编教材)。这样,对整个1MB的物理内存空间寻址是没有问题了。可是,用这种方式,最大可以寻址到10FFEF这个地址。这超出了20根地址线的地址的FFEF大小的空间,就可以说是8086的虚拟内存了,所以可以说8086的虚拟内存地址空间可以达到10FFEF。^_^,具体怎么使用和看待这段内存,还取决于A20线的选通与否了,这是另外的话题了。同样的道理,386以上的CPU,由于在保护模式下使用了GDT和LDT,将段的定义放到了内存中,从而可以使用16位的段地址和32位的偏移地址。这样算来,386以上的CPU的虚拟内存地址空间就可以达到64TB了。真是大的惊人,看来,这么大的地址空间,一时还不能被软件的发展淘汰。

3、零碎的叫法。

零碎的叫法常常来自与相对感觉深奥诙涩的虚拟内存概念。物理的东西,人们大多不去碰它,毕竟是实实在在存在的。而虚拟内存就经常有别冒名顶替的。“一个进程有4个GB的虚拟内存”这样的说法屡见不鲜,其实,这是混淆了4GB的进程地址空间和虚拟内存这两个概念。也算令一种解释吧,毕竟那4个GB也是见不着影的,也是虚拟的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2005-08-21
物理内存就是你内存条
虚拟内存是系统在硬盘上建的缓冲区!

因为有时候打开一个文件可能生成几百M的文件
第2个回答  2005-08-21
物理内存就是指硬件的内存,当物理内存不够时往往会用到硬盘上的虚拟内存。所以适当设置虚拟内存在一定程度上可以提高电脑的性能!!
但是虚拟内存的速度远远不及物理内存

什么是物理内存和虚拟内存?
1、物理内存是指由于安装内存条而获得的临时储存空间。主要作用是在计算机运行时为操作系统和各种程序提供临时储存。常见的物理内存规格有256M、512M、1G、2G等,当物理内存不足时,可以用虚拟内存代替。2、虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的...

虚拟内存与物理内存有什么区别?
1、虚拟内存:是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。2、物理内存:会对系统的虚拟内存限制有影响,虚拟内存的大小等于物理内存容量、再加上所有页面文件的最大容量。三、主体不同 1、虚拟内存:是计算机系统内存管理的一种技术。是Windows 为作为内存使用...

物理内存是什么
物理内存(Physical memory)是相对于虚拟内存而言的。物理内存指通过物理内存条而获得的内存空间,而虚拟内存则是指将硬盘的一块区域划分来作为内存。内存主要作用是在计算机运行时为操作系统和各种程序提供临时储存。

物理内存和虚拟内存有什么区别?平时说的内存是物理内存还是虚拟...
物理内即你电脑主板内存槽上的实际容量。虚拟内存是当物理内存不够用时系统自动从硬盘空间划分一些容量出来当做虚拟内存使用(即辅助物理内存) 当执行的程序很大或很多,导致内存消耗殆尽时。Windows中会运用虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存...

什么是物理内存与虚拟内存
物理内存是真正的内存,在应用中顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。看机器配置的时候,看的就是这个物理内存。虚拟内存是为了满足系统对超出物理内存容量的需求时在外存(如硬盘)上开辟的存储空间。由于虚拟内存其实是放在外存上,因而与物理内存相比读写速度都非常慢 那么虚拟...

什么叫做虚拟内存?虚拟内存和物理内存有什么区别?
虚拟内存,就是用一块磁盘空间来辅助物理内存工作。虚拟内存是硬盘空间,物理内存是内存,速度相差至少100倍。 虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存什么叫做虚拟内存?虚拟内存和物理内存有什么区别?

虚拟内存和物理内存的区别
虚拟内存是计算机系统内存管理的一种技术。是Windows为作为内存使用的一部分硬盘空间。物理内存指通过物理内存条而获得的内存空间。随机存取存储器(英语:RandomAccessMemory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在...

物理内存和虚拟内存是什么意思各有什么作用
物理内存就是真实存在的、插在主板上的“内存条”。虚拟内存就是系统在硬盘上开辟一块空间,当做内存来使用。由于这是硬盘空间,不是内存条,所以叫“虚拟内存”。物理内存是系统运行所有程序的必经之地,就好比你要写字,要有个写字台。这叫运行平台,没有的话电脑将无用武之地。虚拟内存也是系统运行...

物理内存和虚拟内存是什么意思?
1.物理内存:实际插在主板上的内存容量。不是最大内存 2.虚拟内存:页面文件存在于硬盘上,系统将它作为内存来使用。实际上就是从硬盘上划分出来的一部分,作用逊于物理内存。3.虚拟内存在电脑的硬盘上。通过:我的电脑(右键)--属性--高级--虚拟内存--更改 来实现对虚拟内存的调节。4.是的,要...

虚拟内存和物理内存的区别
1、定义:物理内存是计算机系统中实际存在的内存硬件,用于存储正在运行的程序和数据。虚拟内存是一种扩展的内存概念,通过将部分数据和程序存储在硬盘上,以提供更大的可用内存空间。2、容量:物理内存的容量是硬件决定的,以字节或者千兆字节(GB)为单位。虚拟内存的容量可以比物理内存大得多,可以使用...

相似回答
大家正在搜