Overview The concept of a virtual machine (VM)
is based on virtualization. Virtualization is a broad term that is used to
describe the abstraction of computer resources. For a more specific
definition of virtualization and a comprehensive overview of this
technology, including examples, take a look at an article called “An
introduction to virtualization” by Amit Singhs at kernelthread.com.
For additional information about virtualization, see virtualization.com.
This Web site features news, press releases, guest posts, interviews,
white papers, people, jobs, photos, exclusive videos, and reports about
partnerships, acquisitions, and many other topics.
A virtual machine is a software implementation of a
machine or computer that executes programs like a real machine. A
complete definition for virtual
machine can be found at Webopedia. There are two types of
virtual machines: system virtual machines and process virtual machines.
Process Virtual Machine A process virtual
machine, sometimes called an application virtual machine, runs as a normal
application inside an OS and supports a single process. It is created when
that process is started and then destroyed when it exits. For a very
detailed article about process virtual machines see "The
Process Virtual Machine" by Tom Baeyens and Miguel Valdes Faura.
System Virtual Machine A System virtual
machine allows for the ability to present the resources of a single
computer as if it is a collection of separate computers ("virtual
machines"), each with its own virtual CPUs, network interfaces,
storage, and operating system. The software layer providing the
virtualization is called a virtual machine monitor, or hypervisor. A
detailed description of hypervisor
can be reviewed at Wikipedia. One of the most popular system virtual
machines is the Java Virtual Machine (JVS). For an overview, history, and
download information about the JVS, see the Java
Virtual Machine Web site.
Software Appliance A software appliance is a
software application combined with just enough
operating system (JeOS) for it to run optimally on industry
standard hardware (typically a server) or in a virtual machine. A software
appliance can be packaged in a virtual machine format as a virtual
appliance, allowing it to be run within a virtual machine container. A
complete description of a virtual
appliance is available at Wikipedia.
Virtual Appliance Virtual Appliances are
pre-built, pre-configured, ready-to-run enterprise software applications
packaged along with an operating system within a virtual machine. Some
good observations about recent developments with virtual appliances can be
found in the article "Virtual
Appliances - 2007 Year in Review" by Srinivas Krishnamurti. To
date, Linux is the most popular platform for the development of
Additional Information The VMware Player is a
free application that allows you to run virtual appliances. It is a
perfect solution for those that want to test and install applications
without risk to their existing systems. VMware Player can be downloaded at
here. To review
the many appliances that are available to run on the VMWare Player,
including browser and server appliances, follow this VMWare
link to the Virrtual Appliance Marketplace. Virtual-Appliances.net
hosts VMware Virtual Appliances for Linux desktop users and
developers (Ubuntu, Kubuntu, and openSuse). An example of a safe browser
VMware appliance that allows users to securely browse the Internet using
Mozilla Firefox under Ubuntu 5.10 can be found here.
A JumpBox is a virtual appliance for an Open Source
application (work w/ Xen, VMware and Parallels) that is focused on a
single task (or single application). To take a tour of some of the JumpBox
basic features click this link.
Take a look at the Jumpbox
open source collection to see what applications are available to run
For a facinating article on how to build your own
light-weight browser appliance using VMware, Easy VMX, and a LInux liveCD
click this HowTo.Gumph.org
link. Many free Linux-based virtual machines with web user interfaces for
deploying instant infrastructure and applications, including server and
database systems, are available at the Virutal
Appliance Web site.