操作系统与应用软件中64位与32位区别在哪里

【导读】操作系统与应用软件中64位与32位的关系相关系统问题,下面WiFi之家网小编为大家详细解答。64位计算已经逐渐融入了我们的生活,MacOS、Linux和Windows Server系统中64位都

亲,以下就是关于(操作系统与应用软件中64位与32位区别在哪里),由“WiFi之家网”整理!

操作系统与应用软件中64位与32位区别在哪里

【导读】操作系统与应用软件中64位与32位的关系相关系统问题,下面WiFi之家网小编为大家详细解答。

64位计算已经逐渐融入了我们的生活,MacOS、Linux和Windows Server系统中64位都已经成为主力,而64位的Windows客户端也得到了很好的推广。但是,64位却然很多人“望而生畏”,因为大家都不熟悉 64位计算的特性,也担心所谓的“兼容性”。其实没有必要担心这些,64位是一个兼容原有32位的扩展平台,下面将详细的进行说明。

历史发展

我们平常桌面电脑使用的所谓64位平台其实是 x86-64,也就是说在原有的 x86 平台上实现 64 位。什么是 x86 平台呢,也就是 Intel 在 8086 之后一系列处理器中使用的架构,8086 是 16 位的,后来扩展到 32 位的 80386,之后一直沿用就形成最流行的的 32 位处理器系列,这种架构也叫做 IA32(Intel 实现32位),注意 AMD 也是使用 Intel 的技术。

32 位 x86 处理器经过大力发展,性能已经比较强大,完全适合于桌面计算机和通用服务器,用户和开发者数量庞大。但是 32 位 CPU 的内存寻址能力(可访问 4G 内存)有限,于是 AMD 公司率先开发出了 x86-64(也称为 AMD64)架构处理器,它完全可以实现 64 位计算。后来 Intel 自然不会示弱,也开发了EM64T(扩展内存 64 位技术),也就实现了和 AMD64 几乎一样的 IA32e(Intel 实现32位扩展)架构处理器。

当前,主流的Intel/AMD处理器都是准64位处理器。

但是要注意的是在 AMD64 诞生之前, Intel 和 HP 等公司合作开发了 IA64 (Intel 实现64位)架构,这个是一个全新的 64 位架构,不兼容原有的 32 位程序,只能通过模拟器模拟执行,而且效果完全不尽人意。不过这和我们现在讨论的 64 位没有关系,这大概就是误解的来源之一。

硬件实现

那么,64 位计算是如何实现的呢?首先要说明 x86-64 是站在 x86 的肩膀上的,并没有另起炉灶,CPU 指令长度(即指令占有的二进制位数)不变,原有的指令集也一律保留,所以 x86 和 x86-64 总体的架构是一致的,指令完全兼容。改变的部分,原有通用寄存器容量均增长为 64 位,顺便还加了 8 个,同时增加了 8 个 128 位的 XMM 寄存器,内部总线(即 CPU 部件间的数据通道)宽带也增至 64 位或更多。当然还有增加用于支持这些寄存器的相关指令。由此可以看出,CPU 处理的数据均支持 64 位,内存编址理论上也可达到 2的64次方 个地址空间,但由于是在 x86 的架构上构建的 64 位计算,64 位线性寻址能力还不成熟,实际上的可编址并没有这么多,但可改进。

之前也一再强调,x86-64 只不过是 x86 的扩展,因此现有的 64 位处理器可以同时运行 32 和 64 位程序。下面以 Intel 的技术(AMD 的原来其实一样)为例说明。具体情况要分为下面几类:

1. 没有激活 64 位(传统模式/ IA32 模式)。也就是没有为机器安装 64 操作系统,只使用 32 位操作系统。这时 CPU 只会工作在纯 32 位模式,第二节中提到的硬件和指令都被屏蔽掉了。

(下面这些是涉及 32 位模式和兼容 16 位程序指令的,这里就不再详细说明了。)

1.1. 实模式

1.2. 虚拟 8086 模式

1.3. 保护模式

2. 已经激活 64 位。这时已经安装 64 位操作系统,操作系统在启动时就将 CPU 置为 64 位工作状态。所有新寄存器、扩展寄存器和指令都被激活并可用。

