It seems like Microsoft Research is really busy these days with research operating systems. We had Singularity, a microkernel operating system written in managed code, and late last week we were acquainted with Barrelfish, a “multikernel” system which treats a multicore system as a network of independent cores, using ideas from distributed systems. Now, we have a third contestant, and it’s called Helios.
Helios is also a project coming out of Microsoft Research, and it’s described as complementary to Barrelfish – in the research sense of the word. Helios is based on Singularity, but introduces support for satellite kernels, remote message passing, and affinity. The research paper written by the team behind Helios describes the operating system as follows:
Helios is an operating system designed to simplify the task of writing, deploying, and tuning applications for heterogeneous platforms. Helios introduces satellite kernels, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics. Access to I/O services such as file systems are made transparent via remote message passing, which extends a standard microkernel message-passing abstraction to a satellite kernel infrastructure. Helios retargets applications to available ISAs by compiling from an intermediate language.
The paper once again goes into quite some detail, a lot of which I simply do not fully understand (I’m looking at you, our dear and loving readers, again). What I do understand is that Helios and Barrelfish complement each other. “Barrelfish focuses on gaining a fine-grained understanding of application requirements when running applications, while the focus of Helios is to export a single-kernel image across heterogenous coprocessors to make it easy for applications to take advantage of new hardware platforms,” the paper reads.
What do all these experimental operating systems from Microsoft’s research department mean? Well, individually, they mean very little. However, if you take a few steps back from the painting, I think all this could signify that the Redmond giant is looking at the future, a future where computers will have lots of different processing cores, who may not all share the same instruction set – for instance, the GPU who mostly just sits there wasting electrons in most machines.
The Windows NT base system as it exists now is a pretty rock-solid piece of work which can certainly take on the competition, but as time progresses, there comes a moment where NT will no longer be the good choice. I think what we’re seeing here is Microsoft hard at work trying to look not just at Windows in 2013, but the operating system in general in 2020.
I was very excited when they announced Singularity, and was happy to see an open source release at Codeplex later on.
Unfortunately the development seems to be stalled right now. The last commit was at Nov 14 2008.
Unlike the last two prototype OSes(?), this one actually had potential, since I’m already writing command line C# applications, which it apparently supports.
Hope they resurrect the project soon.