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.

Other Virtualization Systems for Commodity Hardware<br />

<strong>Xen</strong> is not the only virtualization system available, but it has a combination of features that make it uniquely<br />

well suited for many important applications. <strong>Xen</strong> runs on commodity platforms. <strong>Xen</strong> is open source. <strong>Xen</strong> is fast,<br />

showing near native performance. <strong>Xen</strong> is scalable. <strong>Xen</strong> provides server-class features such as live migration. It<br />

supports both unmodified guests such as Windows and paravirtualized guests. Many companies are rallying<br />

behind <strong>Xen</strong> as an open source platform in which they can contribute efforts with full assurance that they won't<br />

be hidden behind a proprietary platform that could change unexpectedly.<br />

One final distinctive virtualization system feature that we discuss is the installation type. There are two main<br />

installation types: hosted and bare-metal. Hosted means that the virtualization system is installed and runs on a<br />

host operating system. Bare-metal means that the virtualization system is installed and runs directly on the<br />

physical hardware, with no host operating system necessary. <strong>Xen</strong> is a bare-metal virtualization system. Recall<br />

also that <strong>Xen</strong> supports paravirtualization and full virtualization.<br />

This section discusses a variety of commodity virtualization technologies in the marketplace today. We<br />

previously discussed different kinds of virtualization from an abstract standpoint. In this section we look at<br />

concrete example implementations of each virtualization approach along with their advantages and<br />

disadvantages. If you are not interested in these other virtualization technologies, go ahead and skip over this<br />

section. Don't worry; there will not be a quiz later.<br />

Emulation<br />

Bochs— An x86 computer simulator available for execution on a variety of platforms, including x86,<br />

PowerPC, SPARC, Alpha, and MIPS. Bochs can be configured to emulate many generations of the x86<br />

computing architecture including 386, 486, Pentium, Pentium Pro, and more modern 64-bit<br />

implementations. Bochs additionally emulates optional instructions such as MMX, SSE, SSE2, and 3DNow.<br />

Bochs has the distinction of simulating not only the processor but also the entire computer system,<br />

including the peripherals necessary for ordinary operation. The peripherals include mouse, keyboard,<br />

graphics hardware, and networking devices. Bochs is able to run a number of operating systems as<br />

guests, including numerous editions of Windows including XP and Vista, DOS, and Linux. It is important to<br />

note that Bochs needs a host operating system to operate and does not install on the bare hardware.<br />

Bochs is typically hosted on Linux, Windows, or Max OS X.<br />

QEMU— Another example of an emulator, but the ways in which QEMU is unlike Bochs are worth noting.<br />

QEMU supports two modes of operation. The first is the Full System Emulation mode, which is similar to<br />

Bochs in that it emulates a full personal computer (PC), including peripherals. This mode emulates a<br />

number of processor architectures, such as x86, x86_64, ARM, SPARC, PowerPC, and MIPS, with<br />

reasonable speed using dynamic translation. Using this mode, you can emulate an environment capable of<br />

hosting the Microsoft Windows operating systems (including XP) and Linux guests hosted on Linux,<br />

Solaris, and FreeBSD platforms.<br />

Additional operating system combinations are also supported. The second mode of operation is known as<br />

User Mode Emulation. This mode is only available when executing on a Linux host and allows binaries for a<br />

different architecture to be executed. For instance, binaries compiled for the MIPS architecture can be<br />

executed on Linux executing on x86 architectures. Other architectures supported in this mode include<br />

SPARC, PowerPC, and ARM, with more in development. <strong>Xen</strong> relies on the QEMU device model for HVM<br />

guests.<br />

Full Virtualization

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

Saved successfully!

Ooh no, something went wrong!