您的位置:首页 > 其它

64位系统和32位系统的区别

2013-09-25 09:07 337 查看
一直纠结32位和64位操作系统倒底有哪些区别?32位操作系统最大只支持4G内存吗?可是明明看到服务器内存显示是大于4G的,到底怎么回事??经过一番查阅终于搞明白了。

  操作系统有32位和64位之分,主要是因为存在32位,64位的CPU,其实是依据CPU解析的字组大小而来的(也有说是寻址能力,我想可能是一样的吧),字组大小(word size)是指CPU每次能够处理的数据量,32位的CPU每次能够处理的数据量较小,因此由内存传来的数据量就有所限制了,这也导致32位的CPU最多只能支持到4G的内存(实际不止,后面会说到)。

  64位CPU在2003年由AMD公司开发出来,在此之前操作系统还不存在64位的,比如win2000系统就没有64位的,为了适应64位CPU的高效能,所以后来的操作系统都会有32位和64位之分,这也就是64位操作系统普及少,软件少的主要原因。

  操作系统32位和64位区体的区别,从百度上摘录了一下,两者之间存在的“五大不同”。

  第一,设计初衷不同。64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。

  第二,要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似“大马拉小车”:64位效能就会大打折扣。

  第三,运算速度不同。64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。

  第四,寻址能力不同。64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows Vista x64 Edition支持多达128 GB的内存和多达16 TB的虚拟内存,而32位CPU和操作系统最大只可支持4G内存。

  第五,软件普及不同。目前,64位常用软件比32位常用软件,要少得多的多。道理很简单:使用64位操作系统的用户相对较少。因此,软件开发商必须考虑“投入产出比”,将有限资金投入到更多使用群体的软件之中。这也是为什么64位软件价格相对昂贵的重要原因(将成本摊入较少的发售之中)。

  总而言之,64位操作系统,必须“上”靠64位主机硬件的支撑,“下”靠64位常用软件的协助,才能将64位的优势发挥到极致,“三位一体”缺一不可(道理很简单:操作系统只是承上启下的运行平台)。至于64位CPU的电脑可以安装32位操作系统,64位操作系统可以安装32位软件,那是设计上的“向下兼容”,不是64位设计初衷的本来含义。

  64位电脑虽然可以安装32位操作系统,但是32位电脑绝对不能安装64位操作系统。这点至关重要务必牢记,以避免盲目下载和安装。
  可是我们有很多服务器装的明明是32位的操作系统,但是内存是8G或者16G,而且操作系统也可以认出来,这是怎么回事呢?原因是PAE技术的出现,即物理地址扩展(Physical Address Extension),弥补了32位CPU寻址能力的不足。刚才说了,32位CPU最大支持4G内存,这么大的内存,对于普通的桌面应用应该说是足够用了。可是,对于服务器应用来说,还是显得不足,因为服务器上可能承载了很多同时运行的应用。PAE技术将地址扩展到了36位,这样,系统就能够容纳2^36=64GB的内存。同时,PAE技术的提出,也是为了解决在PSE技术中,大物理页面必须为4MB的限制。PAE技术在Pentium
Pro以及以后的CPU中实现,AMD公司也在Athlon以及以后的CPU中普及了这一技术。同样,目前我们使用的操作系统也都支持了PAE技术。

  也就是说我们虽然装的32位操作系统,但是因为CPU和操作系统支持了PAE,所以最大能够支持更大的内存。

  怎么知道你的CPU是否支持PAE呢?Linux系统下可以执行命令 cat /proc/cpuinfo

  输出的信息中在flags一行中可以看到支持pae,如下图,在windows系统下需要借助一些工具软件来查看。另外windwos操作系统要支持PAE需要在boot.ini文件中使用/PAE参数,如下图。





来源:http://interice.blog.163.com/blog/static/24278112201211721133646/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: