Paravirtualization

Paravirtualization

In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware.

Paravirtualization may allow the virtual machine monitor (VMM) to be simpler or virtual machines that run on it to achieve performance closer to non-virtualized hardware. However, operating systems must be explicitly ported to run on top of a paravirtualized VMM.

History

This is a new term for an old idea. IBM's VM operating system has offered such a facility since 1972 [cite web | url=http://www.vm.ibm.com/history/ | title=VM History and Heritage | publisher=IBM | accessdate=2007-10-10 ] (and earlier as CP-67). In the VM world, this is referred to as a "DIAGNOSE code", because it uses an instruction code used normally only by hardware maintenance software and thus undefined. The Parallels Workstation operating system calls its equivalent a "hypercall". All are the same thing: a system call to the hypervisor below. Such calls require support in the "guest" operating system, which has to have hypervisor-specific code to make such calls.

The term "paravirtualization" was first used in the research literature in association with the Denali virtual machine monitor [A. Whitaker, M. Shaw, and S. D. Gribble, "Denali: Lightweight Virtual Machines for Distributed andNetworked Applications", Univ. of Washington Technical Report 02-02-01, (2002). (Available from [http://denali.cs.washington.edu/pubs/index.html Denali publications, technical reports, and talks] )] . The term is also used to describe the Xen, L4 and TRANGO hypervisors. All these projects use paravirtualization techniques to support high performance virtual machines on x86 hardware by implementing a virtual machine that does not implement the hard-to-virtualize parts of the actual x86 instruction set.

An example of using paravirtualization for performance, the virtual monitor can present the host operating system with an "intelligent NIC" with support for DMA-based sending of packets, even though the NIC on the real system lacks this capability. Sending packets is then done entirely by the virtual monitor and NIC interrupts may be processed by the monitor too. Since delivering interrupts to the host operating system is expensive, performance can improve.

References

ee also

* Advanced_Power_Virtualization (IBM PowerVM)
* Cooperative Linux (coLinux)
* Exokernel
* KVM
* Logical Domains
* OpenVZ
* QEMU
* Virtual Machine Interface (VMI)
* VMware
* Win4Lin
* Xen


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • paravirtualization — noun An approximate virtualization in which the emulated operating system has been modified for convenience or efficiency …   Wiktionary

  • Comparison of platform virtual machines — Platform virtual machines are software packages which emulate the whole physical computer machine, often giving multiple virtual machines on one physical platform. The table below compares basic information about platform virtual machine (VM)… …   Wikipedia

  • Xen — This article is about the virtualization software. For other uses, see Xen (disambiguation). Xen Xen running NetBSD and three Linux distributions Developer(s) The Xen Project XenSource, Inc …   Wikipedia

  • Hypervisor — In computing, a hypervisor, also called virtual machine monitor , is a virtualization platform that allows multiple operating systems to run on a host computer at the same time.ClassificationsHypervisors are currently classified in two types: [… …   Wikipedia

  • Virtual Iron — Software, located in Lowell, Massachusetts, provides software for virtualization and management of a virtual infrastructure. Virtual Iron is one of the first companies to offer virtualization software to fully support Intel VT and AMD V hardware… …   Wikipedia

  • Hardware-assisted virtualization — In computing, hardware assisted virtualization is a platform virtualization approach that enables efficient full virtualization using help from hardware capabilities, primarily from the host processors. Full virtualization is used to simulate a… …   Wikipedia

  • Virtual private server — Types of Internet hosting service …   Wikipedia

  • X86 virtualization — is the method by which x86 based guest operating systems are run under another host x86 operating system, with little or no modification of the guest OS. The x86 processor architecture did not originally meet the Popek and Goldberg virtualization …   Wikipedia

  • Virtual machine — A virtual machine (VM) is a completely isolated guest operating system installation within a normal host operating system .[1] Modern virtual machines are implemented with either software emulation or hardware virtualization or (in the most… …   Wikipedia

  • Cross compiler — A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. It is used to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”