|
Authored by: Anonymous on Wednesday, May 30 2012 @ 09:48 PM EDT |
Products like VMWare allow "virtualization" of a hardware CPU. This
is basically like emulation (of a complete execution environment) except that
the type of CPU being emulated is the same or very similar, to the underlying
hardware CPU. And the "emulation" is mostly performed by running
native instructions directly on the underlying hardware CPU. That's why it
performs so well -- when programs are executing in it, the "VM" lets
the hardware CPU do most of the work, and it only intervenes for special
"protected mode" instructions that the operating system uses for
interfacing with hardware or managing OS resources such as memory page tables.
Anyway, VMware is sometimes called a "virtual machine" too, even
though it runs x86 instructions, instead of some sort of convenient
"bytecode" instruction set.[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, May 30 2012 @ 09:54 PM EDT |
Java VM : executes Java bytecode
Smalltalk VM : executes Smalltalk
bytecode
Python VM : executes Python bytecode
Dalvik VM : executes
Dalvik bytecode
NES emulator : emulates all of the hardware of a NES (runs
NES games)
Atari 2600 emulator : emulates all of the hardware of an Atari
2600 (runs Atari 2600 programs)
PlayStation emulator : emulates all of the
hardware of a PlayStation (runs PlayStation games)
Gameboy Advance emulator
: emulates all of the hardware of a Gameboy Advance (runs Gameboy Advance
games)
Amiga emulator : emulates all of the hardware of a Commodore Amiga
(runs Amiga programs)
...etc. [ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, May 30 2012 @ 10:12 PM EDT |
The difference is one of perception. An emulator creates the perception to a
user of the emulated machine. This includes timing and playability.
However, both terms describe the translation from one Turing machine to
another. The final Turing machine is the actual "real" machine. It
doesn't
matter if one Turing machine is "bizarre" . You can specify to the
Java VM how
much memory that machine has. It emulates the actual Java machine except
the goal is as fast as possible even though that machine only exists in theory.
Welcome to Computer Science a branch of Math were the difference between
Theory and Application is reality or better stated as mind vs machine.
[ Reply to This | Parent | # ]
|
|
|
|
|