Windows 7 includes XP Mode. XP Mode is a virtualisation of XP - what you get is a copy of Virtual PC, so you can run it as a completely separate OS. XP lives all nice and safe on your Windows 7 set-up without all the hassle of a multi-boot system.
As well as XP you can install any other PC-compatible OS you like, too. But the big new feature from the marketing angle, and the main reason for its inclusion into Windows 7, is the ability to run XP software that would otherwise throw a fit.
The cynic may sneer that this is a neat way of side-stepping the issue that what was previously Windows-compatible software isn't, and that it is an admission that a real problem exists. That's what a cynic might say.
Vista never really set the corporate market ablaze. Having incompatible apps makes you think twice, even if you do get transparent effects. Hence, XP soldiered on and there are a lot of potential upgrade sales out there. Windows 7 now clears this hurdle.
It's not an ideal solution, providing full XP-compatible support would have been ideal, but this works, and you get all the joy of running multiple virtual operating systems thrown in.
Hang on, though, XP Mode is not a standard part of Windows 7. It's available only for Windows 7 Professional, Enterprise and Ultimate editions. If you want it you'll need to splash out a little more than your Home Premium Edition. So, what exactly can it do and is it worth it?
We spell it with a zed
In a nutshell a virtual system is one which runs inside another operating system in its own little playpen, it can't get out and smear jam on things. Your primary OS is safe from interference and your virtual one operates as if it was the primary one, or at least thinks that it is.
Two xp
Think of that fine and versatile actor Keanu Reeves who starred in the wonderfully scripted film The Matrix. He starts in a bed of goo living out a virtual life unaware of his actual circumstances. Your virtual OS has no idea it exists on a virtual system hosted by Windows 7. How sad.
Virtualisation works by divorcing the software from the hardware completely, encapsulating your hosted OS within a layer of software (the hypervisor) that handles all the calls to and from the hardware. It creates virtual drives, networks and the rest.
When your virtualised OS accesses the hardware the requests are intercepted and either re-routed invisibly to real hardware or emulated completely in software. Your entire virtual system lives inside one fat file on your hard drive, which the hosted OS thinks is its very own physical hard drive. How sad (again).
Okay, so running an OS inside an OS is fairly neat. What is significant is that since you now have it all wrapped up you can control where it thinks it is, specifically you can present it with any hardware it may want, whether or not the hardware actually exists or not. Hence completely incompatible combinations of software and hardware are possible, Mac on PCs or worse.
There is nothing new here of course, people started mucking about with the concept yonks ago and the delightfully clumsy word virtualisation, with a 'z', was coined at IBM in the 60s, back when computers needed separate rooms.
The technology started life in the world of servers. Here machines are often woefully under utilised, with powerful processors spending a lot of time idling and doing the crossword. Start a few virtual machines and you make better use of your hardware.
One set of hardware can effectively run half a dozen separate servers. Once you've created your virtual machines it becomes easy to move an entire server to another machine too. Just grab the virtual hard drive and shift it across, and bingo. It makes it easy to balance out the load across your kit.
Multiple OSes
Of more interest to us is the ability to host different operating systems on the same hardware, giving you two or more systems in one. Running games consoles on a PC used to be a popular target, but seems to have gone out of fashion now.
Software developers love it too, you can test an OS or application to destruction painlessly. The number of virtual machines you can run is simply limited by processor and drive capacity and not much else. You could create a machine with every version of Windows on it or something equally disturbing. Of course you'll need an OS for each virtual machine, which soon makes multiple Windows ones significantly less attractive.
There is always Linux of course, that's free. Running it on a virtual machine saves you the horror of destroying your Master Boot Record as you partition your drive after inadequate back-up procedures (you know who you are).