But in the typical setup the OS you're running in the virtual machine (guest) is targeted at the same architecture as the host. -- Most typical being host == guest == x86.
But some of these tools can do more:
- Bochs can be used to run x86 or x86_64 code on any reasonable host, because it emulates even the CPU.
- QEMU, like Bochs, can also emulate the CPU. QEMU seems to be able to achieve higher emulation speeds and supports more target architectures, albeit less host architectures.
So, the point is, with QEMU you can experiment with interesting architectures on your (most probably x86/x86_64) PC. Now, who could resist that? ;-) Ever wanted to know how does Debian for ARM feel like?
To make matters even more interesting -- with QEMU's "user emulation" and a little help from binfmt_misc you can chroot into a non-native distro install.
More on this interesting subject in a later post.