Skip to navigation

PCPro-Computing in the Real World Printed from www.pcpro.co.uk

Register to receive our regular email newsletter at http://www.pcpro.co.uk/registration.

The newsletter contains links to our latest PC news, product reviews, features and how-to guides, plus special offers and competitions.

Real World Computing

Vista vision

Posted on 21 Sep 2005 at 16:10

Jon Honeyball gives you a taster of Microsoft's new operating system

Emulations

It seems that platform emulation is coming back into fashion. There are two types in operation today, one being the sort typified by the Virtual PC and Virtual Server technology that Microsoft bought up from Connectix, or its more industrial-strength VMware rival. These products work by emulating a complete computer, right down to its graphics card and mouse port, and running this software emulation on top of a host operating system. I have to say that this technology is nowadays quite marvellous; being able to boot up a Windows XP Home image whenever I need to check out something is far nicer than having to actually install the thing onto real hardware. It's also good to have a stack of different Linux images to track how things are progressing in that space. I've even used it in an emergency to boot up a Windows 2003 Enterprise Server on my Mac laptop when I was confronted by a dying server at the network of a customer; bring up Active Directory, join the existing domain, suck all the AD contents out into a safe location, hopefully complete the task before the floundering server finally peters out.

The second sort of emulation is to convert the machine code for one processor type into the code for another processor on-the-fly. Obviously, this is a hard enough job even between two versions of the same target code (for example, to run the Windows kernel on two different processor types), but it would be a minor miracle to manage to convert from one OS to another on two different processors. The former has been tried before now of course: whenever you run a 16-bit Windows application under 32-bit Windows, it actually runs in a subsystem that converts the API calls on-the-fly between a 16-bit world to a 32-bit world, and it provides the backbone of how 64-bit Windows can run 32-bit applications too.

What would be even cooler is the ability to cross-compile from one platform onto another, and to do so in real-time. This again has been used in the past to enable people to run applications on two processor platforms, when a straight code port was unlikely to happen any time soon. This was what happened for Windows NT 4 running on the Digital Alpha chip. The Alpha NT 4 version was utterly wonderful: take all the industrial strength of NT 4 and then run it on a chipset, which at that time made the contemporary Intel offerings look slow and tawdry. This was especially true in the server market - those blessed with extra-deep pockets went in for multiprocessor Alpha Servers that cost 'I can't believe it's that much'. Run SQL Server on it, and watch the data crunch before your eyes. On the desktop, things were a little more limited though. There were basically no desktop applications from Microsoft at all - no Office for example, and almost nothing from other third-party vendors. That wasn't really so surprising, because although the cost of doing the recompile was trivial, supporting the new version was just as expensive as for the original Intel platform.

This lack of desktop applications had already managed to kill off recompiled PowerPC and MIPS versions of Windows quite quickly, but for the Alpha Digital tried something really clever which it called FX32. This engine took Intel byte codes and crunched them into Alpha code, all in real-time - the code was converted as it was being executed in memory. When you quit the application, the Alpha code image was stored to disk to save incurring the conversion work overhead again when you ran the application for a second time. Obviously, some far-flung parts of the code for an application might never get converted unless you actually used that feature, so Digital also gave you the option to crunch the whole application in one pass, taking it all over to native Alpha code. FX32 worked extremely well, although there was a noticeable performance loss. Whenever I wanted to run an Intel Windows application on my Alpha it just worked, and that was more than six years ago.

1 2 3 4
Be the first to comment this article

You need to Login or Register to comment.

(optional)

advertisement

Latest Real World Computing
Latest Blog Posts Subscribe to our RSS Feeds
Latest News Stories Subscribe to our RSS Feeds
Latest Reviews Subscribe to our RSS Feeds

advertisement

Sponsored Links
 
SEARCH
SIGN UP

Your email:

Your password:

remember me

advertisement


Hitwise Top 10 Website 2008