It turns out I was correct when I said Microsoft should write a new No-Legacy operating system and use Virtualisation to support old applications, because that is exactly what they are doing!
Without even knowing it, I practically described the exact operating system they are code-naming "Midori". Here’s some info:
http://www.sdtimes.com/content/article.aspx?ArticleID=32646
-------------
Midori is an offshoot of Microsoft Research’s Singularity operating system, the tools and libraries of which are completely managed code. Midori is designed to run directly on native hardware (x86, x64 and ARM), be hosted on the Windows Hyper-V hypervisor, or even be hosted by a Windows process.
One of Microsoft’s goals is to provide options for Midori applications to co-exist with and interoperate with existing Windows applications, as well as to provide a migration path.
Building Midori from the ground up to be connected underscores how much computing has changed since Microsoft’s engineers first designed Windows; there was no Internet as we understand it today, the PC was the user’s sole device and concurrency was a research topic.
Today, users move across multiple devices, consume and share resources remotely, and the applications that they use are a composite of local and remote components and services. To that end, Midori will focus on concurrency, both for distributed applications and local ones.
Midori will have provisions for distributed concurrency—or cloud computing—where application components exist in data centers. Doing so will require work in three areas: execution techniques, a platform stack and a programming model that can tolerate cancellation, intermittent connectivity and latency.
In that scenario, operating system services, such as storage, would either be provided to the applications by the OS or be discovered across a trusted distributed environment.
Programming with Midori
The Midori programming model will tackle state management, which Microsoft admits in its documentation is a challenge in Windows, by migrating APIs, applications and developers to a constrained model.
Other objectives are eliminating dynamic loading and in-process extensions; developing a failure model based on reliable transactions, so the system understands exactly which processes are impacted by a cascading failure and how to restart the computation; and having a standard way of dealing with latency, asynchronous behavior and cancellation, throughout the stack.
The Midori documents indicate that the proposed OS would have a non-blocking object-oriented framework API. This would have strong notions of immutability—in the sense of objects that cannot be modified once created—and strive to foster application correctness through deep verifiability by using .NET programming languages.
Midori’s applications would be created using .NET languages that will be compiled to native code using the Bartok compiler and runtime system, which is presently a Microsoft Search project. The Bartok compiler can typecheck machine code programs for programming errors thanks to its use of an intermediate typed language, according to the company.
The fundamentals
Unlike Windows, Microsoft intends for Midori to be componentized from the beginning to achieve performance and security benefits. It will have strong isolation boundaries and enforced contracts between components, to ensure that servicing one component will not cause others to fail, while keeping overhead minimal.
At its lowest level, Midori has two separate kernel layers: a microkernel comprised of unmanaged code that controls hardware and environment abstracts, and higher-level managed kernel services that provide the full set of operating system functionality.
According to the documents, the company plans to create Midori’s “legacy-free bubble,” both at the programming model and at the user level. The models differ in the degree to which Midori and Windows coexist, and virtualization could wind up in the mix.
Microsoft’s desire for legacy support has twin roots: It needs to establish a migration path that offers comfort to its customers, while avoiding the pitfall of users implementing virtualization to run other operating systems that would perform tasks better than Windows can. Such a future runs the risk of relegating Windows to the role of a co-resident installation that executes legacy applications.
Virtualization creates a motivation and need for Microsoft to do something to take back the initiative—and none too soon, said Jeffrey Hammond, a senior analyst with Forrester Research. “It may just be the developer crowd I run with these days … but I see more Macs in developers’ hands [today] than at any time in the last 18 years,” he added.
The documents describe the legacy-free objective as being a preemptive strike against non-Microsoft operating systems, enabling the company to compete head-on by enticing customers to replace Windows with Midori instead of a non-Microsoft OS.
As first reported by SD Times, Midori is being designed as a componentized OS and can run directly on native hardware (x86, x64 and ARM), be hosted on the Windows Hyper-V hypervisor, or even be hosted by a Windows process.
Read more in the above linked article. A very interesting set of articles.
Jason "Jase :)" Frisky
- 16 years, 4 months, 24 days ago