The Windows 7 craze is barely over, and yet the internet is already buzzing with the next big thing from Microsoft: a project called Midori. The SD Times claims to have seen internal Microsoft documents detailing what Midori actually is, and they say it’s the clean-break from Windows many of us have been waiting for. The SD Times article is heavy on the details, and quite technical, but luckily Ars Technica provides a more accessible summary of what Microsoft has in store for Midori.
Microsoft promised an operating system written in managed code a long time ago, but instead we got Vista – the managed code came with too many compatibility problems. Midori, being based on Singularity, is written entirely in managed code. In addition, it is built for a ‘cloud computing’ world.
According to Ars’ Peter Bright, Microsoft is facing two major problems in its future operating systems strategy. We are all very familiar with the first problem: compatibility. The soft and hardware world is ever changing and evolving, and Microsoft’s commitment to providing as much backwards compatibility as possible is holding the development of its flagship product back. Many have advocated using a virtual machine for backwards compatibility, much like Apple did with Mac OS 9 in Mac OS X, or os/2 with DOS and Windows 3.x. This would allow Microsoft to make a clean API break, without wrecking backwards compatibility.
Midori seems to be doing just that, while allowing for a rather clever migration path. Midori will not only run as a stand-alone operating system, but also under the Hyper-V hypervisor, and even as a process under Windows. Bright explains that the migration path is a three-stage process:
Initially, then, Midori might work as just another Windows program used for cloud applications. As Midori applications become more abundant and can be used for more day-to-day computing tasks, it can run as a complete OS under Hyper-V, so the machine would be shared between a (legacy) Windows virtual machine and a (new and shiny) Midori VM. Further still into the future, as Windows applications become less and less necessary, Midori can be run as the sole OS on a machine, with the occasional Windows app relegated to a virtual machine.
The second problem arises from the cloud computing thing. Being geared for cloud computing means you need to have the ability to run on not 2 or 4 cores, but maybe hundreds, thousands of them. Developing for multiple processors or cores is already a major challenge for developers today dealing with a few cores, so you can imagine how complicated things get when we’re talking hundreds of cores. With Midori, Microsoft is aiming to make it significantly easier to do parallel programming, enabling programers to efficiently utilise the benefits of having a vast amount of cores available.
This is all still speculation at this point, as Microsoft’s official response when inquired about Midori is that it is an incubation project, and one of many, at that. It is far too early to claim that Midori is the next Windows, just as it was far too early to claim that Singularity was the next Windows. Microsoft Research is a big place with lots of interesting projects going on, and Midori seems to “just” be one of them, no more, no less.
I concur with what Peter Bright concludes: developing an operating system to supersede Windows that is “fundamentally designed for cloud computing” seems like a “risky gamble”. As Bright concludes:
Midori could be anything from a complete dead-end, to the OS 95 percent of the world will be running in five to ten years.
I suspect that the truth will lie somewhere in between; a future Microsoft OS will use virtualization to provide backwards compatibility, and that future OS will use managed code. Finally, the asynchronous, networked, fault-tolerant parts will materialize within the next year as part of Microsoft’s cloud computing initiative – a software platform, libraries, and tools. Indeed, this cloud computing platform might be Midori.