xp32位系统识别多大内存可以运行多大内存

32位系统支持多大内存_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
32位系统支持多大内存
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢您所在的位置: &
32位系统支持多大内存 Windows32位/64位系统最大支持内存详解
时间: 14:30:41
编辑:xfront
来源:下载吧
阅读5344次
想必大家都知道了,Windows XP/Win7/Win8/Win10系统除了有旗舰版、专业版、家庭版的版本区分之外,还有32位和64位的区别。区别在哪呢?其中之一就是系统支持的最大内存。来跟下载吧小编一起了解下Windows系统32位/64位系统支持多大内存。32位/64位系统支持多大内存32位:系统能够识别的内存最大在3.25-3.5GB左右,也就是说4GB的内存条有0.5GB左右用不了。2GB内存条或者2GB+1GB内存条用32位系统丝毫没有影响。64位:对于64位系统的Windows 7,最大内存支持就要视不同的系统版本而定了。比如,Windows 7 Home Basic 64位最大仅支持8GB内存、Home Premium为192GB,此外,高端的Enterprise、Ultimate等则支持支持192GB的最大内存。32位系统不支持大内存的原因一、换算关系的差异众所周知,电脑中二进制中的换算关系是 1GB=1024MB,实际生产时,硬件厂商厂商的换算单位是1GB=1000MB,当电脑厂商告诉您,您电脑中的内存是1GB的时候,其实您的内存是1000MB,系统识别时,用1000处以1024,也就显示您的内存是0.976GB,同理您安装了4G的内存,系统会显示您的内存是3.9GB。二、32位系统架构限制内存(RAM,也就是您的系统的寻址总空间)=内存条(物理内存,您的内存条是4GB的)+bios内存+缓存+显存+...,32位的电脑的寻址空间是2的32次方,也就是4G,系统将这4GB的地址分配给内存条,缓存,显存,硬件等。系统分配寻址空间时是有优先级的, bios的内存,cpu的缓存,各个硬件的内存,显卡的显存等,他们的优先级比物理内存(也就是内存条)高,所以系统先将寻址空间分配给bios的内存、cpu的缓存、各个硬件的内存和显卡的显存,最后才将剩余的寻址空间分配给内存条。比如您的显卡有500MB,那么可以分配的内存也就只剩下4GB-0.5GB=3.5GB了。相当于一条街上有1000户居民,但是门牌号码确实只有800个,于是还有200户居民没能获得门牌号码,但是这200户居民并未消失。如果在32位电脑上装上4G内存条依照优先级关系,你只能使用3G多的的内存条空间,因为前面的几百MB空间是给了各个硬件(包括显存),4GB的内存条只有其中的3.31GB获得了寻址空间,此时您只可以看到获得了寻址空间的那一部分内存条(见下图.)如果是2G的内存条,因为电脑本身寻址能里是4G,前面几百MB给了硬件,依旧剩余3G多的寻址空间, 2G的内存条可以完全获得2G的寻址空间,您也就能看到2G的内存条了
分享给朋友:
32位系统支持多大内存相关教程
32位系统支持多大内存相关新闻
下载1965次
下载6329次
下载1611次
下载36125次
下载36249次
下载120677次
下载14645次
下载2760次
下载102153次
下载304347次
热门关键字操作系统实际支持的物理内存上限有三个决定因素:CPU、主板和操作系统本身。
32位操作系统一般是基于x86架构的CPU设计,传统的x86 CPU最大支持232Bytes即4GB的内存。不过目前的x86 CPU一般都支持PAE模式,启用PAE模式以后理论上能支持64位物理寻址,也就是264Bytes,但是出于性能、成本等原因,实际上PAE只是扩展到36位物理寻址,所以目前大多数CPU能支持236Bytes即64GB物理内存。
主板限制一般看主板说明书即可,都明确标明了最大支持的物理内存。这个限制一般受主板地址总线、芯片组及生产成本等影响。
说完了CPU和主板,再说回到操作系统本身。绝大多数32位操作系统都能支持到4GB内存,只有极少数例外,例如Windows XP Stater最大只支持512M内存,这主要出于产品定位的考虑。
要支持大于4GB的内存,需要操作系统能支持PAE模式。而由于PAE模式与No PAE模式虽然大体兼容,但多少还是有些不同的,所以以前的驱动程序能正常支持PAE的比较少,因此大多数操作系统默认关闭了PAE模式。
即便是启用了PAE,也不是都能支持64GB内存,有的8GB,有的到16GB……一方面是因为实际上大多数系统用不到那么大内存,支持太大内存反而会消耗很多内存做内存管理;另一方面可能也有产品分级定位的考量。
下面列出一下常见的32位操作系统支持的最大内存。
最大内存(GB)
Windows 2000 Professional, Server
Windows 2000 Advanced Server
Windows 2000 Datacenter
Windows XP Starter
Windows XP Home & Media Center
Windows XP Professional
Windows Server 2003 Web
Windows Server 2003 Small Business, Home, Storage
Windows Server 2003 Enterprise Storage
Windows Server 2003 Standard (SP1/SP2/R2)
Windows Server 2003 Enterprise (SP2)
Windows Server 2003 Datacenter (SP2)
需特殊的服务器配置
Windows Vista Starter
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Business, Enterprise, Ultimate
Windows Server 2008 Standard, Web
Windows Server 2008 Enterprise, Datacenter
Windows 7 Starter
Windows 7 Home Basic
Windows 7 Home Premium
Windows 7 Professional, Enterprise, Ultimate
Linux kernel 2.3.23之前版本
Linux kernel 2.3.23及之后更高版本
Mac OS X 10.4.4之前版本
Mac OS X 10.4.4至目前版本
阅读(...) 评论()6083人阅读
其它文章(1414)
C/C++(833)
操作系统(140)
编程语言(299)
cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。操作系统只是硬件和应用软件中间的一个平台。我们的CPU从原来的8位,16位,到现在的32位和64位。
电脑的内存是8GB, 装的是32位的Win 7 32位版本,系统认出的内存是3.5GB, 应该说是4GB,因为还有0.5GB内存分配给了显存。
笔者十分痛苦,花重金购置的骇客神条单条8GB竟然被瞬间阉割了4GB。为了物尽其用以及尝鲜系统,又在另外一个分区上安装了Win 8的64位版
Win 7(X86)下的内存状况:
Win 8(X64)下的内存状况:
在满足的看着8G内存全部启用以及体验Win 8 Metro华丽的界面后,脑海里突然飘出一个问题:64位系统下8G内存是否完全能为32位的程序所用。
Windows 7 ultimate(x86) Windows 8 Professional(X64) Visual Studio 2010 C++ 编译一个32位程序控制台应用程序
以GB为单位向系统申请内存 以32位方式编译
主函数代码:
1 // CPP_MemoryStudy.cpp : Defines the entry point for the console application. 2 // 3
4 #include &stdafx.h& 5 #include &iostream& 6 using namespace 7
8 int _tmain(int argc, _TCHAR* argv[]) 9 {<span style="color:#
int a = <span style="color:#;<span style="color:#
int MEM_SIZE = <span style="color:#;<span style="color:#
const int GIGABTYE = <span style="color:#24*<span style="color:#24*<span style="color:#24*sizeof(char); #1GB 内存<span style="color:#
int *p = NULL;<span style="color:#
cout&&&Please input how many GB memoroy you want allocate:&&&<span style="color:#
cin&&MEM_SIZE;<span style="color:#
p = (int *)malloc(GIGABTYE*MEM_SIZE);<span style="color:#
if(NULL == p)<span style="color:#
{<span style="color:#
cout&&&Allocate Memory Error&&&<span style="color:#
}<span style="color:#
else<span style="color:#
{<span style="color:#
cout&&&Succeed Allocate Memory&&&<span style="color:#
}<span style="color:#
getchar();<span style="color:#
getchar();<span style="color:#
return <span style="color:#;<span style="color:# }
Win 7下运行(测试申请1GB内存 OK)
Win 8下运行(测试申请1 GB内存 OK)
Win 8下运行(单进程测试申请3 GB内存(总内存已 & 4GB)&FAIL)
&Win 8 下(多32位进程在64位系统下申请内存&4GB OK)-- 这个点子是在和好友讨论的时候想到的,测试了一下竟然可以
从初步实验结果来看一个32位的程序在64位的环境下不具备使用4GB&#43;内存的能力。 多个32位程序可以申请超过4GB的内存, 还有一个有趣的现象,当我申请内存大于4GB的时候,有的时候会显示内存显示成功,但是资源管理器里面没有更新,证明本质还是没有成功,是保护的原因还是其他的原因还需要深究,这将作为下一章节的题材。
64位系统对于常年运行32位程序的用户的意义只是有可以运行更多地单个32位程序的能力,32位的程序在64位系统下依然不具有寻址4GB&#43;的能力
通俗点说,就是扩大仓库的容量,让其可以放下更多货物
后续研究思路:
将上述程序在64位环境下重新编译,研究内存使用情况 那些号称支持64GB RAM的32位服务器系统,如Windows Server等,就竟单个程序可以使用到多少内存
以上是笔者一些肤浅的理解,尚待更多的研究论证,我会继续跟进这个话题也欢迎您加入这个话题的讨论。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6028144次
积分:72973
积分:72973
排名:第17名
原创:71篇
转载:4300篇
评论:842条
声明:早期转载的文章未标明转载敬请原谅,以后将陆续改过来,向原创者致敬!
有问题可留言
痞子龙3D编程
QQ技术交流群:
(6)(10)(6)(19)(17)(17)(8)(5)(8)(14)(13)(3)(44)(42)(46)(40)(123)(114)(128)(159)(168)(40)(45)(43)(38)(5)(6)(7)(2)(3)(7)(24)(5)(5)(16)(17)(16)(66)(7)(55)(2)(37)(16)(1)(10)(6)(37)(5)(31)(18)(31)(128)(333)(203)(256)(59)(78)(57)(16)(39)(10)(27)(16)(8)(26)(32)(53)(56)(45)(142)(228)(6)(10)(6)(9)(6)(9)(22)(25)(18)(83)(208)(442)(111)(32)(1)

我要回帖

更多关于 64位系统支持多大内存 的文章

 

随机推荐