Understanding Virtualization by Implementation
By: Thomas Kay
Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. Today’s powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer. (Virtualization Basics) Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. (An Introduction to Virtualization)
Figure [ 1 ]
Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software-controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc.) and presents them in a regular fashion, such that “guest” software cannot distinguish VM-based execution from running on bare physical hardware. (Open Kernel Labs: What is Virtualization?)
Virtualization commonly refers to native virtualization, where the VM platform and the guest software target the same microprocessor instruction set and comparable system architectures. Virtualization can also involve execution of guest software cross-compiled for a different instruction set or CPU architecture; such emulation or simulation environments help developers bring up new processors and cross-debug embedded hardware. (Open Kernel Labs: What is Virtualization?) A virtual machine provides a software environment that allows software to run on bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A hypervisor, also called virtual machine monitor (VMM), is computer software/hardware platform virtualization software that allows multiple operating systems to run on a host computer concurrently. A virtual machine is an efficient, isolated duplicate of the real machine. The hypervisor presents an interface that looks like hardware to the “guest” operating system. (An Introduction to Virtualization) Virtualization is also a method of partitioning one physical server computer into multiple “virtual” server, giving each the appearance and capabilities of running on its own dedicated machine. Each virtual server functions a s a full-fledged server and can be independently rebooted. How does virtualization function?
Use software to transform or “virtualize” the hardware resources of an x86-based computer—including the CPU, RAM, hard disk and network controller—to create a fully functional virtual machine that can run its own operating system and applications just like a “real” computer. Each virtual machine contains a complete system, eliminating potential conflicts. Virtualization works by inserting a thin layer of software directly on the computer hardware or on a host operating system. This contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently. Multiple operating systems run concurrently on a single physical computer and share hardware resources with each other. By encapsulating an entire machine, including CPU, memory, operating system, and network devices, a virtual machine is completely compatible with all standard x86 operating systems, applications, and device drivers. You can safely run several operating systems and applications at the same time on a single computer,...