VMware Inc, currently a wholly owned subsidiary of EMC Corporation
VMware Workstation is one of the commercial software products sold by VMware Inc. The Workstation 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 Workstation allows one physical machine to run numerous operating systems simultaneously. Other VMware products help manage or migrate VMware virtual machines across multiple host machines.
The computer and operating system instance that executes the VMware Workstation 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 Workstation 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.
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 (without the recent kqemu add-on).
VMware Workstation takes an even more optimized approach and runs code directly when this is possible (kqemu does this too). 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 Workstation to run Mac software on a wintel PC.
Another drawback is that it is not normally possible to efficiently nest VMware virtual machines. Finally, although VM virtual machines run in user mode, VMware Workstation itself requires installing various drivers in the host operating system, notably in order
to dynamically switch the GDT.
Besides bridging to network adapters, CD-ROM readers, hard disk drives, and USB devices, VMware Workstation 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 Workstation, you can try LiveCDs without burning them onto physical discs or rebooting the computer. You can also take snapshots of an OS running under VMware Workstation. Each snapshot allows you to roll back the the virtual machine to the saved status at any time. The Multiple snapshots feature makes VMware Workstation very popular as a tool for sales people to demonstrate complex software products, and for developers to create virtual development and test environments. Workstation includes the ability to designate multiple virtual machines as a team, which can then be powered on and off, suspended and resumed as one object which is particularly useful for testing client-server environments.
New enterprise grade servers and tools from VMware Workstation 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.