问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

虚拟内存在计算机工作过程中起到什么作用啊?

发布网友 发布时间:2022-04-29 22:56

我来回答

2个回答

热心网友 时间:2022-06-25 04:28

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也是见不着影的,也是虚拟的。

热心网友 时间:2022-06-25 04:29

cpu只能提取内存中的数据,而虚拟内存就是内存的储备仓库。

当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,

这时就需要有一个后备“仓库”去存放“剩下”的数据。由于硬盘的空间很大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。在默认情况下,虚拟内存是以名为Pagefile.sys(XP)或Win386.swp(WIN98)的交换文件保存在硬盘的系统分区中。当然,我们完全可以把他们放到其他空闲分区,甚至我们可以在多个分区虚拟内存(不推荐)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 虚拟内存 有什么用 能不能代替内存条? 什么是虚拟内存?它有什么作用?它跟实际内存有什么区别和联系?大神们帮帮忙 SIT DOWN, PIEASE? 用英语来说是什么意思 虚拟内存是什么?有什么用啊 ?谢谢各位了 sitdown,piease用中文怎么说 虚拟内存到底有什么实际的应用呀?具体一点 虚拟内存是什么?有什么用? sitdown英语怎么候 QQ三国2011年更新后哪个职业最强不要说之要肯花钱垃圾王都可以变霸王本人天天玩 qq三国从蜀国到泽林鸟王宫怎么去? QQ三国200步任务所需要的精元有哪些?哪个城市的怪掉落?怪物多少级?价钱多少?详细点! QQ三国带旗的人最后把旗王杀死可以获得什么东西? QQ三国白虎王怎么打,在哪里,那个地图,就是威震百兽主线任务 QQ三国所有地图BOSS在哪里出现? QQ三国所有BOSS的出现地点 魔介化妆品质量怎么样? QQ三国各个等级的推荐练级地图 酒链世界有什么核心技术? QQ三国中都有哪些怪 宝宝有拾取技能的,分别叫什么在什么地方? QQ三国刷棋子奖励都是什麽 虚拟内存是什么东西啊?有什么用处啊?是越大越好还是越小越好? 豆腐丸子怎么炸好吃 速求!虚拟内存到底有什么用!!怎样才能最好的利用它 虚拟内存作用 香炸豆腐丸子的做法,香炸豆腐丸子怎么做好吃 梦见在小时候的家拿玉米梗喂黄牛 还喂猪食 看见爸爸抱着两个双胞胎小孩子? 梦见喂牛吃食大饱撑着了 梦见家人让我去喂牛 急求!!! powerpoint如何插入超链接 怎么在ppt中插入超链接 家庭的功能有哪些 家庭系统的介绍 拼团吧怎么提取链接 zzxyjym怎么做链接 智能家居的系统都有哪些系统? 临时工没有签劳动合同 家庭系统理论包括哪些内容 临时工没签合同提前多久辞职 临时工没有签订合同工伤如何赔偿 临时工没有签合同可以随时离职么