What I perceive as a Virtual Machine is that it simply allows to load another Operating System side-by-side on its own sandboxed environment.
It is limited to the same hardware architecture as the host Operating System.
With Intel VT (and similar), one can run the 64-bit version of an Operating System on a 32-bit host.

Examples of this is are VirtualBox and VMWare.

But QEMU is a Hardware Emulator: it emulates an entire computer and (may) emulate an entire architecture with every single piece emulated.
This is not limited to the same architecture.
We can run the ARM version of Linux on QEMU running on a x64 CPU.

The Android SDK uses QEMU to emulate tablets and phones for testing.

Posing this, can we say that QEMU is a virtual machine?

This generated a lot of discussion in the comment on the question "How to prevent network administrators from accessing USB drive" on another website, in which there was a 'dispute' that an Hardware Emulator is still a Virtual Machine.

  • @jdlugosz Thanks for the edit. You are right, it should be "its". – Ismael Miguel Mar 11 '15 at 11:23
  • 1
    @jdlugosz - You submitted a sloppy edit by modifying this statement: "Examples of this is are" – Ramhound Mar 11 '15 at 11:49
  • @Ramhound I didn't noticed that, or I would have improved the edit – Ismael Miguel Mar 11 '15 at 11:51
  • Sorry. I was just "trying to find something else to improve" as prompted. – JDługosz Mar 11 '15 at 12:00
  • @jdlugosz You did, you just forgot to 'eat' a few letters. – Ismael Miguel Mar 11 '15 at 12:01

A virtual machine is not implying special hardware support for efficient virtualization and using the same instruction set.

VMWare translates code to run 8086 real mode in a 64-bit host. PC Emulator on PowerPC was software translation to a different instruction set. Java Virtual Machine is an abstraction implemented in software, seemingly a CPU and architecture. MAME is a set of virtual machines that are classic arcade consoles, which include various CPUs and special graphics and sound chips and other novel chipset features.

An Emulator is a Virtual Machine in the scientific sense, so they are synonyms. In common informal usage, it implies that the thing being emulated is "a machine", a complete device that may also exist as a hardware instance. But that is kind of fuzzy.

  • 1
    I'm really sorry, but I got lost on the answer. I still don't know if it should or should be 'called' a Virtual Machine or not. – Ismael Miguel Mar 11 '15 at 11:37
  • A synonym in the English language means that both words can be used in the place of. This means that a virtual machine is an emulator. It also means an emulator is a virtual machine. Its sort like saying "a dog is a K9" and "a K9 is a dog". – Ramhound Mar 11 '15 at 11:54
  • Check out thesaurus.com . And look at the “Grammar note” at the bottom of this page – JDługosz Mar 11 '15 at 12:01
  • Also, common usage does not always follow correct usage, or technical jargon adopts a common word to have a highly precise meaning. – JDługosz Mar 11 '15 at 12:04
  • @Ramhound A 'k9' is a dog, but a trained dog for the police force – Ismael Miguel Mar 11 '15 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.