操作系统与应用软件中64位与32位区别在哪里
来源:191路由网 2021-01-06 11:47:19
【导读】操作系统与应用软件中64位与32位的关系相关系统问题,下面191路由网小编为大家详细解答。
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 位”听起来很正统啊。不过要是“没有”那也没啥关系,我们还有“兼容模式”。
总结:以上就是191路由网整理的操作系统与应用软件中64位与32位的关系相关教程内容,希望能帮助到大家。
相关阅读
-
-
路由器连u盘经常打不开-(U盘连不上怎么办)
路由器连u盘都打不开(U盘连不上怎么办?今天下午,一位客户从苹果机器上拆下机械硬盘,插入蒲公英路由器USB但经过测试是无法访问的,我们进入蒲公英云平台-应用中心-文件共享,本来有1T硬盘的识别率不到200M如图所示:打开文件共享,但无法访问,我们试图重新插入或访问,所以我们让客户插入移动硬盘WINDows无法直接识别系统计算机,如图所示:这说明应...
2022-08-15
-
-
进入路由器密码忘了-(进入路由器密码忘了怎么办)
忘记进入路由器密码(忘记进入路由器密码怎么办)善忘是每个人都会有的,对于绝大多数的小伙伴来说,只要连接WiFi,一般就不会再去输入密码了。时间长了,密码难免会被遗忘。在这种情况下,不要惊慌。有很多方法可以找到密码。接下来,我会根据自己的经验教你几种方法,这样你就可以很容易地找到密码。WIFI忘了密码,怎么用最简单的方法找回来?用三种方法帮你找回密码!看完这篇文章,忘记密码再也不会发生了!方...
2022-08-15
-
-
用路由器还要猫吗-(用路由器还要猫吗吗)
用路由器还需要猫吗?(用路由器还需要猫吗?吗)光猫和路由器的区别随着网络的发展,几乎每个人都在家里安装宽带,让我们随时随地在家上网。除了路由器,还有一个重要的光猫设备。许多朋友无法区分这两种工具之间的区别。他们不知道是否一起安装。今天,小编将告诉你光猫和路由器的区别。光猫和路由器的区别:1、原...
2022-08-15
-
-
无线路由器 改密码-(无线路由器改密码怎么改)
无线路由器改密码(如何更改无线路由器的密码)经常有人时间长了,换手机就忘了以前设置的。WiFi密码是什么?今天,我将教你如何不用电脑和手机修改路由器WiFi密码。如果忘记了无线路由器WIFI进入路由器控制面板查看密码或重新修改WIFI今天,我们将教您如何使用手机登录路由器进行修改WIFI密码首先,我们需要知道路由器的登录IP地址登录手机查看路由器IP地址1,找到打开...
2022-08-15
-
-
新路由2解锁-(新路由2拆解)
新路由2解锁(新路由2拆解)这个内容来自@什么值得买APP,观点只代表作者本人|作者:Stark-C2022年,我想还有人不知道路由器还能刷吗?也许有些人可能真的不知道在几天前,一个朋友给我扔了一个K2路由器,让我刷其他东西,所以我借此机会谈谈路由器的刷过程和经验(虽然这次使用K做演示,其实K1/K2/K2P刷...
2022-08-15
191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程
版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除