Evolution of Virtualization
Virtualization
Virtualization is a technique for dividing physical computing resources and representing them as multiple execution environments. For software execution, virtualization can be implemented at many levels:
- Hardware emulation – All aspects of a physical machine are simulated by software, allowing guest software to run unmodified (e.g. QEMU, Bochs)
- Full virtualization – Hardware resources and CPU instructions are mediated through a hypervisor which allows multiple guest operating systems to run on native hardware unmodified (e.g. VMware, z/VM)
- Paravirtualization – Guest operating systems are modified such that they are aware of the hypervisor and cooperate with it (e.g. Xen, UML)
- Operating system-level virtualization – Server instances run on top of a single operating system, but provide custom execution environments (e.g. OpenVZ, Linux-VServer)
- Desktop virtualization – Desktop and applications are presented through a network-based protocol (e.g. VNC, NX, Terminal Services)
- Application virtualization – Application code is run through a virtual machine that abstracts the application environment so it can run on multiple platforms (e.g. Java, .NET)
- API emulation – Application APIs can be emulated in different operating system environments to allow non-native applications to execute (e.g. Wine)
In all cases, software is run in a way that abstracts the execution environment away from the underlying physical hardware, and allows the physical hardware resources to be shared in some manner.
Brief History
Virtualization has been investigated since the early days of computing. In the 1960's, time sharing systems were pursued as an alternative to batch processing systems. Hardware architectures for providing virtualized memory systems and privileged software execution were developed. Virtualization emerged as a means to more fully utilize hardware resources and facilitate time-sharing systems.
IBM mainframes have supported multiple fully virtualized operating systems since the early 1970's. While apparently not heavily marketed (due to the tendency to reduce the amount of hardware needed to support time-sharing users) VM licenses would eventually outpace MVS licenses on IBM mainframes.
In the 1980s and into the 1990s, virtualization was largely forgotten during the emergence of inexpensive desktop machines and Intel-based servers. Businesses deployed used low-cost servers in place of big iron. Over time, physical infrastructure costs, failover and disaster protection needs, high desktop maintenance costs, and low server utilization became problems needing a new solution.
In the late 1990s, virtualization of Intel-based machines became a potential solution. VMware overcame hardware limitations that obstructed virtualization on Intel-based architecture, and virtualization success has led to what could be called a virtualization renaissance in recent years. The current generation is discovering what had already been done long ago, but applying the benefits in the current technological landscape.
The 2000s have seen a lot of progress in the area virtualization. Hardware vendors have added virtualization support, software vendors have created virtualization solutions, and businesses have adopted virtualization to solve business needs.
References
http://www.kernelthread.com/publications/virtualization/
http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
http://www.xensource.com/files/xensource_wp.pdf#search=%22xen%20art%20of%20virtualization%22
http://www.vmware.com/overview/history.html
http://www.virtual-strategy.com/migration/everything-old-is-new-again-virtualization-in-2005-part-i.html
—Posted by Adam Lane on Nov 6, 2008
Comments
aNZxfg <a href="http://hmoikeimyxqv.com/">hmoikeimyxqv</a>, [url=http://ioprvjsnhckm.com/]ioprvjsnhckm[/url], [link=http://uvlcaviqlfnx.com/]uvlcaviqlfnx[/link], http://wmkiotmwlogx.com/
—Posted by folcklord on Jul 20, 2010 at 3:19:16 PM
r9rTOc <a href="http://hqtkzvxmmwkh.com/">hqtkzvxmmwkh</a>, [url=http://vvhnremaatzl.com/]vvhnremaatzl[/url], [link=http://tbbryyuoyzmb.com/]tbbryyuoyzmb[/link], http://qzzredphgqcv.com/
—Posted by folcklord on Jul 20, 2010 at 9:36:15 PM
S2hmKI <a href="http://pdrfcocdzual.com/">pdrfcocdzual</a>, [url=http://anobdhdtygpn.com/]anobdhdtygpn[/url], [link=http://jhybvhiknned.com/]jhybvhiknned[/link], http://clqrbetcuzfg.com/
—Posted by lymanknap on Aug 5, 2010 at 2:34:43 AM
b5I5O4 <a href="http://qxnznlbcbilg.com/">qxnznlbcbilg</a>, [url=http://bzlmmdpugpuh.com/]bzlmmdpugpuh[/url], [link=http://ybiipenbsdde.com/]ybiipenbsdde[/link], http://yxjmsbkrbrhu.com/
—Posted by lymanknap on Aug 6, 2010 at 12:32:30 AM
|
Blogs
Nov 6, 2008 "Impact of Virtualization in IT " Jul 30, 2007 "Detect Java Installation with Shell Script" Aug 6, 2007 "Software Developer Office Space" May 5, 2008 "Coding Standards and Style" Oct 6, 2007 "Telecommuting and Software Development" Nov 6, 2008 "Evolution of Virtualization " Jul 30, 2007 "Using Inno Setup to Create a Versioned Installer"
|