我知道 Linux 操作系统通常是多程序的,这意味着多个进程可以同时处于活动状态。可以有多个内核同时执行吗?
答案1
有点。查看用户模式Linux。
答案2
对于大多数虚拟化解决方案(xen、virtualbox、vmware 等),您肯定会在一台计算机上同时运行多个内核。
答案3
是的,多个内核可以同时在您的硬件上运行 - 尽管可能与您想象的不太一样。
过去几十年生产的 x86_64 系统包含在“您的”操作系统启动后继续运行的固件,并且该固件足够复杂,足以作为一个内核,甚至多个内核。
其中包括在主 CPU 上执行的 UEFI 和 SMM 固件,以及在 ME(现在的 CSME)、ISH 或 IE(这些是嵌入在 Intel 芯片组中的 x86 CPU)上运行的固件。 ISH或IE看似有限,但ME可以访问系统中的所有物理内存和大多数或所有硬件。
AMD 系统有一个平台安全处理器或 PSP,尽管从目前掌握的细节来看,它似乎不如 ME 无所不能。
Ron Minnich 在他的演讲中讨论了这些内核用 Linux 替换您饱受漏洞利用的固件; 1:34 处的幻灯片和接下来的幻灯片 (2:45) 特别相关。这些幻灯片也是第 3-4 页这个pdf。