社区
汇编语言
帖子详情
4GB的地址空间够用吗?
snwcwt
2002-08-25 03:27:31
在WINDOWS操作系统中,每个WIN32进程都有4GB的虚拟地址空间,当然进程并用不到这么多的空间,而每个WIN32进程用到的虚拟地址最终都会映射到4GB的物理地址空间中。假设当运行了很多进程而所有的进程用到的虚拟内存总和大于4GB(物理内存+内存映象文件的总和会大于4GB吗?),可32位地址只能寻址4GB的空间,那么多于4GB的虚拟内存将映射到那里呢?
...全文
95
12
打赏
收藏
4GB的地址空间够用吗?
在WINDOWS操作系统中,每个WIN32进程都有4GB的虚拟地址空间,当然进程并用不到这么多的空间,而每个WIN32进程用到的虚拟地址最终都会映射到4GB的物理地址空间中。假设当运行了很多进程而所有的进程用到的虚拟内存总和大于4GB(物理内存+内存映象文件的总和会大于4GB吗?),可32位地址只能寻址4GB的空间,那么多于4GB的虚拟内存将映射到那里呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cwanter
2002-08-27
打赏
举报
回复
虽然每个进程的理论地址空间是4G,但实际上每个进程所用的空间不会到4G。楼主的问题关键不在于此,而是当运行很多进程时,每个进程所占用的实际空间总和大于4G怎么办?其实这个不用担心,操作系统会提供磁盘空间用于交换内存中的数据(这就是为什么有时候玩游戏时,硬盘会狂转不停的原因),当某个进程要访问的数据不在内存中,操作系统会发生异常,由异常处理进程将所需页面调入内存,进程继续执行。
紫郢剑侠
2002-08-26
打赏
举报
回复
GZ...
Learning...
giantzz
2002-08-26
打赏
举报
回复
倒
snwcwt
2002-08-26
打赏
举报
回复
to giantzz(牛!是怎么死的。。。) (▃▄▅▆▇█) :
描述符可以描述4GB的段,一个任务需要4GB的空间,所以一个进程就用一个描述符.我想是这样的吧
ameba
2002-08-26
打赏
举报
回复
每个机器的进程使用空间的总和一般不可能大于系统的实际物理内存+虚拟内存,
只要你的虚拟内存>=物理内存就可以了。当物理内存不够时就不会再产生进程(运行程序)了
giantzz
2002-08-25
打赏
举报
回复
to wowocock(机器猫):
你说在保护模式下每个描述符可以描述一个内存段4GB用来存放一个进程的地址空间,你的意思是说描述符是描述一个任务,而不是一个段,是吗,请指教?
wowocock
2002-08-25
打赏
举报
回复
这和WINDOWS操作系统无关,在保护模式下每个描述符可以描述一个内存段4GB用来
存放一个进程的地址空间,而保护模式下有GDT,LDT每个表中可以8192个描述符
所以系统可用的地址空间为2*8192*4GB=64TB,当然实际上也不会有那么多内存
就通过虚拟内存来实现,通过分页机制来实现,要注意的是不同的进程位于不同的地址空间,也许他们的线性地址相同,但由于采用不同的映射机制,所以实际上是
位于不同的物理地址,这就是进程隔离的道理,而共用的部分则采用相同映射机制
从而达到共享的目的。
giantzz
2002-08-25
打赏
举报
回复
你的概念错了,如果说是在WINDOWS下,是不可能多进程的空间超过4GB,操作系统是不允许的,而你说要假设操作系统允许,这就是你概念出错了;但是要说与操作系统无关,一个进程的虚拟空间是64TB
-------------------------------------------
假设操作系统允许,那还真是不够用了,致于WINDOWS是怎么分配描述符的,我还真想了解,哪位了解WINDOWS的高手说说,因为我的方向很少与操作系统相关!
giantzz
2002-08-25
打赏
举报
回复
不要说钻牛角尖了这种话,对于技术必须这样,中国就是少了这样的人
耙子
2002-08-25
打赏
举报
回复
你钻牛角尖了。
win32系统的确允许每个进程使用4G的空间(实际上给进程用的只有2G,另有2G系统用了)
cpu存在一个v86 模式(虚拟86模式),我们所说的多任务也是在这下面的。
cpu是按照优先级分配时间片给每个进程的,在进程的内部,你可以任意寻址0~4G的范围,但是这个范围不是实际物理内存的地址,是进程内部的逻辑地址。他会在实际的物理地址中重新映射,由于物理内存有限,所以不常用的部分就变成了交换文件里面的虚拟内存。
每个机器的进程使用空间的总和不应该大于系统的实际物理内存+虚拟内存,
我们现在的机器 一般都是 256M实际物理内存 + xxxM虚拟内存。所以,如果你的机器真的跑若干了进程,如果占用内存大于了这些,那系统可定会提示内存不足,或者崩溃的。
关键理解 理论上和实际上的区别。
snwcwt
2002-08-25
打赏
举报
回复
我是指如果很多进程,会不会存在物理地址空间会不会够用(能够寻址的物理地址空间只有4GB吧),希望能讲一下进程之间切换时内存映射是怎么改变的,3ks
giantzz
2002-08-25
打赏
举报
回复
很多进程用4GB也能寻到,因为每个进程小于4GB,所以不存在大于4GB的情况
云服务器40G/50G云硬盘
够用
吗?
很多新手都觉得云服务器自带的40/50
GB
硬盘太小了,会不会不
够用
,其实完全不用担心。目前Linux发行版占用硬盘
空间
都比较小。一般纯系统只会占用1-2
GB
,就算安装完所有运行环境了也就占用4
GB
左右。剩下来的
空间
放网站程序数据库绰绰有余了。按图片100KB每张来说20
GB
的
空间
可以放20万张。文字更是几乎可以忽略不计。 如果你用Windows系统的话可能会有所不足,不过现在不管阿里云还是腾讯云...
绝对详细!Nginx基本配置、性能优化指南
转:http://www.chinaz.com/web/2015/0424/401323.shtml大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Ngi...
苹果6运行内存是多少_安卓手机12
GB
运行内存为何打不过苹果的4
GB
?有哪些原因?...
关注手机的小伙伴,相信都知道,安卓手机一般都是一年会有一次升级内存。从以前的4
GB
到8
GB
再到现在的12
GB
,可谓是在成倍的升级。而苹果手机,目前的最新的机型却只有4
GB
。使用过安卓机的小伙伴都知道,刚开始用的时候十分的流畅,能和苹果手机相提并论,然而用久了你会发现为什么安卓的12
GB
的运行内存还比不上苹果手机的4
GB
呢?手机运存,主要的作用就是给 App 提供运行的
空间
。简单一点的说,就是你手机...
有道云笔记4年的用户体验
优点: 1.笔记的分层处理很好; 2.云同步效果很好。比如:同步速度快,文件不易丢失; 3.容量充足,每天签到会奖励内存
空间
,非会员的我现在已经将近10G的内存了,如果只是存笔记的话完全
够用
; 缺点: 1.搜索功能经常会崩溃,比如:如果搜索一个带特殊符号(-)的文档标题,会出现搜索不到; 2.代码块只要到第10行就会错位,其实CSDN这块的代码块做的很好的; 3.文章目录做的不是很人性化,文章目录...
学计算机多大显卡
够用
,4
GB
显存过气、买新显卡非8
GB
不选?2分钟搞懂多大显存适合你...
GTX750Ti 2
GB
都能吃鸡,你告诉我4G显存过气?零售市场最近半年发布的新显卡不算多,nVIDIA家也就GTX1650Super 4
GB
、GTX1660Super 6
GB
而已,AMD那边则是RX5500XT 4
GB
/8
GB
以及RX5600XT 6
GB
这两种。大家可以看到,低端入门显卡显存容量的起跑线已经推向4
GB
,中端显卡全部6
GB
起步,显存规格也全数升级为GDDR6。4
GB
确实小,但也并非...
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章