While Microsoft is trying to brush up Windows Vista’s image with some marketing stunts, they’re also considering what the future should bring as multi-core processors and ubiquitous access to broadband become more common. One of the concepts that’s been generating a lot of interest of late is Cloud Computing where instead of buying software packages to install on your PC you’ll subscribe to services that are run over the Internet. An area that Google has a good start in with not only popular email services such as Gmail, but also with Google Docs (online word processor and spreadsheets), Google Calendar, and Google SketchUp (3D modeler) all of which are supported by online advertising.
As usual Microsoft wants in on that action and as such are developing a cloud computing OS called Midori that may end up replacing Windows as the OS you’ll run on your PC in the future. The folks at ArsTechnica.com take a look at it:
The big excitement in Microsoftland this week has been further news of Midori. Midori is claimed to be Microsoft’s “post-Windows” operating system—a new platform for the future. The SD Times claims to have seen internal Microsoft documents describing the company’s plans for the new OS, and it says that Midori will be a commercial derivative of the Singularity project. Say hello to a cloud-computing-ready .NET OS.
Singularity’s big feature is that it is written in managed code. While Midori looks to follow suit, it is also written for a cloud computing world. Microsoft has already spoken of its plans for cloud computing; in particular, the company plans to introduce tools to enable cloud computing applications to be written as easily as normal applications are today. Midori will offer the same; the Midori platform will give developers the basic tools to write applications that can be run in massive parallel and that can withstand unreliable communications.
[…] Is Midori that long-term operating system? Well, it certainly does some of the things that a future Microsoft OS should do. The safety and portability of managed code would eliminate many of the security flaws that still regularly crop up in software. .NET already makes these bugs impossible; Singularity and Midori perform even greater analysis of software and prohibit even more bugs. To help address problems with parallel programming, Midori’s programming model uses immutable data; immutable data can be shared without locks and so prevents lock-based bugs from ever occurring.
Another way in which Midori is engineered for high concurrency is through an asynchronous architecture. Current OSes are usually largely synchronous; that is, whenever software asks the OS to do something (read a file from disk, send data over a network, etc.) the software must wait until the OS has completed the action. With an asynchronous design, the OS returns control to the software immediately, allowing the software to do useful work while waiting for the OS to finish the operation it was asked for. When the operation is finished, the OS notifies the software.
The whole thing is an interesting read if for no other reason than to get an idea of what software developers in general, and Microsoft in particular, are working on as the Next Big Thing in computing.