Details of a future Microsoft operating system were revealed yesterday by David Worthington, a guy who works down the hall from me. He has apparently gotten his eyes on Microsoft documents that contained extensive details of a ground-up OS rewrite code-named Midori. Based on those documents, he reports for SD Times that Midori "will have a programming model, a platform stack and execution techniques that are intended to help developers write applications that can safely and efficiently use a greater number of hardware threads than is currently feasible," Worthington wrote.
Midori's lowest level consists of a hardware-native kernel. A second, managed-code kernel, provides operating system functions. A single scheduler, or Resource Management Infrastructure, controls resources such as I/O, memory and power management. Response time will be monitored. The scheduler will be accessible by user-level applications as well as distributed applications and cloud computing services.
Midori will be built with connectivity and concurrency as core principles, in line with modern users who want to move seamlessly to multiple devices and platforms and consume local and distributed applications. The nascent operating system will run natively on x86, x64 and ARM hardware, Worthington reports, and is intended to allow Windows applications to coexist with those for Midori. Its asynchronous-only architecture that will permit "task concurrency and parallel use of local and distributed resources" running across multiple topologiesinclusing client-server, peer-to-peer and cloud computing.
The system also will reportedly introduce a so-called Asynchronous Promise Architecture, an abstraction layer for processors and device hardware that will help facilitate "a heterogeneous mesh where capabilities can exist at separate places." A new, constrained programming model will handle state management. The presentation layer will part company with current versions of Windows to make room for screen updates of multi-threaded applications.
Midori applications will be written using .NET languages and compiled with the Bartok runtime currently under development at Microsoft. A failure model is also an objective, including elements of atomicity such as awareness of impact of cascading failure, latency, cancellation and computation restart. It's unclear whether Microsoft will incorporate existing atomicity techniques or develop its own.
Midori sprung from Singularity, Microsoft's long-range prototype operating system, and is still very much on the drawing board.