一个听起来有点“穿越”的名字又出现了:Mklinux。别急着翻旧账,这次它和当年那个基于Mach内核的实验系统不是一回事。官方说明写得很清楚,这是multikernel Linux,不是microkernel Linux。简单说,它要做的不是把Linux内核塞进另一个系统里当用户进程,而是让多个独立的Linux内核直接跑在裸机上。

名字撞了,容易让人想起旧事,但技术路线已经完全不同。新方案里仍然有一个宿主内核,负责把硬件资源切分给新启动的内核。关键区别在于:它不像虚拟机监控器那样在中间加一层抽象和翻译。没有那一层,意味着内核之间少了很多来回转换的消耗。

打开网易新闻 查看精彩图片

没有抽象层,隔离反而更彻底

理论上,这种设计能带来接近完美的内核间隔离。这也是它最主要的卖点之一,另一个卖点是性能。官方给出的基准测试里,和运行KVM客户机相比,延迟明显更低,表现从持平到快两倍不等。对在意响应速度的场景来说,这个差距不是小数字。

你可能会问:既然已经有KVM、有容器,为什么还要折腾多内核?区别就在于“直接”。虚拟机监控器要模拟硬件、翻译指令,容器共享同一个内核。而这条路是让每个内核各自独立运行,又不需要在中间垫一层软件。少了中间商,隔离和速度都更直接。

适合谁去试

官方已经放出了网站,里面有起步说明,也给了架构细节。如果你只是想在笔记本上跑个Linux桌面,这件事暂时和你关系不大。但如果你在做内核开发、安全研究,或者需要在一台机器上同时验证不同内核行为,这种“裸机多内核”的思路就值得看一眼。

它不是一个面向所有人的日常工具,更像是一块重新被捡起来的技术拼图。旧名字回来了,但玩法已经换了。真正有意思的地方不在于它叫不叫Mklinux,而在于它绕开了虚拟机这条路,给出了另一种让多个Linux内核共存的方式。

至于它能不能走远,现在下结论还太早。至少从公开的基准和设计说明看,它不是在复刻过去,而是在回答一个老问题:如果不用虚拟机,多个内核还能怎么一起跑?