Meet Neptune OS, an attempt to give seL4 a Windows personality transplant
Approved by the Department of Good Luck, You'll Need It
A new project dubbed Neptune OS intends to put a Windows-NT-compatible personality on top of the seL4 microkernel.
The project is still under development and doesn't actually run anything yet, but is nonetheless an intriguing prospect.
seL4 has its own foundation to back it and aims to be both faster and more secure than Mach. Neptune OS adds another "personality" to seL4, based on the native API of the Windows NT kernel.
In the project's own words:
It implements what Microsoft calls the 'NT Executive', the upper layer of the Windows kernel
NTOSKRNL.EXE, as a user process under the seL4 microkernel. The NT Executive implements the so-called NT Native API, the native system call interface of Windows upon which the more familiar Win32 API is built.
The eventual goal of the Neptune OS project is to implement enough NT semantics such that a ReactOS user land can be ported under Neptune OS, as well as most ReactOS kernel drivers. In theory we should be able to achieve binary compatibility with native Windows executables provided that our implementation of the NT Native API is sufficiently faithful.
In other words, it hopes to run Windows applications on something that isn't Windows.
- 20 years of .NET: Reflecting on Microsoft's not-Java
- Chromium-adjacent Otter browser targets OS/2
- 'Now' would be the right time to patch Ubuntu container hosts and ditch 21.04 thanks to heap buffer overflow bug
- Saved by the Bill: What if... Microsoft had killed Windows 95?
- How Windows NTFS finally made it into Linux
To do this, it's using code from the ReactOS project, which we've been covering for some time at The Register as it gradually grows, despite some accusations from Microsoft kernel engineers that the open-source OS uses parts of the "Windows Research Kernel" rather than being drawn from available public documentation. ReactOS previously responded to such claims by saying its code must comply with the "US standard method for reverse engineering" and that any that didn't would be rewritten. More recently, ReactOS dev Alex Ionescu spoke about methods he uses ("Reversing without reversing") here.
ReactOS itself uses some code from the WINE project to deliver Windows application compatibility.
Neptune OS is very far from that yet, though. For now, it just about manages to bring up a command prompt and let you type commands, and its developers note that "pretty much none of the shell commands actually work."
It remains a very interesting concept, though. As Microsoft seeks to encourage developers to use abstraction layers such as dot NET and WinUI, the low-level NT underpinnings may remain stable enough for third-party development teams to usefully mimic.
The increasing maturity and capabilities of WINE demonstrate this – for instance, it forms part of the Proton compatibility layer which enables commercial devices such as Valve's Steam Deck to run Windows games on Linux. ®