An end to uniprocessor configurations

发布于:2025-06-13 ⋅ 阅读:(22) ⋅ 点赞:(0)

The Linux kernel famously scales from the smallest of systems to massive servers with thousands of CPUs. It was not always that way, though; the initial version of the kernel could only manage a single processor. That limitation was lifted, obviously, but single-processor machines have always been treated specially in the scheduler. That longstanding situation may soon come to an end, though, if this patch series from Ingo Molnar makes it upstream.
Linux 内核以其强大的扩展性著称,可以从最小型的系统运行到拥有数千个 CPU 的大型服务器。但最初并非如此;内核的最初版本只能管理单个处理器。虽然这个限制后来被解除,但调度器始终对单处理器机器给予特殊对待。不过,如果 Ingo Molnar 的这一系列补丁最终被上游接受,这种长期存在的特殊情况可能很快就会结束。

Initially, Linus Torvalds's goal with Linux was simply to get something working; he did not have much time to spare for hardware that he did not personally have. And he had no multiprocessor machine back then — almost nobody did. So, not only did the initial version of the kernel go out with no SMP support, the kernel lacked that support for some years. The 1.0 and 1.2 releases of the kernel, which came out in 1994 and 1995, respectively, only supported uniprocessor machines.
最初,Linus Torvalds 编写 Linux 的目标只是“能跑起来就行”;他没有太多时间去支持自己手头没有的硬件。而且他当时并没有多处理器机器——几乎没有人有。因此,内核最初版本不仅没有对称多处理器(SMP)支持,而且这种支持还缺失了好几年。1994 年和 1995 年发布的 1.0 和 1.2 版本的内核仅支持单处理器系统。

The beginnings of SMP support found their way into the 1.3.31 development release in late 1995; the associated documentation file included the warning: "This is experimental. Back up your disks first. Build only with gcc2.5.8". It took some time for the