Platform virtualization

Platform virtualization

In computing, platform virtualization is a term that refers to the abstraction of computer resources. Virtualization hides the physical characteristics of computing resources from their users, be they applications, or end users. [ cite web | last = Turban | first = E | coathors = King D, Lee J, Viehland D | date = 2008 | title = Electronic Commerce A Managerial Perspective | edition = 5th edition | publisher = Prentice-Hall | chapter = Ch19 | pages = P27 | url = http://wps.prenhall.com/wps/media/objects/5073/5195381/pdf/Online_Chapter_19.pdf ; cite web | url = http://www-03.ibm.com/industries/education/doc/content/resource/thought/3371378110.html | title = Virtualization in education | publisher = IBM ] The term has been widely used since the 1960s.

There are several approaches to platform virtualization.

Concept

The term was coined in the 1960s, to refer to a virtual machine, a term which itself dates from the experimental IBM M44/44X system.Fact|date=October 2007 The creation and management of virtual machines has also been referred to as creating "pseudo machines", in the early CP-40 days, and "server virtualization" more recently.

Platform virtualization is performed on a given hardware platform by "host" software (a "control program"), which creates a simulated computer environment, a "virtual machine", for its "guest" software. The guest software, which is often itself a complete operating system, runs just as if it were installed on a stand-alone hardware platform. Typically, many such virtual machines are simulated on a single physical machine, their number limited only by the host’s hardware resources. Typically there is no requirement for a guest OS to be the same as the host one. The guest system often requires access to specific peripheral devices to function, so the simulation must support the guest's interfaces to those devices. Trivial examples of such devices are hard disk drive or network interface card.

Full virtualization

In full virtualization, the virtual machine simulates enough hardware to allow an unmodified "guest" OS (one designed for the same instruction set) to be run in isolation. This approach was pioneered in 1966 with IBM CP-40 and CP-67, predecessors of VM family. Examples outside mainframe field include Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Virtual PC, Virtual Server, VMware Workstation, VMware Server (formerly GSX Server), QEMU, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, and Egenera vBlade technology.

Hardware-assisted virtualization

In hardware-assisted virtualization, the hardware provides architectural support that facilitates building a virtual machine monitor and allows guest OSes to be run in isolation [Uhlig, R. et al.; "Intel virtualization technology," Computer , vol.38, no.5, pp. 48-56, May 2005] . In 2005 and 2006, Intel and AMD provided additional hardware to support virtualization. Examples include Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac, and Parallels Workstation.

Hardware virtualization technologies include:

* AMD Pacifica x86 virtualization
* IBM Advanced POWER virtualization
* Intel Vanderpool x86 virtualization
* Hitachi's Virtage hardware virtualization, available on their BladeSymphony line of servers
* UltraSPARC T1 and UltraSPARC T2 processors from Sun Microsystems have the "Hyper-Privileged execution mode"

Partial virtualization

In partial virtualization (and including "address space virtualization"): The virtual machine simulates multiple instances of much (but not all) of an underlying hardware environment, particularly address spaces. Such an environment supports resource sharing and process isolation, but does not allow separate "guest" operating system instances. Although not generally viewed as a virtual machine category "per se", this was an important approach historically, and was used in such systems as CTSS, the experimental IBM M44/44X, and arguably systems like MVS and the Commodore_64 (a couple of 'task switch' programs). (Many more recent systems, such as Microsoft Windows and Linux, as well as the remaining categories below, also use this basic approach.)

Paravirtualization

In paravirtualization, the virtual machine does not necessarily simulate hardware, but instead (or in addition) offers a special API that can only be used by modifyingClarifyme|date=October 2007 the "guest" OS. This system call to the hypervisor is called a "hypercall" in TRANGO and Xen; it is implemented via a DIAG ("diagnose") hardware instruction in IBM's CMS under VMClarifyme|date=October 2007 (which was the origin of the term "hypervisor"). Examples include VMware ESX Server, IBM's LPARs [Borden, T.L. et al.; Multiple Operating Systems on One Processor Complex. IBM Systems Journal, vol.28, no.1, pp. 104-123, 1989] ,Win4Lin 9x, Sun's Logical Domains, z/VM,Fact|date=October 2007 and TRANGO.

Operating system-level virtualization

In operating system-level virtualization, a physical server is virtualized at the operating system level, enabling multiple isolated and secure virtualized servers to run on a single physical server. The "guest" OS environments share the same OS as the host system – i.e. the same OS kernel is used to implement the "guest" environments. Applications running in a given "guest" environment view it as a stand-alone system. Examples are Linux-VServer, Parallels Virtuozzo Containers, OpenVZ, Solaris Containers, FreeBSD Jails and iCore Computer 3-in-1.

Reasons for virtualization

Virtual machines are used to consolidate many physical servers into fewer servers, which in turn host virtual machines. Each physical server is reflected as a virtual machine "guest" residing on a virtual machine host system. This is also known as Physical-to-Virtual or 'P2V' transformation.

Virtual machines can be used in disaster recovery as "hot standby" environments for physical production servers. This changes the classical "backup-and-restore" philosophy, by providing backup images that can "boot" into live virtual machines, capable of taking over workload for a production server experiencing an outage.

Hardware virtualization can give root access to a virtual machine. This can be very useful such as in testing changes in kernel development and for teaching operating system courses. [ [http://www.cs.columbia.edu/~nieh/publications/drdobbs2000.pdf Examining VMware] Dr. Dobb’s Journal August 2000 By Jason Nieh and Ozgur Can Leonard]

References

See also

* Comparison of virtual machines
* Hypervisor
* Popek and Goldberg virtualization requirements

External links

* [http://www.kernelthread.com/publications/virtualization/ An introduction to Virtualization]
* [http://www.xensource.com/files/xensource_wp.pdf#search=%22xen%20art%20of%20virtualization%22 Xen—the Art of Virtualization]
* [http://research.microsoft.com/~tharris/papers/2003-sosp.pdf Xen and the Art of Virtualization]
* [http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html Linux Virtualization Software]
* [http://btquarterly.com/?mc=virtualization-big-picture&page=virt-viewresearch Virtualization: The Big Picture]
* [http://www.btquarterly.com/?mc=pros-cons-virtualization&page=virt-viewresearch The Pros and Cons of Virtualization]
* [http://linuxdevices.com/articles/AT3899346728.html Using a hypervisor to reconcile GPL and proprietary embedded code]
* [http://www.cbronline.com/article_feature.asp?guid=609D18C1-C9F9-42A5-9BE3-B5B3B781C91B Virtualization Limitations]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Cross-platform virtualization — is a form of computer virtualization that allows software compiled for a specific CPU and operating system to run unmodified on computers with different CPUs and/or operating systems, through a combination of dynamic binary translation and… …   Wikipedia

  • Virtualization — In computing, virtualization is a broad term that refers to the abstraction of computer resources:* Platform virtualization, which separates an operating system from the underlying platform resources ** Full virtualization ** Hardware assisted… …   Wikipedia

  • Virtualization Embedded Controller Interface — Virtualization Embedded Controller Interface, abbreviated as VECI, is a technology used for Intel Virtualization Technology (Intel VT) in chipsets that support Core 2 Duo microprocessors. Details The VECI bus allows the Virtualization Engine (VE) …   Wikipedia

  • Virtualization infrastructure — broadly describes the separation between resource or request for service from the physical delivery of that service or resource. On a computer virtual memory gains access to additional memory other than the physical computer memory installed on… …   Wikipedia

  • 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

  • Virtualization software licensing — Effects of Virtualization and Multiple Core Processors= Software licensing models are being derailed by virtualization and multicore processors. Alternative licensing schemes range from the familiar, like open source and SaaS, to untested models… …   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

  • Network virtualization — In computing, Network Virtualization is the process of combining hardware and software network resources and network functionality into a single, software based administrative entity, a virtual network. Network virtualization involves platform… …   Wikipedia

  • Cross-platform — For a type of interchange between different lines in a metro system, see cross platform interchange. In computing, cross platform, or multi platform, is an attribute conferred to computer software or computing methods and concepts that are… …   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

Share the article and excerpts

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