qemu-kvm is qemu built to take advantage of hardware virtualization features. qemu-system-x86_64 is just the emulator without hardware virtualization features.
Can you please brief up whats the difference between emulation and hardware virtualization?
What is the difference between KVM and qemu? I am confused between the two. Both are used for virtualization then why does KVM require qemu? I am just a beginner and trying to understand the basic concepts. Pleaase help...
If I should try to simplify it:
Emulation = Software is used to "emulate" hardware, this allows your architecture (PC) to run other architures (Mac, Amiga, Nintendo, etc) in "virtual machines". The software in your virtual machine will never see your real hardware, instead it will see the emulated hardware, eg. a Mac (PPC) CPU, a Mac graphics card, etc. etc.
This is very slow since your system tries to work like a completely other system architecture. A performance hit of 10x is not uncommon, but does depend on a lot of things. You can of course also emulate the same architecture (eg. PC on PC), but this will also be quite slow, since the virtual PC will be completely emulated in software, with no help from your real hardware. This is what qemu (qemu-system-x86_64) does.
Hardware virtualization = The hardware supports virtualization, allowing the software to use hardware extensions of the CPU and chipset to give very good performance in virtual machines. This ONLY works with similar architectures, eg. PC on PC. This is what qemu-kvm does. qemu-kvm is just qemu + support for hardware virtualization.
KVM support is getting merged with qemu, so some time in the future, qemu will have full KVM support integrated and qemu-kvm will disappear.
If you're on Debian Etch, substitute `kvm` for `qemu-system-x86_64` (thanks to fromport, soren and mael_). See also the entries under the label "Ubuntu" on the HOWTO page. qemu-system-x86_64`
If you're on Fedora/RHEL/CentOS (and installed a kvm package and not built kvm yourself from source) then substitute qemu-kvm for qemu-system-x86_64
Yes, it seems like I was wrong on the naming of the executables. On my system qemu-kvm is just a symlink to qemu-system-x86_64, so they're actually the same on my system (Arch Linux). I have no idea what the name of the executable in upstream qemu is then.
qemu-kvm is qemu built to take advantage of hardware virtualization features. qemu-system-x86_64 is just the emulator without hardware virtualization features.
Can you please brief up whats the difference between emulation and hardware virtualization?
What is the difference between KVM and qemu? I am confused between the two. Both are used for virtualization then why does KVM require qemu? I am just a beginner and trying to understand the basic concepts. Pleaase help...
Regards,
Aishwarya
If I should try to simplify it:
Emulation = Software is used to "emulate" hardware, this allows your architecture (PC) to run other architures (Mac, Amiga, Nintendo, etc) in "virtual machines". The software in your virtual machine will never see your real hardware, instead it will see the emulated hardware, eg. a Mac (PPC) CPU, a Mac graphics card, etc. etc.
This is very slow since your system tries to work like a completely other system architecture. A performance hit of 10x is not uncommon, but does depend on a lot of things. You can of course also emulate the same architecture (eg. PC on PC), but this will also be quite slow, since the virtual PC will be completely emulated in software, with no help from your real hardware. This is what qemu (qemu-system-x86_64) does.
Hardware virtualization = The hardware supports virtualization, allowing the software to use hardware extensions of the CPU and chipset to give very good performance in virtual machines. This ONLY works with similar architectures, eg. PC on PC. This is what qemu-kvm does. qemu-kvm is just qemu + support for hardware virtualization.
KVM support is getting merged with qemu, so some time in the future, qemu will have full KVM support integrated and qemu-kvm will disappear.
I have seen something :
If you're on Debian Etch, substitute `kvm` for `qemu-system-x86_64` (thanks to fromport, soren and mael_). See also the entries under the label "Ubuntu" on the HOWTO page. qemu-system-x86_64`
If you're on Fedora/RHEL/CentOS (and installed a kvm package and not built kvm yourself from source) then substitute qemu-kvm for qemu-system-x86_64
the link is here:
http://www.linux-kvm.org/page/HOWTO1
Yes, it seems like I was wrong on the naming of the executables. On my system qemu-kvm is just a symlink to qemu-system-x86_64, so they're actually the same on my system (Arch Linux). I have no idea what the name of the executable in upstream qemu is then.
Post new comment