article

A hypervisor in computing is a scheme which allows multiple operating systems to run, unmodified, on a host computer at the same time. The term is an extension of the earlier term supervisor, which was commonly applied to operating system kernels in that era.

Mainframe origins


Hypervisors were originally developed in the early 1970s, when cost reduction was forcing multiple scattered departmental computers to be consolidated into a single, larger computer — the mainframe — that would serve multiple departments. By running multiple operating systems simultaneously, the hypervisor brought a measure of robustness and stability to the system; even if one operating system crashed, the others would continue working without interruption. Indeed, this even allowed beta or experimental versions of the operating system to be deployed and debugged without jeopardizing the stable main production system (and without requiring costly second and third systems for developers to work on).

The first computer system designed specifically for virtualization was the IBM S/360 Model 67 mainframe computer, developed in the late 1960s. It included page translation table hardware for virtual memory and other techniques that allowed a full virtualization of all kernel tasks, including I/O and interrupt handling. Prior to this point, computer hardware had only been virtualized enough to allow multiple user applications to be run. With the advent of the IBM S/360 model 67, the supervisor state was virtualized as well, thus allowing multiple operating systems to run simultaneously. The virtualization features became a standard part of the later IBM S/370 line and its succesors, including today's zSeries.

These features were most fully exploited in VM/CMS, arguably one of the first and most important open source operating systems. VM stood for Virtual Machine, emphasizing that all, and not just some, of the hardware interfaces had been virtualized. This system enjoyed early and rapid development by universities as well as within IBM; however, it was eventually swallowed by IBM during political infighting, essentially killing off the open-source version in a disputed and bitter battle. All modern-day IBM mainframes in the zSeries line continue to be backwards compatible with the four-decade old IBM/360 line.

Unix servers


Costs and the need for simplified management continue to push the consolidation of departmental servers today, much as they did in the 1970s, and thus there is a tremendous renewed interest in hypervisor technologies. Most Unix vendors, including Sun Microsystems, HP, IBM and SGI have been selling virtualized hardware since before 2000. One such example is the IBM pSeries, which offers possibly the most advanced set of features at this time. These systems traditionally carry hefty, server-class price-tags, often ranging into the multi-million dollar range at the high-end.

PCs and desktop systems


Interest in the high-profit server hardware market sector has led to the development of hypervisors for the Intel x86 instruction-set machines, including traditional desktop PCs. One of the early PC hypervisors was the commercial VMware, introduced in the mid-1990s.

The x86 architecture used in most PC systems is particularly hard to virtualize. Full virtualization (presenting the illusion of a complete set of standard hardware) on x86 has significant costs in hypervisor complexity and runtime performance.

An alternative approach requires that the guest operating system be modified to make system calls to the hypervisor, rather than executing machine I/O instructions which are then simulated by the hypervisor. This is called paravirtualization in Xen, a "hypercall" in Parallels Workstation, and a "DIAGNOSE code" in IBM's VM. All are really the same thing, a system call to the hypervisor below.

CPU vendors are adding hardware virtualization assistance to their products. Intel's codename for these extensions is Vanderpool, AMD's is Pacifica. These extensions will address the parts of x86 that are difficult or inefficient to virtualize, providing additional support to the hypervisor. This enables simpler virtualization code and a higher performance for full virtualization.

Others, like Xen or TRANGO, are implemented as software-only virtual machines running on a normal host operating system such as Linux. Xen is able to run both paravirtualized and, with the help of the hardware virtualization extensions Intel VTx, fully virtualized (i.e. an unmodified operating system) as guest operating systems. In fact, Xen has successfully demonstrated Windows XP running unmodified. The Xen distribution already contains versions of FreeBSD, Linux, NetBSD, and Plan 9 from Bell Labs that have been so modified. TRANGO is more focused on embedded operating system and CPU architectures (ARM, MIPS, PowerPC) and supports both embedded open operating system like Linux, and RToperating system such as eCoperating system or µC/OS-II. User programs will continue to work on Xen and TRANGO without change.

References


  • sHype from IBM Research
  • Xen from the University of Cambridge, UK
  • TRANGO real-time and secure hypervisor for embedded CPUs, from TRANGO Systems

Virtualization software

Hypervisor | Гипервизор

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Hypervisor".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld