VMware, Inc. is a company providing virtualization software founded in 1998 and based in Palo Alto, California, USA. It is majorily owned by EMC Corporation.
VMware's desktop software runs on Microsoft Windows, Linux, and Mac OS X, while VMware's enterprise software hypervisors for servers, VMware ESX and VMware ESXi, are bare-metal embedded hypervisors that run directly on server hardware without requiring an additional underlying operating system
VMware software provides a completely virtualized set of hardware to the guest operating system. VMware software virtualizes the hardware for a video adapter, a network adapter, and hard disk adapters. The host provides pass-through drivers for guest USB, serial, and parallel devices. In this way, VMware virtual machines become highly portable between computers, because every host looks nearly identical to the guest. In practice, a system administrator can pause operations on a virtual machine guest, move or copy that guest to another physical computer, and there resume execution exactly at the point of suspension. Alternatively, for enterprise servers, a feature called VMotion allows the migration of operational guest virtual machines between similar but separate hardware hosts sharing the same storage. Each of these transitions is completely transparent to any users on the virtual machine at the time it is being migrated.
VMware Workstation, Server, and ESX take a more optimized path to running target operating systems on the host than emulators (such as Bochs) which simulate the function of each CPU instruction on the target machine one-by-one, or dynamic recompilation which compiles blocks of machine-instructions the first time they execute, and then uses the translated code directly when the code runs subsequently (Microsoft Virtual PC for Mac OS X takes this approach.) VMware software does not emulate an instruction set for different hardware not physically present. This significantly boosts performance, but can cause problems when moving virtual machine guests between hardware hosts using different instruction-sets (such as found in 64-bit Intel and AMD CPUs), or between hardware hosts with a differing number of CPUs. Stopping the virtual-machine guest before moving it to a different CPU type generally causes no issues.
VMware's products predate the virtualization extensions to the x86 instruction set, and do not require virtualization-enabled processors. On such older processors, they use the CPU to run code directly whenever possible (as, for example, when running user-mode and virtual 8086 mode code on x86). When direct execution cannot operate, such as with kernel-level and real-mode code, VMware products re-write the code dynamically, a process VMware calls "binary translation" or BT. The translated code gets stored in spare memory, typically at the end of the address space, which segmentation mechanisms can protect and make invisible. For these reasons, VMware operates dramatically faster than emulators, running at more than 80% of the speed that the virtual guest operating-system would run directly on the same hardware. In one study VMware claims a slowdown over native ranging from 0–6 percent for the VMware ESX Server.
VMware's approach avoids some of the difficulties of virtualization on x86-based platforms. Virtual machines may deal with offending instructions by replacing them, or by simply running kernel-code in user-mode. Replacing instructions runs the risk that the code may fail to find the expected content if it reads itself; one cannot protect code against reading while allowing normal execution, and replacing in-place becomes complicated. Running the code unmodified in user-mode will also fail, as most instructions which just read the machine-state do not cause an exception and will betray the real state of the program, and certain instructions silently change behavior in user-mode. One must always rewrite; performing a simulation of the current program counter in the original location when necessary and (notably) remapping hardware code breakpoints.
Although VMware virtual machines run in user-mode, VMware Workstation itself requires the installation of various drivers in the host operating-system, notably to dynamically switch the Global Descriptor Table (GDT) and the Interrupt Descriptor Table (IDT).
The VMware product line can also run different operating systems on a dual-boot system simultaneously by booting one partition natively while using the other as a guest within VMware Workstation.
Products
vCenter Server ($) (license manager) | Server Hardware | ESX ($) (vMotion, DRS, HA, Storage vMotion) | Guest OS Guest OS Guest OS... | ||
ESXi (freeware) (ESXi freeware is managed by the Virtual Infrastructure (or vSphere) Client) ESXi ($) (vMotion, DRS, HA, Storage vMotion) | Guest OS Guest OS Guest OS... | ||||
Workstation Hardware | Windows or Linux OS | VMware Server (freeware) | Guest OS Guest OS Guest OS... | ||
User Session | VMware Workstation ($) VMware Player (freeware) | ||||
vSphere Client for managing ESX(i) hosts (freeware) |
For more details on this topic, see List of VMware software.
Desktop software
- VMware Workstation (first product launched by VMware in 1999). This software suite allows users to run multiple instances of x86 or x86-64 -compatible operating systems on a single physical PC.
- VMware Fusion provides similar functionality for users of the Intel Mac platform, along with full compatibility with virtual machines created by other VMware products.
- VMware Player For users without a license to use VMware Workstation or VMware Fusion, VMware offers this software as freeware product for personal use. While initially not able to create virtual machines, this limitation was removed in version 3.0.1
Server software
VMware markets two virtualization products for servers:- VMware ESX (formerly called "ESX Server"), an enterprise-level product, can deliver greater performance than the freeware VMware Server, due to lower system overhead. VMware ESX is a "bare-metal" product, running directly on the server hardware, allowing virtual servers to also use hardware more or less directly. In addition, VMware ESX integrates into VMware vCenter, which offers extra services to enhance the reliability and manageability of a server deployment, such as
- VMotion - the capability to move a running virtual machine from one ESX host to another and faster than some other editions
- Storage VMotion - the capability to move a running virtual machine from one storage device to another
- DRS - Distributed Resource Scheduler - automatic load balancing of a ESX cluster using VMotion
- HA - High Availability - In case of hardware failure in a cluster, the virtual servers will automatically restart on another host in the cluster
- VMware ESXi (formerly called "VMware ESX 3i"), is quite similar to ESX, but differentiates in that the Service Console is removed, and replaced with a minimal BusyBox installation. Disk space requirements are much lower than for ESX and the memory footprint is reduced. ESXi is intended to be run from flash disks in servers but can be run from normal disks. VMware ESXi hosts can't be managed directly from the console, all management is performed through a VirtualCenter Server.In July 2008, VMware decided to give away ESXi for free.
- VMware Server (formerly called "GSX Server", now both obsolete) is also provided as freeware for non-commercial use, like VMware Player, and it is also possible to create virtual machines with it. It is a "hosted" application, which runs within an existing Linux or Windows operating system.
No comments:
Post a Comment