Contrary to popular opinion, Windows is not the only operating system in which Microsoft is investing.
Microsoft Research has developed a 300,000-line microkernel-based prototype called Singularity, the product of the largest cross-group project inside of Microsoft Research, involving about 35 researchers from the systems, networking, compiler, and testing teams, and the company has posted a 44-page white paper about it.
The paper says Singularity is a test bed for new technologies and architectural decisions to see if they’ll make for a more robust systems and applications environment by mitigating programmer-created software defects.
What would a software platform look like if it was designed from scratch with the primary goal of dependability? reads the opening of the Microsoft research report.
That was the question the Singularity team set out to answer two years ago.
Singularity is not Windows. Every line of code was written from scratch, said Galen Hunt, a senior researcher with Microsoft Research who is helping to spearhead the Singularity project.
Singularity is built strictly out of so-called Software-Isolated Processes (SIPs), which replace the conventional dual mechanisms of processes and dynamic code loading as well as encapsulate the application extensions. Every device driver, system process, application and extension runs in its own SIP.
Microsoft says that means Singularity has only one error recovery model, one communications mechanism, one security policy and one programming model instead of the layers of partially redundant mechanisms and policies in Windows now.
The technique is supposed to cure the fact that 85% of all diagnosed Windows crashes are caused by faulty device drivers and that Windows supports some 100,000 third-party device drivers.
The integrity of the SIPs, Microsoft says, depends on language safety and on a system-wide invariant that a process does not hold a reference into another process’s object space.
Singularity is written in a language called Sing Sharp, an extension of a Microsoft Research-created language called Spec Sharp that is in turn an extension of Microsoft’s Java-like C Sharp language.
Hunt said Singularity is the largest cross-group project inside of Microsoft Research, involving about 35 researchers across the systems and networking, compiler, testing and other research teams.
Like all Microsoft Research projects, Singularity has no definitive commercialization trajectory.
Microsoft could opt to commercialize it as is, embed elements of it in other products or simply rely on the learning’s from the project to inform other efforts at the company.