2.1. IA32e 模式/ EM64T 模式。这时正在运行 64 位程序,CPU 完全以 64 位特性工作。

2.2. 兼容模式。这就是在 64 位系统下运行 32 位程序的模式了。具体的情况下面会详细说明。

软件实现

在兼容模式下,支持 x86-64 的 64 位操作系统就要起到协调作用了,它首先要是识别程序的平台性质,如 16 位(Windows x64 并不支持 16 位子系统,因此无法执行 MS-DOS 16 位程序)、32 位,还是 64 位。如果是 32 位,就在相应的程序指令前加上 32 位标志,CPU 遇到这个标志时,就不会把程序应用的 64 位新特性中,为程序指定 32 位寄存器(虽然部分 32 位寄存器是 64 位寄存器的前一部分,但它们名字是不相同),内存空间也重新映射或进行必要转换(这还不太确定)。也就是说,32 位程序所看到的寄存器仍然是 32 位的,内存仍然只能访问 4G 或以下,它们不会发现 CPU 有任何异常。

对于操作系统的软件部分,就拿 Windows x64 来说,我们可以发现,它比对应的 32 位系统要臃肿一些,部分原因是 64 位指令数据要长一些,单个程序会大一些。但更明显的是操作系统中的很多东西都是“双份”的,也就是分别准备了 64 位的和 32 位的,这些主要是平台资源(如 .NET 框架)、库资源(如 Visual C++ 库)和一些底层的系统工具(如 CMD、DXDiag)。更明显的表现是,打开系统分区,我们就能发现程序文件夹“Program Files”有两个,一个用于 x86-64 软件,另一个则用于 x86(32位)软件。这可说明,不仅硬件完全支持 x86/x86-64,操作系统也把这两个平台放在平等的地位。

随着 64 位操作系统的推广,越来越多的软件开发者会同时在 32 位和 64 位环境下进行软件测试,保证软件的可靠性。但是要他们统统开发纯 64 的版本是不现实的,虽然从 x86 过度到纯 x86-64 理论上只要重新编译,原来的代码可以不作任何修改,但有时并不这么简单,同时还要考虑经济效率(再次开发是要花钱的),再说一些软件并不需要用的用到 64 位的计算特性(所以也没有修改和重新编译的必要)。所以就放心的用那些已经写明支持 x86 64位平台的程序好了,就算没有声明支持 x86-64 也是可以运行的。

兼容问题和解决方案

对于任何一个新的操作系统,都会用不兼容的情况。如果遇到不兼容,应该先考虑是否是操作系统自身升级带来的。举个例子,对于一个为 Windows XP 开发的程序如果在 Windows 7 x86 上运行没有问题,那在 Windows 7 x64 上运行应该也不会有问题。当然还是不推荐使用已经过时的程序。

另一点需要注意的是,前面已经提到那些需要准备“双份”中的 32 位的平台或库资源是否安装了,它们是支持开发软件的基础,32 位和 64 位必须一一对应。如果缺失了相应的 32 位版本,需要它支持的 32 位程序自然不能运行。解决方法就是使用程序的安装向导重新安装(而不是使用绿色安装包),或者查找程序说明后再到微软下载中心下载缺失的组件。

推荐使用 64 位而不用 32 位的情况

和硬件打交到的驱动程序,因为他们的底层工作特性,64 位是必不可少的。这就是为什么 64 位操作系统推广缓慢的原因,也是 64 位“兼容性差”的表现。还好当前硬件厂商都默认发布 Windows 64 位版本。

除了驱动程序还有什么软件必须用 64 位的?这个并不好说,一般说来是那些需要频繁处理大量数据或者需要占用很多内存空间(甚至会超出 4G 内存空间)的程序。比如:

一些大型的开发平台或服务器平台,如 AutoCAD 、Photoshop 和 SQL Server 等;

编/解码器,如 PotPlayer 及对应解码器,如果你要看一些质量很高的电影,用 64 位软件渲染自然会流程一些;

一些频繁使用的工具,如果你要 Internet Explorer 一次同时打开十几个页面,或者要杀毒软件监控全部文件和数据区,那还是用 64 位的吧。

