|
|
Subscribe / Log in / New account

Some precendent for this in VMware's ESX kernel (version 5.0 and earlier)

Some precendent for this in VMware's ESX kernel (version 5.0 and earlier)

Posted Sep 19, 2025 21:12 UTC (Fri) by tullmann (subscriber, #20149)
Parent article: Multiple kernels on a single system

In the initial versions of VMware's ESX servers (up through version 5.0), a Linux kernel would boot with (standard) command-line options restricting it to CPU 0, the first chunk of physical RAM, and a subset of the PCI devices. A subsequent loader would load the VMware hypervisor and it would manage the remaining memory, CPUs, and the few PCI devices it understood. The hard-partitioning of hardware worked surprisingly well and two very different kernels could exist in tandem on a single machine.

In a similar space, the Barrelfish OS (https://barrelfish.org/) was a "multikernel" research operating system in the 2010s that was built around separate "kernels" running on each CPU. But they worked to make the communication between cores work smoothly enough to present a single logical system to applications running on it.


to post comments

Some precendent for this in VMware's ESX kernel (version 5.0 and earlier)

Posted Sep 20, 2025 21:57 UTC (Sat) by chexo4 (subscriber, #169500) [Link]

IIRC this is how multi-core systems under the seL4 microkernel work. At least in some configurations. Something about it being simpler to implement probably.

Some precendent for this in VMware's ESX kernel (version 5.0 and earlier)

Posted Sep 23, 2025 19:31 UTC (Tue) by acarno (subscriber, #123476) [Link]

Virginia Tech's SSRG has an on-going project similar to Barrelfish called Popcorn Linux (a fun joke about multiple "kernels" ;)

In addition to running natively (e.g., multiple kernels on a single multi-core system), they also investigated running across different architectures and performing stack transformation to migrate memory between nodes.

> The project is exploring a replicated-kernel OS model for the Linux operating system. In this model, multiple Linux kernel instances running on multiple nodes collaborate each other to provide applications with a single-image operating system over the nodes. The kernels transparently provide a consistent memory view across the machine boundary, so threads in a process can be spread across the nodes without an explicit declaration of memory regions to share nor accessing through a custom memory APIs. The nodes are connected through a modern low-latency interconnect, and each of them might be based on different ISA and/or hardware configuration. In this way, Popcorn Linux utilizes the ISA-affinity in applications and scale out the system performance beyond a single system performance while retaining full POSIX compatibility.

Project Website: https://popcornlinux.org/
2020 LWN Article: https://lwn.net/Articles/819237/


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds