为什么 Windows RT 无法运行常规 Windows 程序?

为什么 Windows RT 无法运行常规 Windows 程序?

Windows RT 有何特殊之处,导致它无法运行非来自应用商店的常规 Windows 程序?

我知道 Windows RT 是与 ARM 处理器一起使用的,但我的一些旧 Windows 98 程序在 Intel Pentium 上运行良好,在更现代的 AMD 处理器上运行良好。我想了解 ARM 和 Windows RT 有什么特别之处。

答案1

您的 Intel Pentium 和 AMD 示例都是相同 Intel/AMD x86/x64 CPU 架构的样本。
尽管它们之间有几代 CPU,但它们仍然大体上兼容。(或者更好地说:较新的 CPU 主要向旧 CPU 中已经存在的相同核心添加功能。)
这意味着为旧 CPU 编写的(表现良好的)软件仍然可以在较新的 CPU 上运行。

然而,ARM 是一种与 x86/x64 完全不同的 CPU 架构。ARM
CPU 内部使用的语言完全不同,它们根本不理解英特尔 CPU 使用的语言。(反之亦然。)
这基本上可以比作一个只会说英语的人试图阅读中文文本。他不会走多远。

Windows RT 是专为 ARM 环境而设计的特殊 Windows 版本,因此无法运行为常规 Windows 原生设计的程序。(顺便说一下,Windows Mobile 和 Windows IoT 也适用于 ARM。)

答案2

Windows RT 有何特殊之处,导致它无法运行非来自应用商店的常规 Windows 程序?

微软已经锁定Windows RT。

  • Windows RT 设备实现了安全启动,不允许禁用它或安装不同的密钥
  • Windows RT 仅运行经过签名的二进制文件,因此未经批准的第三方代码无法运行。

上述内容与 ARM 无关 - 没有什么可以阻止 Microsoft 制造具有上述行为的非 ARM 设备。Windows 支持一种配置,其中只有签名的二进制文件可以长时间运行,并且可以使用安全启动锁定较新的系统。所以这不是什么新鲜事,尽管在 RT 系统上您无法禁用这些选项。

微软采取上述措施是为了提供类似于苹果 iPad 的设备体验 - 例如,程序经过审查、批准、沙盒化,并且操作系统无法修改。

我知道 Windows RT 是与 ARM 处理器一起使用的,但我的一些旧 Windows 98 程序在 Intel Pentium 上运行良好,在更现代的 AMD 处理器上也能正常运行

AMD 一直生产与英特尔兼容的 CPU,特别是与英特尔的“x86”架构兼容的 CPU。即便如此,AMD 和英特尔芯片在某些新功能的实现上还是有所不同——差异足以让程序知道它在哪种 CPU 上运行并稍微改变它的功能,但差异还不至于让大多数程序无法运行。

ARM 是一种完全不同的 CPU,它是一种新设计(由一家名为“Acorn RISC Machines”的英国公司设计),并且具有完全不同的架构。它与 Intel 不兼容。

相关内容