内核如何知道有多少个内核

问题描述

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

解决方法

谁提供有关系统上所有内核的内核信息?

这取决于哪个系统。

对于80x86 PC,固件会构造一个或多个表(现在为ACPI表),该表提供CPU列表,内核会解析这些表。

对于小型嵌入式系统(无固件),CPU的数量可能是编译时常数,或者由引导加载程序以某种方式提供(例如,“扁平化的设备树”)。