Post a Comment
qemu is both virtualizer and emulator.
It only depends how You use it.
without kqemu: emulator
with kqemu: virtualizer
from http://qemu.org/about.html:
QEMU is a generic and open source machine emulator and virtualizer.
When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performances.
When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. A host driver called the QEMU accelerator (also known as KQEMU) is needed in this case. The virtualizer mode requires that both the host and guest machine use x86 compatible processors.
If you really wanted to score some points you could explain the difference between a virtual machine and an emulator. I use the two terms interchangeably to mean the same thing. If it runs another OS then to me its an emulator or its a virtual machine. I think of qemu and vmware player as pretty much the same thing in that they both let me run a different OS within Windows.
An emulator can run software designed for one CPU architecture on a different one (i.e. run Windows x86 on top of OSX PPC). It does this by emulating ALL aspects of the hardware (including the CPU itself).
A VM can be an emulator, but it doesnt have to be. It can also be software that presents multiple pieces of software (guest OSs) with what looks to them like individual distinct machines. If all of the sofware uses the same underlying CPU architecture, this can be done without requiring that the entire CPU be emulated. This is MUCH more efficient.
An emulator is an implementation of the entire hardware of a machine (eg a PC) in software. Every single feature of the "guest" machine has to be written on code (in C, for example). This allows for maximum portability, since porting to a different machine is no different to porting any other C program. Unfortunately due to the complexity of most CPUs, and the x86 in particular, emulators tend to be quite slow.
Rather than implementing the x86 CPU in software, a virtual machine takes advantage of the physical x86 CPU to directly execute guest instructions. This gives a considerable performance increase, but at the expense of tying the virtual machine to the x86 architecture. Whilst it could be ported between OSs, an x86 virtual machine could not be ported to run on a physical machine with, for example, a PowerPC CPU. Other than the different approaches to the CPU, a virtual machine emulates other hardware (the video card etc) in exactly the same way as an emulator.
Well i never felt any significant speed difference between QEMU (with kqemu ) module and vmware so it would be intresting to see how another of theis virtual PC software competes with Likes of qemu and vmware.
Ambuj varshney <http://linuxondesktop.blogspot.com>
virtualbox is partially based on qemu also.
from http://virtualbox.org/wiki/Developer_FAQ
Q: How does VirtualBox relate to QEMU? I have seen some source files that appear to be related to his project.
A: VirtualBox makes use of QEMU in two ways: first of all, some of our virtual hardware devices have their origin in the QEMU project. We have found them to be very useful and took them as a starting point. Secondly, we have incorporated the recompiler of QEMU as a fallback mechanism for situations where our Virtual Machine Manager (VMM) cannot correctly handle a certain situation. This holds true for guest code that executes in real mode (such as bootup) and some rare scenarios at runtime. See VirtualBox architecture for details. QEMU saved us a lot of work and we are very grateful to be able to rely on it.
I've had reasonable success with VirtualBox. Debian and Ubuntu won't install as they don't see the network card. PCLinuxOS installed fine and Fedora probably would have installed if I'd had all four CDs at hand, instead of just the first one. I gave up trying to understand FreeBSD's installation process.
Performance has been good, though I need to work out how to use a larger screen. Configuring it is fairly easy and I like the interface, instead of resorting to the command line. I don't think VirtualBox needs daemons running, unlike VMPLayer, which seems to need several processes in the background even though its not running. I'm planning on uninstalling VMPlayer anyway, primarily for that reason.
VB doesn't yet support booting off an existing Linux installation on my hard disk, but presumably that will come in time.
I've had reasonable success with VirtualBox.
I will also want to try it out but since there is no VirtualBox port to FreeBSD I can only wait.
I run many OSes under qemu, *Linux/WinNT4/Win2k/WinXP/Sco Unixware/ReactOS/*BSD/Solaris, good to know that VirtualBox is not only for *win, like Win4BSD.
I like qemu for its flexibility, You can use command line [which I prefer] or use qemu-launcher(GTK2)/kqemu(QT) to get a GUI.
I got it yesterday. Networking was a little hard. I'm on a Windows XP host with a Gentoo guest. For some reason you can't ping anything, but you can browse the web and emerge stuff, which is confusing because I use ping to check for network connectivity.
I don't like how some of the options like whether the network card is plugged in or other things are unavailable unless the OS is shut down.
Also, I find the snapshots confusing. When exiting a running virtual machine and you want to keep the current state it is real fast, but if you want to drop the current state and revert to the last saved one it takes forever. Since the state should be saved I would think it should be fast too but it isn't.
Another thing is the mouse. It is very fast for me and no way to slow it down.
One last complaint is that for some reason I can't send ctrl-alt-f1 or ctrl-alt-f2 to get out of the graphical screen and into another login. It says it is supposed to capture the keyboard until you press the right control button. Alt-tab works, but ctrl-alt-delete still goes to the host OS too.
It does look promising though. I hope it gets better.
Ctrl-Alt-Delete is implemented much lower than normal in Windows XP (so that you can get the task manager in even the most unstable conditions). There is no easy way for a program to override the three finger salute. This is why VMWare Workstation uses Ctrl-Alt-Ins to send the three finger saute to the guest machine instead.
I got it yesterday. Networking was a little hard. I'm on a Windows XP host with a Gentoo guest. For some reason you can't ping anything, but you can browse the web and emerge stuff, which is confusing because I use ping to check for network connectivity.
I know that this may sound stupid or redundant but have you checked if either the Gentoo guest or the Windows XP host doesn't have a firewall in place that is dropping/rejecting ICMP packets? It is very likely that something along these lines is causing the problem that you described since you seem to be able to browse the web just fine from the guest OS.



