Datasheet
Chapter 1: Overview of Virtualization
3
is the byte code produced by the compilers for the Java programming language ( http://java.sun
.com/
 ), although this concept was actually pioneered by the UCSD P - System in the late 1970s 
( 
www.threedee.com/jcm/psystem ), for which the most popular compiler was the UCSD Pascal 
compiler. Microsoft has even adopted a similar approach in the Common Language Runtime (CLR) 
used by .NET applications, where code written in languages that support the CLR are transformed, at 
compile time, into CIL (Common Intermediate Language, formerly known as MSIL, Microsoft 
Intermediate Language). Like any byte code, CIL provides a platform - independent instruction set that 
can be executed in any environment supporting the .NET Framework. 
 Application virtualization is a valid use of the term “ virtualization ”  because applications compiled into 
byte code become logical entities that can be executed on different physical systems with different 
characteristics, operating systems, and even processor architectures.  
  Desktop Virtualization 
 The term “desktop virtualization” describes the ability to display a graphical desktop from one computer 
system on another computer system or smart display device. This term is used to describe software such 
as Virtual Network Computing (VNC, 
http://en.wikipedia.org/wiki/VNC ), thin clients such as 
Microsoft ’ s Remote Desktop ( 
http://en.wikipedia.org/wiki/Remote_Desktop_Protocol )  and 
associated Terminal Server products, Linux terminal servers such as the Linux Terminal Server project 
(LTSP, 
http://sourceforge.net/projects/ltsp/ ), NoMachine ’ s NX ( http://en.wikipedia.org/
wiki/NX_technology
 ), and even the X Window System ( http://en.wikipedia.org/wiki/X_
Window_System
 ) and its XDMCP display manager protocol. Many window managers, particularly those 
based on the X Window System, also provide internal support for multiple, virtual desktops that the user 
can switch between and use to display the output of specific applications. In the X Window System, 
virtual desktops were introduced in versions of Tom LeStrange ’ s TWM window manager ( 
www.xwinman
.org/vtwm.php
 , with a nice family tree at www.vtwm.org/vtwm-family.html ), but are now available in 
almost every other window manager. The X Window System also supports desktop virtualization at the 
screen or display level, enabling window managers to use a display region that is larger than the physical 
size of your monitor. 
 In my opinion, desktop virtualization is more of a bandwagon use of the term “virtualization” than an 
exciting example of virtualization concepts. It does indeed make the graphical console of any supported 
system into a logical entity that can be accessed and used on different physical computer systems, but 
it does so using standard client/server display software. The remote console, the operating system it 
is running, and the applications you execute are actually still running on a single, specific physical 
machine  — you ’ re just looking at them from somewhere else. Calling remote display software a 
virtualization technology seems to me to be equivalent to considering a telescope to be a set of virtual 
eyeballs because you can look at something far away using one. Your mileage may vary.  
  Network Virtualization 
 The term “ network virtualization ”  describes the ability to refer to network resources logically rather than 
having to refer to specific physical network devices, configurations, or collections of related machines. 
There are many different levels of network virtualization, ranging from single - machine, network-device 
virtualization that enables multiple virtual machines to share a single physical-network resource, to 
enterprise - level concepts such as virtual private networks and enterprise-core and edge-routing 
techniques for creating subnetworks and segmenting existing networks. 
c01.indd 3c01.indd 3 12/14/07 3:57:19 PM12/14/07 3:57:19 PM










