不同操作系统之间的应用是否可以兼容?
不同操作系统之间的应用是否可以兼容?
我们可以通过两种主流的操作系统,Windows 和 Linux 系统为例来讨论这个例子。
微软的 DOS 是一个实模式(地址空间只有 1MB)下、单任务、基于命令行的操作系统,因此其上完全不可能运行后续 Windows 95,98,Me 等 32 位操作系统的应用程序。反之,后面三个支持图形化界面的操作系统,其核心仍然包含 DOS 操作系统的核心与组件,因此仍然可以运行 DOS 系统的应用程序。
到了 Windows NT ,Windows XP 和 Windows 2003,其核心完全是 32 位,缺乏了以原生方式运行 DOS 应用程序的基础。在 XP 系统里只能通过兼容模式来运行 DOS 应用,到了 Windows 8 则需要安装 NTVDM 才能模拟出一套全新的执行 DOS 应用的运行环境。
而 Windows 10 的 WSL(全称是 Windows Subsystem for Linux,Windows Linux 子系统) 甚至可以兼容部分 Linux 应用。反之,Linux 下的 wine(一种 从 API 层面对 Windows 系统的模拟实现) 也可以兼容部分 Windows 应用。
评论