我在这里特别想知道的是:不管底层硬件如何,Linux 内核如何在所有不同的 PC 上工作。
或者一般来说,无论 PC 硬件配置如何,任何内核(Microsoft 的 NT 内核、mac os 和 Linux)如何在任何 PC 上工作。
为了解释我的疑问,这里有一个场景:与PC-2相比,PC-1的蓝牙、键盘、wifi等配置不同,由不同的制造商开发。为了使所有这些硬件都能正常工作,我猜内核应该有硬件特定的代码来启用这些硬件。我相信内核有设备驱动程序层,它应该启用这些硬件吗?或者它只是从其他地方加载特定于设备的固件?内核中硬件特定代码的确切位置?此外,在清除我的疑问时,我遇到了 HAL、BSP。这些是什么以及这些层在内核中的位置?