30.12.2014 Views

Running Xen.pdf - Mailing List

Running Xen.pdf - Mailing List

Running Xen.pdf - Mailing List

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

In environments where all guests belong to the same administrative domain, weak isolation may be acceptable<br />

because the administrator can adjust the allocation of resources to alleviate any problems. This does not work<br />

in environments such as multihosting environments where guests are owned and operated by different entities<br />

with no specific incentive to collaborate fairly.<br />

Implementations of operating system level virtualization include Virtuozzo, Linux VServers, OpenVZ, Solaris<br />

Containers, FreeBSD jails, and HP UX 11i Secure Resource Partitions.<br />

Other Types of Virtualization<br />

Two remaining types of virtualization bear mentioning, although unlike the first four we discussed, they are not<br />

capable of executing a full operating system. The first is library virtualization, which emulates operating systems<br />

or subsystems via a special software library. An example of this type of virtualization is the Wine library<br />

available on Linux systems. Wine provides a subset of the Win32 API as a library to allow Windows desktop<br />

applications to be executed in a Linux environment.<br />

The final type of virtualization discussed in this chapter is application virtualization (managed runtime).<br />

Application virtualization is the approach of running applications inside a virtual execution environment. This is<br />

different from running a normal application on the hardware. The virtual execution environment provides a<br />

standard API for cross-platform execution and manages the application's consumption of local resources. It may<br />

also supply resources such as the threading model, environment variables, user interface libraries, and objects<br />

that aid in application programming. The most prevalent example of such a virtual execution environment is the<br />

Sun Java Virtual Machine. It is important to keep in mind that this technique does not virtualize the full-blown<br />

set of hardware necessary for a full operating system.<br />

Overview of Virtualization Types<br />

Table 1.1 contains a summary of the virtualization techniques discussed in this section.<br />

Table 1.1. Virtualization Techniques at a Glance<br />

Type Description Advantages Disadvantages<br />

Emulation<br />

The<br />

hypervisor<br />

presents a<br />

complete<br />

virtual<br />

machine (of a<br />

foreign<br />

computing<br />

architecture<br />

to the host)<br />

enabling<br />

foreign<br />

applications<br />

to run in the<br />

emulated<br />

environment.<br />

Simulates hardware that is not physically available.<br />

Low performance<br />

and low density.<br />

Full<br />

The<br />

hypervisor<br />

provides a<br />

complete<br />

virtual<br />

machine (of<br />

the same<br />

Flexibility—run different versions of different operating systems<br />

from multiple vendors.<br />

Guest OS does<br />

not know that it<br />

is being<br />

virtualized. Can<br />

incur a sizable<br />

performance hit<br />

on commodity

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!