windows - Windows 如何在每个处理器上运行?
问题描述
我希望这不是有史以来最愚蠢的问题,但是在我学习创建操作系统的过程中,我想到了这一点,并且没有任何研究可以让我取得任何进展。
怎么样,当您在计算机上安装 Windows 时,不管底层处理器如何,它都能正常工作?
假设您有一个 32 位的 Windows 副本。如果每个 CPU 的架构不同,它如何能够在每个 32 位 CPU 上运行?我看到很多资源说引导加载程序(您的操作系统开始启动的地方)是用汇编编写的(与您的处理器指令集相关联)。在这种情况下,为什么 Windows 32 位操作系统能够在 Intel x86 和 AMD 上运行?
例如,如果我在 x86 中编写了一个引导加载程序,我最终可以制作一个 ISO 并将其作为我的“主要”操作系统引导。但这不会与我为其编写它的 CPU 相关联吗?所以如果我是一家大公司,我如何让我的引导加载程序适用于其他 CPU?
谢谢!对不起,如果这是一个模糊或重复的问题,但老实说我找不到答案。
解决方案
“32 位 Windows”只能在配备 X86 32 位处理器的 PC 上运行。Windows 包括适用于各种主板和设备的驱动程序,并且可以从 CD 或 USB 为 Windows 安装中包含的驱动程序尚未支持的设备安装驱动程序。
某些版本的 Windows 可以在多个平台上运行,但需要专门为该平台构建的 Windows。最常见的情况是 32 位(在 X86 上运行)或 64 位(在 X86 X64 上运行)的当前版本的 Windows。Windows NT 4.0 具有适用于 Alpha、MiP、PowerPC 和 32 位模式的 PC 的版本。XP 是第一个拥有 X64 版本的 Windows,它也可以在 Itanium 上运行。除了 32 位 (X86) 和 64 位 (X86 X64) 版本之外,Windows 10 还具有 ARMV7 和 ARM64 版本。
推荐阅读
- java - 如何将显示传递给 qsub 命令?
- qt - 在“AppListView”中是加载器应该使用“SimpleRow”加载组件的空白位置
- postman - 我可以在 newman 中使用邮递员集合变量吗?
- r - R - 如何在 R 中绘制核心数据?
- sql - 如何在 postgresql 中存储多边形数据?
- gradle - asciidoctor 在 gradle 中未运行(或未正常运行)
- php - 未知单词来自 wordpress 中的页面
- java - 为什么在内部存储而不是外部存储中创建新文件夹?
- python - Python Speech_recognition.UnknownValueError
- javascript - 从客户端站点自动预填充网络表单