为什么64位操作系统不能运行16位应用程序?
为什么64位操作系统不能运行16位应用程序?
一旦计算机开始使用现代的64位体系结构,用户很快就会意识到运行那些旧的16位应用程序将无法工作。为什么64位计算机不能运行16位应用程序?
该问题的答案可能令人困惑。一方面,运行16位应用实际上并不是不可能的。很难。其次,造成这种困难的原因在于CPU体系结构和操作系统。
感到困惑了吗?别担心,当你到本文结尾时,你将不再感到困惑。
CPU体系结构的历史
如果你生活在80年代和90年代,那么你可能会记得那些16位的“老恐龙”,当时每个人都认为它们是尖端技术。
在当时,确实如此。那些旧机器在1978年运行Intel 8086处理器。处理器能够使用16位寻址访问1Mb的地址空间。随着较早的计算机运行在64 Kb的内存上,这是一项巨大的进步,标志着个人计算新时代的开始。
在这种模式下(称为实模式),一部分保留给RAM,其余部分由BIOS和图形卡之类的计算机硬件利用。
不久之后,具有80286处理器的CPU体系结构有了进一步的发展,该处理器能够使用16位寻址来寻址16Mb。286架构带来了“保护模式”,其功能不仅允许寻址更多内存,而且还允许多任务处理。在“真实模式”下运行较旧的16位应用程序并不总是那么容易,但是有可能。
16位的结尾,有点…
1985年,英特尔推出了下一代处理器:英特尔386。这是Intel第一个可以一次使用32位寻址内存并可以访问高达4 Gb可寻址内存的CPU。当时为什么没人用64位xp,这对计算机用户而言似乎是一项重大突破。PC游戏即将进入鼎盛时期。
随着32位体系结构的出现,保护模式的扩展版本不仅保护了访问更多内存的能力为什么64位操作系统不能运行16位应用程序?,而且还提供了一组功能,软件可以向系统标记它是16位还是32位代码。所谓的虚拟86模式使之成为可能,该模式本质上是内置的虚拟化8086系统。
如你所见,从一种CPU体系结构演变到另一种,硬件(CPU编程)和软件(操作系统和应用程序)都为那些仍然拥有想要运行的旧软件的用户保持了向后兼容性。对于个人计算机用户来说,这很有用,但是对于许多公司和小型企业而言,这对于旧系统至关重要。
64位架构破坏了一切
多年来,可寻址内存的4GB限制一直是32位系统的关键。但然而,随着64位处理器的发明,出现了另一项突破。这些系统包括一种新模式(称为“长模式”),该模式能够寻址多达1600万TB的内存。要成为计算机应用程序的限制因素,可能需要很长时间。
但是,随着这一巨大进步,出现了重大的权衡。当用户尝试运行需要长期支持的“实模式”或“虚拟8086模式”的16位应用程序时,他们发现一条错误消息,内容为“ .exe无效的Win32应用程序”。
令人沮丧,但这不是世界末日。用户可以使用仿真器或安装运行32位体系结构和操作系统的虚拟机,这些操作系统和操作系统能够支持旧版16位应用程序。
因此,尽管64位系统“不可能”运行16位MS-DOS应用程序,但用户并非不可能使用替代方法来做到这一点。但是为什么会这样呢?
64位体系结构删除了NTVDM
多年来,在每一代32位处理器中,操作系统都为系统处理旧的16位DOS应用程序付出了很多努力。它是通过使用NTVDM或NT虚拟DOS计算机完成的。
该32位应用程序运行在操作系统中,并模拟了486体系结构,该体系结构能够使用虚拟8086处理16位寻址。不幸的是,“长模式”寻址无法安全地适应这一点。取而代之的是,它仅需模拟完整的8086处理器即可支持正在运行的DOS应用程序。
明确决定放弃这项工作,以支持迅速发布其第一个64位操作系统。在其支持页上明确指出“ 16位MS-DOS和 3.x实用程序将无法启动。”
无论如何,由于市场上有大量的虚拟化产品能够做到这一点,因此微软显然并不认为重新开发符合其最大利益。
如何在64位系统上运行16位应用程序
仅仅是因为64位系统本身不支持运行16位DOS应用程序,这并不意味着它是不可能的。你只需要安装一些额外的工具即可进行设置。
如果你喜欢经典的DOS游戏,或者使用旧的计算应用程序来使用其他任何复古的应用程序,则可以进行选择。你可以通过以下四种方式在新的计算机上运行它们。
1.使用玩复古游戏
在PC上运行旧DOS应用程序最简单的方法之一就是使用模拟器。其中最流行的一种是。
有趣的是,这些游戏大多数都已经过时,因此被认为是废弃软件,因此你可以合法地免费下载和玩游戏。
2.在中运行应用
由于像 XP和 7这样的操作系统可以在本机上运行16位应用程序,因此你可以通过在其中安装了其中一个操作系统的虚拟机来在64位系统上运行相同的应用程序。
为此,是最著名且易于设置的应用程序之一。
只需确保选择正确的操作系统即可安装。坚持使用 7或更早版本,你可以立即在虚拟系统上下载并安装旧的DOS应用程序。
3.使用Linux
不管你对Linux有什么看法为什么没人用64位xp,大多数Linux发行版都有对16位应用程序的支持。使用PAE内核发行版时,你不仅限于4GB的32位系统,因此另一种选择是在系统上以双启动方式运行适当的Linux发行版。
有两个选项可以执行此操作:双启动解决方案或虚拟机。或者你可以完全抛弃,使用Linux。只要适合你就行。
4.使用模拟器
不是运行旧DOS应用程序的唯一可用模拟器。有很多很棒的模拟器也可以正常工作。如果你是游戏玩家为什么64位操作系统不能运行16位应用程序?,则尤其如此。
如果你在线搜索,就会发现一个由不同模拟器组成的完整库为什么没人用64位xp,可以让你运行几乎可以想象的任何复古应用。微软可能从一开始就放弃了旧的16位应用程序,但是你仍然可以选择。
不要放弃16位
没有任何理由使你认为不可能在64位计算机上运行16位应用程序。这本来是不可能的,但是如你所见,有很多解决方案可以完成任务。