All good things, they say, must come to an end. And so, looking at the
guts of Windows 8, and casting the runes and sticking a finger in the
wind, it's possible to say that the end of Windows (as we know it) is
finally in sight.
Architecture is all when it comes to computer systems, and it's hard to
make a fundamental shift in architecture. You can't really do it
overnight, when you’re carrying a legacy of nearly 30 years of software
history and nearly 90% of the market. It was hard enough for Apple to
make the transition from OS 9 to the NextStep-based OS X – and that was
with around 5% of the market.
But it's delving into the architectural pinnings and the language of
Windows 8 that we get to see the first drafts of a storm that looks set
to blow through the Windows ecosystem, pushing away the old in favour of
the new. With the good old Win32 APIs starting to be left at the
sidelines, and the Desktop turned into just another application, it's
Metro and WinRT that provide the pointers to a very different future for
Microsoft's operating systems.
Perhaps the most important part of the Metro story at an architectural
level is the introduction of Contracts as a tool for inter-application
communication. Instead of developers writing their own interfaces, Metro
uses OS-level APIs as a subscription system that lets applications
communicate through an abstraction layer – without needing any prior
knowledge of application requirements and APIs. Subscribing to search
exposes data structures to the system and application-level search
tools, while a subscription to share lets data flow out of one
application into another. Gone are the old COM interfaces, or the .NET
IO classes. Instead we've got inviolate API definitions that implement
one of the key concepts of a service oriented architecture.
That's an odd approach for a monolithic platform like Windows. SOA is a
tool for building distributed systems, taking n-tier and expanding it to
Internet scale. So why would we implement SOA features in Windows?
There's of course increasing integration with Azure, but that's not the
whole story – especially while the AppFabric service bus uses .NET
Windows Communication Framework endpoints. So why implement a new
approach to SOA in a desktop OS?
What we're getting with Windows 8 and WinRT is the basis of a siloed
approach to application deployment, one where applications run in secure
partitions and only communicate through a limited number of defined and
managed interfaces. Windows 8's Metro applications are the Redmond
giant's training wheels for developers, getting them ready for a big
shift in how applications run – one that abstracts applications away
from the OS, while still letting them run at native speeds. Those silos
are the building blocks of a distributed architecture, one that works
across the many cores of tomorrow's processors (whether Intel, AMD, or
ARM).
It's an approach that lets Microsoft keep backwards compatibility for
now, and in the future – while taking advantage of the next generation
of multi-core silicon and virtualisation technologies. With Windows 8
only a year or so away, it's not that next generation platform, as it's
built for today's (and yesterday's) PCs. So what will tomorrow's Windows
be like, if it goes the Metro route? Maybe there are clues elsewhere in
Microsoft.
It's always worthwhile keeping an eye on Microsoft Research. It's taken
it time to get up to speed, but innovations from MSR are starting to
affect the rest of the business. A lot of the features in Live and Bing
have come out of research projects, as have the technologies that
underpin new hardware like Kinect and the Touch Mouse. So what MSR
projects could be influencing the future of Windows?
It's not surprising to find that MSR has
an operating systems group, which has two relevant public projects –
Drawbridge and
Singularity.
While Singularity has had a lot of publicity over the last year or so,
it’s the less well known Drawbridge that's particularly interesting in
the light of WinRT and Metro.
MSR describes
"a research prototype of a new form of virtualization
for application sandboxing. Drawbridge combines two core technologies:
First, a picoprocess, which is a process-based isolation container with a
minimal kernel API surface. Second, a library OS, which is a version of
Windows enlightened to run efficiently within a picoprocess."
That approach makes a Drawbridge-style OS an ideal platform for running
Metro-style WinRT applications. They're already sandboxed, and it’s
relatively easy for an operating system to determine the resources
required for a host picoprocess based on the WinRT calls in the
application manifest. That manifest can be used to construct a library
OS for the specific application, with contracts handling
inter-picoprocess communications securely. It's not the big bang
approach of an OS like Singularity, but it's certainly not the Windows
of old. There's the prospect of backward compatibility for Win32
applications running in a single Drawbridge picoprocess, while each next
generation application gets its own picoprocess – and more efficient
resource management. Applications are isolated, and if one gets out of
control or exhibits signs of malware, it can be shut down without
affecting or infecting the rest of the OS.
Could this be the future of Windows? It's certainly one conclusion we
can draw from WinRT. It's an approach that gives Microsoft a foundation
for a new secure operating system that takes advantage of ever more
parallel silicon, and at the same time lets older code carry on running
(if in a deprecated fashion). New code gets more resources, and
increased security – letting the Windows ecosystem build on applications
designed for WinRT and Metro on Windows 8.
If Microsoft is taking this route, it's a surprisingly canny approach to
changing the underpinnings of Windows, moving it from a monolithic to
an adaptive modular operating system. Windows 8 becomes a point of
transition, and Windows 9 (if it's still called Windows) becomes
something new that can run old and modern code together, securely, on
next-generation silicon with it all tied together by a Metro-like
launcher. If Windows 8 isn't the last Windows, it's certainly not far
from the end.
All speculation of course, but that's half the fun, putting two and two
together and guessing what will happen half a decade from now. After
all, that's what the folk in the Windows group at Microsoft need to be
doing all the time…
--
Regards,
Geogen George
|S R M University | Potherri, | Chennai, India
|C M.Tech| B Information Security & Cyber Forensics,