Free Republic
Browse · Search
General/Chat
Topics · Post Article

To: xmm0

Can you analogize? I am having some difficulty understanding exactly the differences. I'm trying to learn, though.


9 posted on 10/25/2005 2:52:22 PM PDT by LibertarianInExile (Miers: A meticulous, detail-oriented woman...who forgets to pay her bar dues twice.)
[ Post Reply | Private Reply | To 8 | View Replies ]


To: LibertarianInExile

Virtual Machines: WINE, VMWare
Virtual Machines operate by running the program on the computer (Host PC) and emulate services. So a Windows program will operate normally under WINE but its Windows calls will be handled by WINE instead of Windows.

Emulators: BOCHS, Virtual PC for Mac
Emulators emulate the PC. They don't run x86 instructions directly, rather they interpret them. So instead of simply calling the "add" instruction they would simulate the "add" instruction by creating 2 variables and add them in the program. This interpretation slows down the execution process significantly.

There are advances in some emulators that increase the speed, for example dynamic recompilation. This technique uses the executable (binary) as a "source code" of sorts and recompiles for the native processor and then executes the recompiled code. I believe Virtual PC works this way. This is also a popular way of emulating console gaming platforms to increase performance.

Virtual Machines can only work for applications that would work on the architecture natively. So a Windows program would run on a PC operating Linux but not a Mac since Macs use a completely different processor. In order to run non-native code you'd have to emulate.


10 posted on 10/25/2005 3:12:37 PM PDT by xmm0 (This post has been brought to you by the letters "U," "S," and "A" and Amendment number 1.)
[ Post Reply | Private Reply | To 9 | View Replies ]

Free Republic
Browse · Search
General/Chat
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson