为什么64位操作系统不能运行16位应用程序?

一旦计算机开始使用现代的64位体系结构,用户很快就会意识到运行那些旧的16位应用程序将无法工作。 为什么64位计算机不能运行16位应用程序?

该问题的答案可能令人困惑,具体取决于您问谁。一方面,运行16位应用实际上并不是不可能的。很难。其次,造成这种困难的原因在于CPU体系结构

感到困惑吗?别担心,您并不孤单。但是到本文结尾时,您将不会再感到困惑。

CPU体系结构的历史

我知道,您最后要阅读的一本书是历史课,对吗?不用担心,这是一个简短的说明。了解为什么64位系统不能在本地运行16位应用程序也很重要。

如果您经历了80年代和90年代,那么您可能还记得那些古老的16位恐龙,当时相信是尖端技术。

当时是。那些旧机器在1978年运行 Intel 8086 处理器。该处理器能够使用16位寻址访问1Mb的地址空间。随着早期计算机运行64 Kb内存,这是一个巨大的进步,标志着个人计算的新时代的开始。

在这种模式下(称为 Real模式),一部分留给了RAM,其余的留给了BIOS和图形卡之类的计算机硬件使用。

不久之后,CPU架构有了进一步的改进,采用80286处理器,能够使用以下地址寻址16Mb 16位寻址。 286架构带来了“保护模式",其功能不仅允许寻址更多内存,而且还允许多任务处理。在“实模式"下运行较旧的16位应用程序并不总是很容易,但是有可能。

1985年,英特尔推出了下一代处理器:英特尔386。一次使用32位地址存储器,并且可以访问高达4 Gb的可寻址存储器。当时,这对计算机用户而言似乎是一项重大突破。 PC游戏即将进入鼎盛时期。

随着32位体系结构的到来,保护模式的扩展版本不仅允许访问更多内容,内存,但是它包括一组功能,软件可以向系统标记是16位还是32位代码。 虚拟86模式使之成为可能,该模式本质上是内置的虚拟化8086系统。

如您所见,从CPU架构到Linux的一次演变。接下来,硬件(CPU编程)和软件(操作系统和应用程序)都向所有仍具有要运行的旧软件的用户保持向后兼容性。对于个人计算机用户来说,这很有用,但是对于许多公司和小型企业而言,这对于旧系统至关重要。

多年来,对于32位系统,可寻址内存的4GB限制仍然是关键。但是,随着64位处理器的发明又出现了另一项突破。这些系统包括一种新模式(称为 Long模式),该模式能够寻址多达1600万兆兆字节的内存。成为计算机应用程序的限制因素可能还需要很长的时间。

然而,随着这一巨大进步,出现了重大的取舍。当用户尝试运行需要长期支持的“实模式"或“虚拟8086模式"的16位应用程序时,他们发现一条错误消息,内容为“ Program.exe并非有效的Win32应用程序。"

这很令人沮丧,但这还不是世界末日。用户可以使用运行32位体系结构和能够支持旧版16位应用程序的操作系统的仿真器。

因此,尽管64位系统“不可能"运行16位MS-DOS应用程序,但是用户并非无法使用解决方法来做到这一点。但是为什么会发生这种情况?

64位体系结构删除了NTVDM

多年来,每一代32位处理器中,在操作系统上都付出了很多努力。用于系统处理较早的16位DOS应用程序。

此32位应用程序运行在Windows操作系统中,并模拟了一个能够使用虚拟8086处理16位寻址的486体系结构。不幸的是,“长模式"寻址无法安全地适应这一点。取而代之的是,它只需要模拟一个完整的8086处理器来支持正在运行的DOS应用程序。

Microsoft明确决定放弃这项工作,以支持迅速发布其第一个64位操作系统。 。 Microsoft在其支持页面上明确声明“ 16位MS-DOS和Microsoft Windows 3.x实用程序将无法启动。"

没有道歉。完全不受支持。

无论如何,市场上有大量能够实现此目的的虚拟化产品,微软显然认为重新发明轮子并不符合其最大利益。

仅仅是因为在64位Windows系统上本机不支持运行16位DOS应用程序,所以这并不意味着不可能。您只需要安装一些额外的工具来进行设置即可。

如果您喜欢经典的DOS游戏,或者使用过去很不错的计算应用程序来使用其他任何复古的应用程序,都可以选择。您可以通过以下四种方法在新的Windows计算机上运行它们。

在PC上运行旧DOS应用程序最简单的方法之一就是使用模拟器。 DOSBox是最受欢迎的游戏之一。

由于Windows XP和Windows 7之类的操作系统可以在本机上运行16位应用程序,因此您可以通过在其中安装了其中一个操作系统的虚拟机来在64位系统上运行相同的应用程序。

VirtualBox是最著名且最易于设置的应用程序之一。我们提供了有关如何设置和使用VirtualBox的完整指南,因此您可以立即开始使用此方法。

只需确保选择正确的操作系统进行安装。坚持使用Windows 7或更早版本,您可以立即在虚拟系统上下载并安装旧的DOS应用。

说说您对Linux的看法,大多数Linux发行版都有权支持16位应用程序。使用PAE内核发行版时,您不仅限于4GB的32位系统,因此在系统上以双启动方式运行适当的Linux发行版是另一种选择。

有两个选择这:双引导解决方案或虚拟机。一切对您都有用。

DOSBox并不是唯一可用于运行旧DOS应用程序的模拟器。有很多很棒的模拟器也可以正常工作。

Christian讲述了如何在任何PC上模拟Commodore Amiga,Raspberry Pi,Android甚至经典SNES。

这只是冰山一角。如果您在线搜索,就会发现一个由不同模拟器组成的完整库,可以让您运行几乎可以想象的任何复古应用。微软可能从今天起就放弃了旧的16位应用程序,但是您仍然可以选择。

不要放弃16位应用程序

标签: