博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
32位和64位的操作系统的差异
阅读量:5886 次
发布时间:2019-06-19

本文共 2356 字,大约阅读时间需要 7 分钟。

hot3.png

      记得有一次花好长时间装了64位win7系统,谁知道在进行一些操作时卡的不行,随后不得不换回了32位,直到现在才搞清楚原因!

32位&64位操作系统

      32位和64位操作系统是指,CPU一次处理数据的能力是32位还是64位,这里涉及到的是处理器运算位数。简单的说32位系统的地址总线是32位的,而64位系统的地址总线是64位的。

      目前我们可以购买到的处理器基本上都是64位系统的处理器,不过这里的64位并不是理论上真正的64位处理器,因为现在的AMD和Inter的64位CPU并不是真正意义上的64位CPU,只是进行了部分64位的改进,比如64位的内存寻址等,依然保持了32位多数技术。这里涉及到了32位与64位系统的内存寻址问题,其实这也是32位系统与64位非常大区别的一块。一般来讲32位的CPU对于我们来讲是最理性的CPU,也是目前绝大多数软件开发设计的平台,在内存寻址方面32位系统的最大内存寻址空间是2的32次方= 4294967296(bit) = 4(GB)左右。而64位系统最大内存寻址空间是2的64次方= 4294967296(bit)的32次方 =数值大于1亿GB。这里也就是说32位系统的处理器最大只支持到4G内存,而64位系统最大支持的内存高达亿位数。

      如果目前的处理器全是理论的64位,那么现在市场上的软件将全部被淘汰或全部需要重新设计,显然这是不可能的,这也还需要相当一段时间去发展。目前的64位的操作系统针对64位CPU设计的,增加了一些64位的指令,但还是和32兼容的。对于我们普通用户来讲64位系统意义不大。真正的64位技术是针对大型机械或大型服务站开发使用的。目前我们可以在市场上可以看到一些win7系统使用的是64位操作系统,其实理论上也算不上,只是在内存寻址一小块上做了一些64位改进,我们也可以看到目前一些win764位系统虽然兼容32位,但依然安装不了部分游戏软件。

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呢?系统下可以执行命令 cat /proc/cpuinfo输出的信息中在flags一行中可以看到支持pae,如图。

220104_XogZ_3497124.png

转载于:https://my.oschina.net/adailinux/blog/1058165

你可能感兴趣的文章
LeetCode 700——二叉搜索树中的搜索
查看>>
LeetCode 4——两个排序数组中的中位数
查看>>
第58节:Java中的图形界面编程-GUI
查看>>
解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab...
查看>>
CentOS7 0 安装 RocketMq
查看>>
iOS移动安全-Charles (五)
查看>>
给自己出的iOS面试题
查看>>
Privacy Policy
查看>>
iOS tableview嵌套collectionview
查看>>
nuxt.js基于ssh的vue通用框架
查看>>
字节跳动、腾讯后台开发面经分享(2019.5)
查看>>
【分布式共识三】拜占庭将军问题----书面协议
查看>>
hashMap 与concurrentHashmap
查看>>
请停止代码注释
查看>>
设计模式之 - 策略模式
查看>>
Flutter环境配置
查看>>
谈谈 Markdown 编辑器
查看>>
Canvas -- 网页特效学习小记
查看>>
PHP错误和异常
查看>>
Python3之enumrate和range对比及示例
查看>>