VMware VMware

VMware - Definition and Overview


VMware.Logo.png


VMware is a commercial software product sold by EMC Corporation. The software consists of a virtual machine suite for Intel x86-compatible computers which allows the creation and execution of multiple x86 virtual computers simultaneously. Each virtual machine instance can execute its own guest operating system, such as (but not limited to) Windows, Linux, and BSD variants. In simple terms, VMware allows one physical machine to run numerous operating systems simultaneously.

Contents

Description

The computer and operating system instance that executes the VMware process is referred to as the host machine. Instances of operating systems running inside a virtual machine are referred to as guest virtual machines. Like an emulator, VMware provides a completely virtualized set of hardware to the guest operating system--for example, irrespective of make and model of the physical network adapter, the guest machine will see an AMD PCnet network adapter. VMware virtualizes all devices within the virtual environment, including the video adapter, network adapter, and hard disk adapters. It also provides pass-through drivers for USB, serial, and parallel devices.

Because all guest virtual machines use the same hardware drivers irrespective of the actual hardware on the host computer, virtual machine instances are highly portable between computers. For example, a running virtual machine can be paused, copied to another physical computer, and unpaused to resume execution exactly where it left off.

Implementation

Conventional emulators like Bochs emulate the microprocessor, executing each guest CPU instruction by calling a software subroutine on the host machine that simulates the function of that CPU instruction. This level of abstraction allows the guest machine to run on host machines with a different type of microprocessor, but is also very slow.

A more efficient approach consists in dynamically recompiling blocks of machine instructions the first time they are executed and later use the translated code directly. This approach is taken by Microsoft's Virtual PC for Mac OS X and by Fabrice Bellard's QEMU.

VMware takes an even more optimized approach and runs code directly when this is possible. This is the case for user mode and virtual-8086-mode code on x86. When direct execution is not possible, it rewrites code dynamically. This is the case for kernel-level and real-mode code. The translated code is put into a spare area of memory, typically at the end of the address space, which can then be protected and made invisible using the segmentation mechanisms. For these reasons, VMware is dramatically faster than emulators, running at more than 80% the speed that the virtual guest OS would run on hardware.

The drawback is that the OS you are running has to be compatible with your CPU. So unlike with an emulator, you cannot use VMware to run Mac software on a wintel PC. Another drawback is that it is not possible to efficiently nest VMware virtual machines. Finally, although VM virtual machines run in user mode, VMware itself requires installing various drivers in the host operating system, notably in order to dynamically switch the GDT.

Features

Besides bridging to network adapters, CD-ROM readers, hard disk drives, and USB devices, VMware also provides the ability to simulate some hardware. For example, an .ISO file can be mounted as a CDROM, .vmdk files can be mounted as hard disks, and the network adapter driver can be configured to use network address translation through the host machine rather than bridging through it (which would require an IP address for each guest OS on the host network).

With VMware you can try LiveCDs without burning them onto physical discs or rebooting the computer. You can also take a snapshot of an OS running under VMware, save it to a file, and roll back to that saved snapshot at any time. This makes VMware very popular as a tool for sales people to demonstrate complex software products, and for developers to create virtual development and test environments. New enterprise grade servers and tools from VMware are making it popular to migrate older production servers into virtual machines so that many legacy servers can be consolidated onto a single new host machine with little effort.

See also

External link


Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.