至于其他小巧的软件,就没必要这么纠结了,如果有 64 位的就用,没用就用 32 位的替代。不过说实话,我们都希望用 64 位,即使软件性能没有什么改进,至少运行效率会高一些,还有“原生 64 位”听起来很正统啊。不过要是“没有”那也没啥关系,我们还有“兼容模式”。

总结:以上就是WiFi之家网整理的操作系统与应用软件中64位与32位的关系相关教程内容,希望能帮助到大家。

以上就是关于-常见问题-(操作系统与应用软件中64位与32位区别在哪里)的教程!

原创文章,作者:常见问题,如若转载,请注明出处:https://www.224m.com/103347.html

(0)
常见问题常见问题
上一篇 2021年7月12日 21:34
下一篇 2021年7月12日 21:40

相关推荐

  • 一个路由器怎么连接两台电脑?

    路由器怎么连接两台电脑? 最近看到网上有不少网友在咨询这样的问题,其实关于设置好的路由器连接电脑的方法是很简单的,只要将电脑与路由器的任一个LAN口连接即可。下面一起来看小编总结的相关知识。路由器设

    2020年5月27日
  • 怎么删除双系统中的一个系统

    原标题:"小技巧教你删除双系统中的一个系统"相关电脑问题教程分享。 - 来源:WiFi之家网。不少人在给电脑安装系统的时候都会安装双系统,这样在生活上和工作中都能提供很大的帮助。但是有时候不需要用到双系

    2021年8月22日
  • tplink路由器能连接但不能上网怎么办?

    电脑和手机可以连接到tplink路由器,但是连接后不能上网,这是怎么回事?答:TP-Link路由器能连接但不能上网,说明你的TP-Link路由器与宽带运营商的服务器之间未建立连接;宽带故障,设置问题,路由器问题都会出现这样的情况,可以按照下面的方法操作。注意:如果原来的旧路由器可以上网,用新买的TP

    2021年5月26日
  • 笔记本连接网线怎么上网设置登录

    【导读】笔记本连接网线怎么上网设置,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。笔记本连接网线具体方法如下:  1、首先打开电脑点击屏幕

    2021年7月7日
  • Win10更新创意者版本卡在登录界面无法进入系统解决方法

    原标题:"Win10更新创意者版本卡在登录界面无法进入系统怎么办"相关电脑问题教程分享。 - 来源:WiFi之家网。Win10创意者更新发布已经后一段时间了,最近爆发的勒索病毒对于创意者版本没有任何影响

    2021年7月21日
  • 电脑硬盘无法分区格式化解决方法

    原标题:"电脑硬盘无法分区和格式化的原因及解决方法"相关电脑问题教程分享。 - 来源:WiFi之家网。电脑的硬盘可以正常使用,但却不能进行分区和格式化,以为是中毒了,可是杀毒后发现并没有中毒,这是怎么回

    2021年7月29日
  • 如何通过光猫指示灯判断网络故障(贝尔光猫)

    前面的我和大家一起认识了一下ZTE中兴光猫各指示灯的代表的意义和作用,大家根据具体情况可以轻松解决简单的网络故障(中兴光猫具体参考:如何通过光猫状态判断网络故障?)。但是有一些朋友就很疑惑:我家用的

    2020年5月31日
  • wifi密码忘记了要怎么查看?(忘记了怎么查wifi密码?)

    问:忘记了怎么查wifi密码? 家里自己的wifi密码忘了。有没有办法查一下原来的wifi密码? 答:无线wifi密码是在无线路由器中设置并保存的。 因此,当您忘记wifi密码时,…

    2022年1月25日
  • 错误代码10021解决办法

    【导读】错误代码10021是什么意思,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。网络机顶盒错误代码10021的可能原因:  1、机顶盒

    2021年8月20日
  • 路由器如何设置合适的信道提高WiFi速度

    虽然现在我们的生活几乎离不开WiFi,但WiFi信号时好时弱,网速时快时慢的问题实在让人抓狂,大家也知道影响WiFi信号的原因有很多,例如被人蹭网、信号干扰、路由器本身的传输速率限制等等。长期以来我

    2020年6月8日