6,534
edits
Changes
m
Super jazzed about gteting === Virtual machines (VMs) ==='''Virtual machines''' emulate some real or fictional hardware, which in turn requires real resources from the ''host'' (the machine running the VMs). This approach, used by most ''system emulators'', allows the emulator to run an arbitrary ''guest operating system'' without modifications because guest OS is not aware that knowit is not running on real hardware. The main issue with this approach is that some CPU instructions require additional privileges and may not be executed in user space thus requiring a ''virtual machines monitor'' (VMM), also called a hypervisor, to analyze executed code and make it safe on-the-howfly. Hardware emulation approach is used by [http://www.vmware.com/ VMware] products, [http://www.VirtualBox.org VirtualBox], [http://fabrice.bellard.free.fr/qemu/ QEMU], [http://parallels.com/ Parallels] and [http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx Microsoft Virtual Server].
There are several kinds of virtualization techniques which provide similar features but differ in the degree of abstraction and the methods used for virtualization.
=== Paravirtualization ===