One personal pet peeve of mine is when people use the word "emulation" to describe things (such as VMWare) which aren't emulation.

In order for something to be emulation, it must actually emulate; it must actually convert between the processor calls of two different microchips (for example, the x86 and the PPC). It must actually take machine code, interpret into a different type of machine code, and then send the new machine code to the processor. If you do not fulfill this requirement-- if you are merely creating false hardware and allowing software (or an OS) within a protected memory space to talk to that hardware and believe it is actually running directly on top of a real instance of that hardware, you are doing something totally different; you are doing hardware abstraction. Not emulation.

Now, the subject gets a bit murky when you get into things like Wine, which do not emulate but do translate a certain type of API call (a command to the Windows API) into a certain other type of API call (a different command to linux that does the same thing, but is in the language of the APIs on the linux box). Some would claim this is a form of emulation, and they could be right; however i would still call it hardware abstraction.

Whither WINE Is Not an Emulator, however, it is quite definite that VMWare, Plex86 and Mac-On-Linux are hardware abstraction and not emulation because they run their binaries natively directly on the processor if not directly on the underlying hardware.
As i understand things the low-level device built into PPC macs that allows them to transparently run code compiled for 680x0 macs is an emulator, but the transparent abstraction layer called blue box (sometimes called Classic.app) which is built into Mac OS X and allows it to run legacy Mac OS API binaries is not.

I fear, however, that since the VMWare project appeared, the definition of emulator has changed in the public mind, and so soon i will be the one who has the incorrect definition in the language of the time, although my definition is more consistent and/or historically accurate.

Log in or register to write something here or to contact authors.