|
Computing is on the verge of a major paradigm shift
with the modern rise in prominence of virtualisation. Fuelled by big
corporates interested in the consolidation and energy saving
potentials, improvements in virtualisation have hit the point where
Linux could be a casualty.
Here’s why: virtualisation is a hot item for managers of large
technology infrastructures. Case studies have proven its potential to
greatly reduce the number of server computers in an organisation
without any loss of functionality. Servers for different purposes,
servers running legacy operating systems, servers running applications
that don’t cohabit with each other nicely – even 32- and 64-bit
architectures – can all be reduced to a stack of virtualised computers
running on a far lesser number of actual servers. Each virtual server
continues to have its own identity, its own protected memory and disk
storage, its own network address and all else that defines it as a
unique fully-fledged machine.
Historically, this necessitated having a “real” operating system on the
“real” computer. The software which provides the virtual computers then
ran on top like any ordinary application, be it VMWare, Microsoft
Virtual Server, Xen or something else. The real operating system, as
per usual, was loaded with drivers to interface with the hardware. As
far as the virtual computers were concerned, the hardware was stock
standard stuff; like Neo in the Matrix the virtual environment told it
what devices it had which could be worlds apart from the real hardware.
This totally removed any dependency the virtual computers had on real
hardware configurations – meaning the virtual computer could be
relocated from one physical machine to another, with no concern needed
about hardware compatibility or drivers.
Now, this got people thinking. After all, if you have a collection of
virtual computers on your server atop a real underlying operating
system at the bottom, it seems a bit wasteful to have that non-virtual
layer there. Interest developed in scrapping that non-virtual element
out. Ok, granted, you need something to start with to map the virtual
hardware to the real hardware and to actually provide the virtual
environments in the first place. If, however, you could embed this at a
really low level – even on to the very silicon making up the processor
itself – then not only would you eliminate a layer but you’d even give
a performance boost to everything remaining.
Here’s where hypervisors come in. You’ll have heard this word; it’s a
key element in Microsoft’s strategy for Windows Server 2008 despite the
fact it was only released in beta form when that server platform was
made available. It’s what separates VMWare Server from the higher-end
enterprise level VMWare ESX series of their products.
Now, consider this: if you can effectively remove the need for a base
operating system, and the virtual operating systems don’t require
support for a raft of drivers then you can conceivably drastically
simplify what an operating system is in general.
In fact, things can go further. Fundamentally, you use operating
systems to let you run software on top of your hardware. Casting an eye
over my crystal balls, the next step in the virtualisation process, in
my opinion, will be pretty much to just run isolated applications
within their own environment. Sure, these may still be complex items –
like an e-mail or database system, not merely Solitaire – but
virtualisation will become more about the application. We’ll see
virtual PCs which themselves have the need for an initial operating
system installation be eradicated.
I think this is feasible. After all, consider successful projects like
WINE – which allows a wide range of Microsoft Windows applications to
execute on top of Linux. The way this is achieved is by providing Linux
equivalents for the Windows operating system functions that the
software applications call.
In the same way, the virtual environments of the future will provide
their own equivalents for the major functions that an operating system
performs, particularly where related to hardware. The virtual
environment is already providing a layer whereby it exposes its
fictional set of devices to the virtual computer, and translates any
calls to these into appropriate calls to the genuine hardware. Why
bother having an operating system sit between this layer and the
applications on the virtual computer? Why not just let the virtual
machine take the application request in the first instance?
Could virtualisation sound the death knell for operating systems as we
know them? Is this going to be the end of the line for Ubuntu, Fedora,
Red Hat, SUSE, even the cute sounding Puppy Linux? Is this the
computing equivalent of the famed martial arts “touch of death” move
that applies a deadly blow without the opponent even feeling it?
Ok, enough suspense. The short answer is no. Simply put, the value of
hypervisors and silicon-embedded virtualisation techniques pretty much
rely on, well, that you’re going to virtualise all your infrastructure.
Now, for home users that really won’t be the case. Some people have
enough trouble running one computer. Imagine trying to explain to them
they’ve now got several running, but all from the one box. No, for the
home desktop the operating system shall live on.
For the big end of town, this is also true for the company desktop. You
may choose to roll out a terminal server / dumb terminal platform –
that will certainly remove the requirement for a desktop operating
system – but that’s a different kettle of fish. No, apart from this,
you also won’t be telling the receptionist she’s now got to work with a
collection of assorted virtual machines.
For the data centre end of the company though, it’s a different story.
Here, virtualising your server hierarchy makes a lot of sense. And this
is the end where operating systems long to be: you can’t tell me
Windows Vista Home Basic doesn’t secretly lie on its pillow at night
wishing it were Windows Server 2008 Datacentre edition. I’m sure Ubuntu
longs to stretch itself out on a 64-bit RAID 5 SCSI rack-mounted server
with built-in ILO. What then, for them?
Proponents of hypervisors point out that a great deal of operating
system updates are for security purposes. If you have an insecure
operating system then you have compromised the security of each
application running on top of it. By contrast, it is argued,
hypervisors will be extremely small and tight pieces of code. The
likelihood of vulnerabilities is reduced by cutting out the bloat.
Yet, despite this, the outlook for Linux is positive. Fundamentally,
the hypervisor is a low-level piece of software. Whether it really is
implemented within a silicon chip or is a disk-resident piece of
software booted before anything else, the fact remains the hypervisor
is aimed at getting virtual machines up and running, and making sure
hardware interactions work seamlessly and are passed on to the
appropriate item of real hardware.
The hypervisors we’re seeing at the moment don’t implement a file
system, for instance. They’ll allow a virtual machine to think it is
seeing a raw disk, but it will still need to format and carve this up
by itself. If an application were communicating directly with the
hypervisor it wouldn’t be given a hierarchical file system, but purely
access to the tracks and sectors making up the virtual hard drive.
Similarly, the hypervisors don’t provide virtual memory but simply only
an interface to the physical RAM within the computer. There’s many
other aspects where a hypervisor, by necessity and design, falls short
of really actually doing what a user might expect. This makes sense;
after all, the hypervisor is just there to kick start the virtual
computers and provide a framework. If it did more, if it embodied all
the things a productivity app or game call out for then the hypervisor
would grow and turn into, well, an operating system. Ergo, it cannot
eradicate operating systems; to do so means it must become one.
Ironically, too, due to its free and open software licensing, some
hypervisors are being produced which are based on the Linux kernel. And
one is based on Microsoft Windows, namely Microsoft’s own offering –
which VMWare have argued makes it an unacceptable choice. Who wants to
have to keep patching or rebooting the hypervisor, they say.
The shift of the public consciousness towards virtualisation is going
to bring about another trend, and here’s where Linux will benefit. The
ideas that there is only one operating system choice, or even that the
operating system should do everything and cater for every need, will
reach the end of their useful lives.
What we’ll find is that no longer will operating systems be chosen
because they happened to pre-installed on the computer you bought.
Instead, applications of the future will choose their operating system.
Within a virtual world it will come down to what you are wanting to
achieve and then selecting the operating system that best supports
this. Much greater choice is opened up, and the platform that provides
a rich suite of productivity applications and tools – all available for
free – is pitching itself in prime position.
No, the rise of hypervisors won’t bring Linux to its knees. Instead,
the freeing of computers and apps from the base platform can only mean
more awareness and prominence of Linux instead.
Read the original article: http://www.itwire.com/content/view/19485/1168/
|