一旦计算机开始使用现代的64位体系结构,用户很快就意识到运行那些旧的16位应用程序是行不通的。为什么64位机器不能运行16位应用程序?
这个问题的答案可能会令人困惑,这取决于你问谁。首先,运行16位应用程序并非不可能。只是很难。其次,造成这种困难的原因在于CPU体系结构和操作系统。
困惑了吗?别担心,你并不孤单。但是当你读完这篇文章的时候,你就不会再困惑了。
我知道,你最不想读的是历史课,对吧?别担心,这个很短。理解为什么64位系统不能以本机方式运行16位应用程序也很重要。
如果你生活在80年代和90年代,那么你可能还记得那些当时所有人都认为是尖端技术的16位恐龙。
当时,是的。那些旧机器在1978年运行英特尔8086处理器。处理器能够使用16位寻址访问1Mb的地址空间。随着早期的计算机运行64KB的内存,这是一个巨大的进步,并标志着个人计算新时代的开始。
在这种模式下(称为实模式),一部分被保留给RAM,其余的被BIOS和计算机硬件(如图形卡)利用。
不久之后,80286处理器在CPU体系结构上又有了进一步的进步,能够使用16位寻址来寻址16Mb。286体系结构带来了“保护模式”,其特性不仅允许寻址更多内存,还允许多任务处理。在“实模式”下运行旧的16位应用程序并不总是那么容易,但这是可能的。
1985年,英特尔推出了下一代处理器:英特尔386。这是英特尔的第一个CPU,它一次可以使用32位对内存进行寻址,并且可以访问高达4GB的可寻址内存。当时,这对电脑用户来说似乎是一个重大突破。PC游戏即将进入鼎盛时期。
随着32位体系结构的出现,出现了保护模式的扩展版本,它不仅允许访问更多内存,而且还包括一组功能,软件可以向系统标记16位还是32位代码。这是由所谓的虚拟86模式实现的,它本质上是一个内置的虚拟8086系统。
正如您所看到的,从CPU体系结构的一个演变到下一个演进,硬件(CPU编程)和软件(操作系统和应用程序)都为所有那些仍然拥有非常旧软件的用户保持向后兼容性,这些用户仍然希望运行这些软件。对于个人电脑用户来说,这是有用的,但对于许多公司和小企业来说,这对于遗留系统来说是至关重要的。
4GB可寻址内存的限制多年来一直是32位系统的支柱。然而,随着64位处理器的发明又有了新的突破。这些系统包括一种新的模式(称为长模式),能够寻址多达1600万TB的内存。这可能需要很长时间才能成为计算机应用的限制因素。
然而,随着这一巨大进步,出现了一个重大的权衡。当用户试图运行需要长期支持的“实模式”或“虚拟8086模式”的16位应用程序时,他们发现一条错误消息,该错误消息如下:程序.exe不是有效的Win32应用程序。“
这是令人沮丧的,但这不是世界末日。用户可以使用仿真器或安装运行32位体系结构的虚拟机和能够支持传统16位应用程序的操作系统。
因此,虽然64位系统“不可能”运行16位MS-DOS应用程序,但用户使用变通方法也并非不可能。但为什么会这样?
多年来,在每一代32位处理器中,操作系统都投入了大量精力来处理较旧的16位DOS应用程序。它是使用NTVDM或NT虚拟DOS机器完成的。
这个32位应用程序在Windows操作系统中运行,模拟了一个486体系结构,能够使用虚拟8086处理16位寻址。不幸的是,“长模式”寻址不能安全地适应这种情况。相反,它需要模拟一个完整的8086处理器来支持运行DOS应用程序。
微软显然决定放弃这一努力,以支持其第一个64位操作系统的迅速发布。在其支持页面上,微软明确表示“16位MS-DOS和Microsoft Windows 3.x实用程序将不会启动。”
不道歉。根本不支持。
市场上大量的虚拟化产品无论如何都能实现这一点,微软显然没有感觉到重新投资轮子对它的最大利益。
仅仅因为64位Windows系统不支持运行16位DOS应用程序,这并不意味着这是不可能的。你只需要安装一些额外的工具就可以了。
如果你喜欢经典的DOS游戏或使用任何其他复古应用程序从良好的旧的计算,有选择。以下是四种方法,您可以在新的Windows计算机上运行它们。
在PC上运行旧的DOS应用程序最简单的方法之一就是使用模拟器。其中最流行的是DOSBox。
克里斯蒂安详细介绍了如何安装和配置DOSBox运行旧的复古游戏在您的Windows机器。
最棒的是,这些游戏大多太旧了,被认为是废弃软件,所以你可以合法下载并免费玩。
由于像windowsxp和windows7这样的操作系统可以在本机上运行16位的应用程序,因此您可以在64位系统上运行相同的应用程序,方法是在虚拟机上构建一个操作系统。
VirtualBox是最著名、最易于安装的应用程序之一。我们有一个关于如何设置和使用VirtualBox的完整指南,所以您现在就可以开始使用这种方法了。
只要确保选择正确的操作系统安装。坚持使用Windows7或更早版本,您可以立即在虚拟系统上下载并安装旧的DOS应用程序。
不管你怎么说Linux,大多数Linux发行版都有一点是正确的,那就是对16位应用程序的支持。使用PAE内核的发行版,您不局限于4GB的32位系统,因此在您的系统上运行适当的Linux发行版作为双引导是另一种选择。
有两种选择:双引导解决方案或虚拟机。或者你可以完全抛弃Windows,然后使用Linux。任何对你有用的东西。
DOSBox并不是唯一可用于运行旧DOS应用程序的仿真器。有很多很好的仿真器也可以工作。如果你是一个游戏玩家,这一点尤其正确。
Christian已经介绍了如何在任何PC上模仿准将Amiga、Raspberry Pi、Android,甚至经典的SNES。
这只是冰山一角。如果你在网上搜索,你会发现有一个不同的仿真器库,可以让你运行任何你能想象的复古应用程序。微软可能已经放弃了旧的16位应用程序,但你仍然有选择。
您没有理由认为在64位机器上运行16位应用程序是不可能的。这可能是不可能的,但正如你所看到的,有很多解决方案来完成这项任务。
...行16位的应用程序。随着windows95的出现,Windows转向了32位操作系统,它仍然保持了与16位应用程序的向后兼容性。直到WindowsVista出现,提供64位版本的Windows,与16位应用程序的兼容性才中断。不过,Linux用户有一个很好的解决方案...
...您应该注意到这个问题。更新已经结束。如果没有更新,操作系统就会失去安全补丁。 ...
...玩你的老游戏。但是你知道DOSBox可以运行完整的windows3.1操作系统吗?Windows3.1基本上是一个很大的MS-DOS程序,这意味着它可以很好地与DOSBox仿真环境配合使用。 ...
...与硬件通信,以便利用这一差异。因此,虽然32位版本的操作系统可以在64位PC上运行,但它不能利用所有额外的电源。另一方面,64位版本的操作系统根本不能在32位PC上运行。 ...
...这会带来一定的安全风险。在某个时候,旧的应用程序或操作系统中的安全漏洞将不再被修补,这使得机器成为未来恶意软件的成熟目标。 在虚拟机中运行旧版本的macOS:由于虚拟化软件(如Parallels-Lite),可以在最新版本的macO...
...的上网本和平板电脑。 带有64位CPU的计算机可以运行32位操作系统,但它们真的没有理由再这样做了。即使在64位操作系统上,也可以很好地运行32位应用程序。 为什么要安装64位版本 32位版本的Windows内存限制在4gb以内,这是一...
...:32位和64位Windows有什么区别? 最初,Windows只能作为32位操作系统使用。在32位版本的Windows上,甚至32位版本的windows10,今天仍然可用,您只能看到一个“C:\programfiles”文件夹。 此程序文件文件夹是建议您安装的程序存储其可执...
...2拥有64位处理器整整5年之久,消费者级的64位CPU和附带的操作系统甚至还没有出现在公众的视线中。 消费者对64位对他们意味着什么的困惑,以及**商对驱动程序支持不佳,严重阻碍了在21世纪的大部分时间里向64位PC的推进。2001...
...使你运行的每个应用程序都是32位的应用程序,运行64位操作系统仍然会更加安全可靠。 但是,那些应用呢?事情变得有点棘手了。首先要知道的是,64位版本的Windows可以运行32位的应用程序,但是32位版本的Windows不能运行64位...