Microsoft has finally made the source code of it’s research OS called “Singularity” available to general public.
Singularity is a prototype operating system coded almost entirely in managed code. It’s written using Sing#, a language derived from Spec#, which itself has roots in C#. Spec# adds Eiffel-like contracts (loop invariants, preconditions, postconditions, etc.) to C#. Sing# extends Spec# with low-level constructs required for operating system development and channels required for communication within Singularity’s microkernel.
Okay, now what does this mean?
- Singularity’s code can be mechanically proved correct. This can easily reduce number of possible programming errors by orders of magnitude.
- Singularity’s strong typing creates impenetrable memory boundaries within operating system components and processes. This allows execution of everything, including user processes in ring 0. No more CPU cycles wasted by context switching.
- And much much more :)
Other projects attempting to create a CLI-based operating systems are SharpOS (which unfortunatelly uses the aggressive GPLv3 license) and Cosmos (released under a BSD license).
EDIT: I almost forgot the download link for Singularity; you can get it from Codeplex.