Midori, Drawbridge, Singularity: What Microsoft learns from operating system research

Research operating systems aren't designed to replace Windows, or even create features for Windows; they're for research.

There's always a lot of interest in Microsoft's various research operating systems (Midori, Drawbridge and Singularity and related projects), especially as the re-org last year put the people who'd been doing the research into the Operating Systems Group. Indeed, ex-head of Microsoft Research Rick Rashid was briefly in the OSG (although he's now moved on to the Office team).

But don't think of it as some kind of research takeover. It doesn't matter how many people from an OS research team move under the Windows umbrella; it still doesn't mean Microsoft is ever going to ship Drawbridge or Midori as a new version of Windows. It doesn't even mean that features from those research operating systems will ever ship inside Windows, at least in any directly recognisable form.

Read this

All About Microsoft

Microsoft watcher Mary Jo Foley's blog covers the products, people and strategies that make Microsoft tick.

Read More

It means — as you might guess from the word research — that Microsoft has been learning about new ways of building an operating system (can you make everything type safe? What does that do for performance and the ability to build applications?) or about how specific OS features work.

Unlike some projects where researchers have worked directly on features for a product (like the array microphone processing in Kinect, or voice translation for Skype), these research OS projects were research, not research and development.

Even when a feature sounds familiar, by the time it makes it into Windows or Windows Server — which have to offer backward compatibility for thousands of applications — it's very unlikely to be the same feature as in the research OS.

Take containers — a level of virtualisation that isn't about having a whole OS but about the workload or one or more applications you care about, sliced away from the OS they run on and isolated from other containers.

Docker has been getting a lot of attention as a way of doing this on Linux, but it's not a new idea. It certainly sounds familiar if you've looked into Drawbridge, which has a "lightweight, secure isolation container" called the Drawbridge picoprocess that's "built from an OS process address space, but with all traditional OS services removed". Those services shift to the library OS; Drawbridge used an 'enlightened' version of Windows, which is where the commercial OS reference comes from.

So when Windows Server adds support for containers and for Docker as Microsoft recently announced, will that be adding the Drawbridge picoprocess to Windows? Not quite, according to "Madhan A" from the Microsoft Azure team. He called Drawbridge "an internal research project that we have been innovating on, and that has helped us gain valuable experience with containers. Much of what we announced [about Docker on Windows Server] was born from the experience that we had with Drawbridge."

That's less a Drawbridge feature shipping in the next version of Windows Server and more learning from the research done in Drawbridge (and an earlier project called Xax looking at running desktop applications in a browser which also used the idea of the picoprocess) how to build containers.

There are obvious signs of Drawbridge inspiration in some Windows 8.1 function names and people who worked on Midori have added details to their resumes. But while Windows 10 and Windows Server vNext will take advantage of what Microsoft learned in its various research, this is a long way from turning a research OS into a shipping OS; still less replacing Windows with a research OS.

Really, it's about trying new ideas out and if they work, then the Operating System Group will implement them — inside Windows as we know it. 

Further reading