- Platform virtualization
In
computing , platform virtualization is a term that refers to theabstraction of computer resources. Virtualization hides the physical characteristics of computing resources from their users, be theyapplication s, orend user s. [ 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 the1960s .There are several approaches to platform virtualization.
Concept
The term was coined in the
1960s , to refer to avirtual machine , a term which itself dates from the experimentalIBM 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 device s to function, so the simulation must support the guest's interfaces to those devices. Trivial examples of such devices arehard disk drive ornetwork 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 andCP-67 , predecessors of VM family. Examples outside mainframe field includeParallels 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 andAMD 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
* IntelVanderpool x86 virtualization
* Hitachi'sVirtage hardware virtualization, available on their BladeSymphony line of servers
*UltraSPARC T1 andUltraSPARC T2 processors fromSun 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 space s. 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 likeMVS and theCommodore_64 (a couple of 'task switch' programs). (Many more recent systems, such asMicrosoft Windows andLinux , 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 andXen ; 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'sLPAR s [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'sLogical 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 Jail s andiCore 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.