Parallel worlds

Wired:   I'm writing this column on Linux

Wired:  I'm writing this column on Linux. That's to say, I'm writing the article using a word processing program that's running under Linux, the free operating system. Except, I'm not, quite: because the copy of Linux I'm running is actually being run on a Apple laptop, which is running MacOS X, Apple's operating system, writes Danny O'Brien.

You see, I'm running a program in MacOS X called Parallels, which lets you run other operating systems under MacOS, such as Linux and Microsoft Windows.

Conceivably, I could have all three operating systems running on the same machine, with some of my programs (such as Microsoft Word) on Windows Vista, and some running on Windows XP, some running on Ubuntu Linux, some running on FreeBSD, some running on Windows 95. Of course, to do that, I suspect I would have to be running on crack cocaine myself.

Nevertheless, it is an amazing act of co-operation to have any operating systems running side by side like this - and useful, too. While my experiments would certainly seem a little whacky, many web developers, for instance, love the Mac's ability to do this, since they can see exactly what their web pages look like under Mac, Windows and Linux.

READ MORE

Before the rise of Parallels and similar programs, they would have to shuttle between separate PCs running separate operating systems.

Until recently, it has been nigh impossible to run operating systems in parallel like this, because the point of an operating system is that it is supposed to control the whole machine. There simply isn't any room in Dodge for any other cotton-picking OSes.

The trick that Parallels masters is to convince each OS that it is, in fact, the master of a whole computer, when in fact it is only occupying a small slot of it own: a small slot of memory, of processor time, even screen space.

Programs such as Parallels create "virtual PCs", that look to all intents and purposes to the programs running in them as though they're complete computers in their own right, but in fact they are utterly under the control of Parallels and its user.

"Virtualisation", as it is known, has far-reaching effects higher and deeper into the enterprise. Legacy systems can be preserved intact by running them unaware on new, and otherwise incompatible, operating systems.

Different departments with different needs can be given their own chunks of a corporate server, without interfering with other departmental needs.

If a computer gets too slow to run everything needed, you can buy a few more and seamlessly move applications off one without the users even noticing. Unfortunately, all this ingenious co-operation is perpetrated despite, not with, the operating system manufacturers.

While Apple doesn't hold back from noting that you can run Windows on its hardware, its own solution, BootCamp, requires you to reboot into Windows, rather than run Windows and its own MacOS side by side. Microsoft is very uncomfortable with the idea of ceding control of the PC to anyone who isn't Microsoft.

Before virtualisation became simpler on the new Intel Macs, the software giant bought up one of the companies making a popular system to run Windows under MacOS, and promptly killed their product. The Windows Vista user licence bans owners of its Microsoft Vista home product from running it in a virtual computer.

To continue the tug of war, Apple works hard to ensure you cannot run MacOS X on a "Virtual Macintosh" - it sincerely wants you to buy its hardware to run MacOS.

It transpires that many commercial programs have an inclination to not run under virtualisation because of the control it would grant to end-users. Oracle licenses its database software on a "per-CPU" basis, so a virtual system that could lie about the number of CPUs it was using would pose a risk to them.

Digital Rights Management (DRM) software cannot afford to run under virtual computers, because evil pirates (or frustrated users) would be able to remove its restrictions and pluck music or film out of the virtual computer and on to an iPod or unrestricted hard drive.

Linux, being an operating system that prides itself on offering its users excessive freedom, is a bit less doctrinaire about what it runs under. Even there, though, this power dynamic of control runs deep.

Getting the hooks into the Linux code that would help virtualisation to work better has not been easy, and Linux coders as much as anyone are suspicious of other parties misusing their code for uses it was not intended for.

In this Matrix-like battle of control, programmers are always going to want their programs to know what's actually going on.

If virtualisation is useful to them, users are always going to win: because, when it comes down to it, they really do control the computer they paid for. And rightly so.