内核如何知道有多少核

How does kernel know how many cores there are

我想知道 Linux 内核是如何识别系统上所有可用内核的?出于调度程序的目的,我假设内核必须知道有多少个内核,谁提供有关系统上所有内核的内核信息?

Who provides kernel info about all the cores on the system?

要看是哪个系统。

对于 80x86 PC,固件构造 table/s(现在是 ACPI 表),它提供 CPU 列表,内核解析这些表。

对于小型嵌入式系统(没有固件),CPU 的数量可能 compile-time 不变或由引导加载程序以某种方式提供(例如“扁平设备树”)。