Virtual machines - purpose and overview. Overview of virtual machines Overview of programs virtual machine

Which one do you think is the best?

I will not invent a story and retell others. I’d rather suggest you read an article from Linux Format magazine. In which experts made a comparative review of five popular virtual machines in the hope of finding the one... the best virtual machine. By the way, I highly recommend that those who renounced and were able to escape from the captivity of Windows subscribe to the magazine.

  • What is a virtual machine
  • Why do you need a virtual machine?
  • How we tested Virtual Machines
  • Performance
  • Functionality
  • Compatibility and snapshots
  • Desktop integration
  • Graphics acceleration
  • Verdict

What is a virtual machine

In simple terms, without getting bore, a virtual machine is an operating system within an operating system.

Why do I need a virtual machine

In our case, a virtual machine is primarily a platform for testing programs. Among which, as you understand, there may be . The virtual machine is also used by hackers to test their own and other people’s Trojans and other miracle files. No matter what group you belong to, you will still be interested in learning more about virtual machines and how they work.

How we tested virtual machines

First, we took a dual-core computer (due to budget restrictions) with fresh Arc Linux. In addition to proprietary VMware (version 7.1.0 of Layer and a 30-day trial of Workstation 11), we used the official Arch packages, which follow developer releases very closely. Each machine had 2 GB of system RAM and 128 MB of video memory (256 MB if needed).

We tested each candidate on different guest OSs: Mint 17.1 and Kubuntu 15.04 beta, as well as different versions of non-Linux OS under named Windows. To evaluate performance, we compiled the core Mint core, ran the SunSpider JavaScript benchmark, and played various games from our Steam library. To test real options, we ran them on an 8-core machine with 16GB of RAM and a 4GB Nvidia GTX, but then they forced us to return it.

Virtualization technology has fundamentally changed the computing landscape. We'd be embarrassed to say that this is a new invention (early mainframes used it as a means of provisioning), but decade-old CPU innovations mean that you'll only get near-native performance with x86 code. And now we manage to cram dozens of machines (easily copied and restored) into one case, and the work of data centers has become much more efficient. You can also imitate another architecture, say, ARM, which is convenient for embedded system developers.

This is also a benefit for ordinary users: getting to know a new OS no longer has to be such a time-consuming exercise in constant fear of ruining your system. Even if you just want to test new program, it's much safer to do this in a virtual machine instead of risking your current setup. Support for in-kernel virtualization (via KVM) and the Qemu emulator means Linux users no longer need to resort to proprietary tools.

In the old days, VirtualBox from Sun (once owned by Innotek, now Oracle) was the only real option. But times have changed, so let's look at other virtualization applications.

Both VMware and VirtualBox use kernel-dependent modules that are loaded to work their magic. VMware will need to compile them, which will require installing the kernel header packages and all the compiler stuff. Then you will receive an init script to load specified modules, although it will be useless for Systemd users. If this is your case, you might want to create your own init file instead of running this script as root all the time (or seeing the same error messages). At the time of writing, the 3.19 series kernels required patching up the VMware source code, but hopefully this will be fixed by the time the magazine is published. VirtualBox packages are available in most distributions, and if you have a standard kernel, you don't have to worry about anything.

Virt-Manager requires the libvirtd service to be running on your system before it can be launched, which a helpful message will notify you of, and if you're using a full-featured desktop environment, it will do this for you; All you have to do is enter the root password.

Both VirtualBox and VMware Workstation are quite simple, as long as you don't get distracted by each option. But in VMware Player there are not so many options, and you will get your machine up and running very quickly. But if you're determined to make the most of all these options, you'll have to install the Guest Additions.

The Linux Guest Additions for VirtualBox are much easier to install (the CD will run automatically) than the VMware add-ons, which require you to copy programs from an imaginary CD, change the permissions, and then run the script. Is it really 1999? But, having done all this, you will be rewarded with improved graphics and a number of additional functions, which we will discuss further.

The easiest to use of our selection is Boxes, even if this is due to providing only the bare minimum of Qemu / libvirt functions. VMware Player and VirtualBox come in second, followed by their paid rival (nominally more difficult, due to more options). Virt-Manager isn't particularly difficult to use, but it has just enough of Qemu's maze of settings to overwhelm a newbie. In addition, its mechanism for managing storage is quite confusing, especially if you are going to store your virtual disk in a non-standard location: then you first need to add the required directory as a “storage pool”. However, all the necessary exotic modules will be provided by your own distribution, and in this case, why not take a risk.

Performance

Will they create a slow or agile VM for you?

Thanks to hardware enhancements and paravirtualization technologies, it is now possible to perform some tasks at speeds close to those of real hardware.

However, as it is, there is usually some performance hit. Almost every configuration on which we tested the guest desktop exhibited some kind of slowdown. But you get used to it, and you can turn off all the beauties or turn on the appropriate troubleshooting mode if it bothers you.

We're not taking 3D performance into account here - that wouldn't be entirely fair, and it has its own category across the page. However, for everyday tasks using Terminal, you're unlikely to notice much difference between our candidates. Experiments with kernel compilation have shown that VirtualBox is significantly behind the competition. Comparison test JavaScript SunSpider confirmed this finding: both tasks completed 20% slower than the others. Disk input/output (I/O) (especially if you have an SSD) and network traffic were fast for all of our candidates. Ultimately, VMware gained the upper hand by supporting newer Intel processors.

Functionality

What does each candidate have to offer?

All of our candidates target different use cases and therefore each have their own, individual benefits. Of course, the presence of some standard features is certainly implied: these, for example, include the ability to create snapshots, support for Intel VT-x and AMD-V processor extensions, and flexible configuration of virtual hardware. All this is offered by everyone, but some applications are capable of more heroic feats.

A disclaimer here is that Gnome Boxes and Virt-Manager are just interfaces to Qemu (via the libvirt abstraction layer). And Qemu is essentially a processor emulator that is capable of virtualization via KVM, but is still a world of its own.

So, let's look at our candidates individually.

Gnome Boxes ★★

When invoked from the command line, Qemu supports a ton of options, most of which are missing from Gnome Boxes: its goal (implemented) is simplicity and clarity appearance and work. Through its user-friendly wizard interface, you can set up a virtual machine in literally three clicks - just point it to the appropriate ISO. Boxes abstracts the difference between a virtual machine and a remote machine, and you can connect to both via VNC, SPICE (which allows audio to work over a network), or OVirt.


Gnome Boxes

Boxes doesn't offer much in the way of managing your virtual machine over the network, but it at least provides all the NAT wizardry you need to get your virtual machine talking to the world. The remaining candidates successfully configure NAT, network bridges or host-only networks, and all this can be very convenient in certain circumstances.

Virt-Manager ★★★★

Virt-Manager (aka Virtual Machine Manager) offers significantly more Qemu features (but again, not all). He seems to have gone overboard with his supported list operating systems x86, in particular from the Linux family.


Virt-Manager

Leaving this aside, Virt-Manager makes it relatively easy to configure a machine of any complexity - you can add any equipment, including several network interfaces. In addition to KVM VMs, Virt-Man-ager can enable Qemu/libvirt support for Xen guests and LXC containers. Optionally, it can also poll guest resources and thus provide very nice graphs (like the ones in the Performance section on page 25, which takes about 30 seconds after Windows startup 10). Additionally, Virt-Manager takes advantage of Qemu's recently added USB 3.0 support.

Compatibility and snapshots

Is it possible to move virtual machines between real ones?

Sometimes you need to move a VM between hypervisors. All of our programs can import machines stored in the Open Virtual Appliance (OVA) format, which is simply a tarball of a VMDK (VMware) disk image, and virtual hardware data. VirtualBox allows export to this format, but also has its own - Virtual Disk Image (VDI), and also copes with all the others.

The qemu-img command can be used to convert formats. Of particular note is his favorite QCOW2 format, which allows you to store multiple snapshots of the system internally, using the excellent Copy On Write (COW) technique.

Boxes, Virt-Manager, VirtualBox and VMware Workstation support system snapshots, saving different states of their VM. VMware Player only allows you to have one snapshot per machine in addition to its current state. So deep regression testing is excluded.

VirtualBox and VMware Workstation can also "clone" a VM, and this is an effective method of creating system snapshots: data is written to the corresponding clone only if its state is different from the state of the parent. VMware allows you to mount a VMDK guest image on the host, which can also be convenient, although the same trick can be done by converting to a raw disk image and using standard Linux tools and arithmetic to calculate the partition offset.

VirtualBox ★★★★

Originally a desktop virtualization client, VirtualBox is still probably the go-to tool for many. This program has a clear structure that simplifies setting up a virtual machine, and many useful options. In addition to limiting the number of CPU cores that the guest OS has access to, VirtualBox allows you to specify a limit on the guest's CPU usage as a percentage. VirtualBox also supports video recording, so you can record a Windows tutorial for your YouTube channel in an evening.


VirtualBox

It can import any virtual disks, but only offers USB 2.0 host controller support, and then only if you install Oracle's proprietary extension pack. Options for distributed clipboard access and drag-and-drop (in one or both directions, as you wish) are quite convenient. VirtualBox has convenient indicators for network and disk I/O and CPU usage.

By the way, in the article “” we talked in detail about how to install and properly configure the VirtualBox virtual machine.

VMware Player ★★★

VMware's free offer has passed long haul since its introduction in 2008. The most remarkable thing is that this is no longer a player: it is more than capable of creating a high-quality virtual machine for you.


VMware Player

In addition to supporting a number of network configurations (NAT, bridged, host-only, etc.), it offers very nice network traffic shaping options, which is very convenient if you are testing the latest version of, say, a DDoS client or seeing how many malware you can hang Windows XP on your virtual machine until it bursts. VMware also supports USB devices 3.0, and installing guest tools will allow you to use brilliant graphics, a shared clipboard, and shared directories. Player is somewhat inferior when it comes to snapshots (it only allows you to take one), but we criticized it in the previous section.

VMware Workstation ★★★★★

There is a non-free version of VMware Player (VMware Player Pro), but we decided that for this Comparison it would be more appropriate to take the higher-end Workstation instead. The app has a lot of extra features for developers, including the ability to group virtual machines into a sort of virtual phalanx so you can have them all come online at the same time with a single click.

VMware Workstation also offers support for new commands on modern Intel processors, and also allows you to configure machines with virtual CPUs, up to 16 and 64 GB of RAM. However, Workstation is very much aimed at integrating with the rest of the (rather heavy) VMware suite, and therefore will look more at home in an enterprise environment.

Desktop integration

Will they clash with your color scheme?

Some users love the perfect harmony of the interfaces of virtual machines and their corresponding hypervisors with the host desktop, while others are just confused.

VirtualBox uses Qt4, which is especially infuriating on the Qt-based Arch Linux desktop, which uses Qt5 everywhere, but it's just something of a niche flaw. Boxes fits perfectly with Gnome 3, as you'd expect; Virt-Manager and VMware use GTK3 and also work perfectly with it.

All of our candidates allow us to switch the virtual machine to full-screen mode, and fortunately they all allowed us to switch back using the appropriate key combination.

Standout modes include Unity in VMware (no, this is not a way to make everything Ubuntu-like) and Seamless in Virtual-Box - both display application windows directly from the guest on the host desktop. This is very good for a Linux VM (eliminating the potential confusion between guest and host windows), however trying to run
the preview didn't go well; Windows 7 with Aero enabled was also not the most pleasant experience.

All of our candidates support running the guest in full screen mode, and can be configured to change resolution when the window size is changed. Suitable hotkeys are provided to exit this scenario. The drag-and-drop feature on VMware machines is very convenient, which is why VMware wins in this category.

Graphics acceleration

Is it possible to avoid software rendering problems?

Any of our candidates would serve you well if you just wanted to install a virtual machine with no intention of doing anything graphics-intensive.

But if you need 3D acceleration, you need to use VMware or VirtualBox. Once you get past installing the Guest Additions (including the double-negative VirtualBox question that tries to steer you away from its experimental WDDM support needed for, say, the Windows 7 Aero interface), you'll be able to enjoy 3D acceleration in VirtualBox and in two VMware clients.


Boom-boom, Maxwell's silver hammer landed on the, uh, beehive. He died shortly after this screenshot was taken in Don't Starve.

VirtualBox allows you to allocate up to 256 MB of system RAM to the virtual video card, and VMware - up to 2 GB. Note that these gigabytes are not taken from your actual graphics card, so you often won't see much improvement above 256 MB. VirtualBox also provides 2D acceleration for Windows guests, which should help speed up video rendering, enlarge the screen and color correction, although this largely depends on the host configuration - this setting will not have much effect on a fast machine. A Windows VM probably won't run Battlefield 4 or Middle-earth: Shadow of Mordor (we're lucky they're ported to Linux) when everything is cranked up to 11, but more older or less demanding games will work just fine: we spent a good hour playing the popular indie game Don't Starve, completely forgetting about our Comparison.

Everything worked better on VMware than on VirtualBox, but perhaps this was due to a more advantageous configuration - on Arch Linux we were using the latest proprietary Nvidia driver, which could lead to an advantage of one over the other.

Verdict

Virtualization is a long-standing and complex topic for comparisons. If you want to run 3D games, you won't even look at Gnome Boxes or Virt-Manager, and unless you get better results with VirtualBox than we do, you'll choose VMware as your hypervisor. But again, this technology is by no means as mature as DirectX 11 running in the native format. You may have even better luck with games in Wine [Ed.: - Or not.] with some experimental performance patches. We're generally not crazy about VMware licenses, especially ones that force you to pay after a 30-day trial, but for some, Workstation's enterprise-grade features will be a boon. Particularly if you use vCenter Converter from VMware, you virtualize a machine with one click - ideal if you want to test something new on your current system.

We haven't covered the ton of command line tools that come with all of our candidates, but they are there, along with more than copious documentation. You can use them in your scripts when you go all out on virtualization, pushing out a whole host of virtual machines from the safety of the command line environment. Perhaps hackers will prefer to work with Qemu directly, while those looking for a simple free solution with open source happiness will be Gnome Boxes.


The bubbles look good if you don't see the effort that went into rendering them.

But there is only one winner (a tie is a rare exception), and this time it is Virt-Manager - well, we couldn’t let VMware win. Virt-Manager allows you to harness most of the power of Qemu without resorting to lengthy command-line spells. Virtual machines you can pause, reconfigure, move and clone - all without much hassle. The only thing it lacks is support for graphics acceleration, but who knows, maybe it will appear. VMware Player and Gnome Boxes are tied for second place as they both score highly for their simplicity, and we love the Boxes icon, which features a tesseract (or a hypercube, or a cube within a cube - whatever you prefer).

Virt-Manager ★★★★
All managers should do such a good job.

VirtualBox ★★
Once the only solution, now on the sidelines.

VMware Player ★★★
Fast and convenient, but the license let me down.

VMware Workstation ★★
Fast and full-featured, but not free.

Boxes ★★★
The simplest way to install and configure a VM.

Every PC user sometimes wants to try some other operating system, but does not dare install it on his work computer. Indeed, installing an unfamiliar OS is a very risky action. With one wrong command you can lose all the data on the disk. But today there is a way to try several operating systems on one computer at once, and, if desired, even simultaneously! This method is called a virtual machine or virtual computer. Let's consider three best programs, which allow you to use virtualization technology at home.

General information about virtual machines

Virtualization systems existing today have much in common. In particular, each virtual machine recognizes a CD drive as well as a floppy drive. In addition, it is possible to work with virtual drives and disk images. Very useful is the ability to manually set the quantity random access memory for each of the virtual machines, a list of connected devices, etc. Such flexible settings allow you to comfortably use the guest system. A very convenient feature is the ability to pause the virtual machine at any time. This frees up necessary hardware resources for the host system.

All the differences between existing virtual machines, in fact, come down only to the list of operating systems they support, as well as cost. Most common today VirtualBox systems, Windows Virtual PC and VMWare. How are they different?

ORACLE VirtualBox - a universal, free virtual machine

VirtualBox- a very simple, powerful and free virtualization tool, developed thanks to the support of the famous ORACLE corporation. Allows you to install almost any modern operating system as a “guest”, be it Windows, MacOS or any of the many representatives of the Linux family.

Creating virtual machines in VirtualBox is done using a step-by-step wizard. Any more or less experienced PC user can understand how it works. The system supports working with networks, therefore, if desired, you can give the virtual machine access to the Internet.

VirtualBox allows you to create "snapshots" of the operating system. With their help, you can create “restore points” to which you can “roll back” the guest system at any time in case of errors or failures.

Windows Virtual PC - virtual machine from Microsoft

Screen Windows Virtual PCWindows Virtual PC is a virtual machine for working only and exclusively with Windows. Installation of Linux, MacOS and other operating systems is not supported.

Virtual PC allows you to run multiple different copies of Windows on the same computer. At the same time, you can set their priority in order to automatically allocate more resources to the needs of a particular virtual machine, slowing down the work of the others.

The monoplatform nature of the Virtual PC virtual machine is its main disadvantage. However, if you only need to test programs running on Windows, this is not relevant. One of the disadvantages is that the interface is less functional and less convenient than in VirtualBox. Otherwise, Virtual PC is a completely reliable tool that allows you to create virtual machines running Microsoft Windows operating systems.

VMware Workstation - for serious tasks

VMWare virtualization system screenVMware Workstation is a powerful, paid, highly reliable virtualization program that supports Windows and Linux. This machine is not intended for virtualization of MacOS.

Due to its high reliability and wide functionality, VMware Workstation is often used not only for testing, but also for the constant operation of virtual machines as servers, be it a firewall separating an organization’s network from the Internet or even a database server.

VMware Workstation is highly customizable, including many hardware options and options network connections for working with the Internet. This system is better than others in playing graphical applications on virtual machines, since it has a special virtual 3D accelerator for obtaining high-quality graphics.

The VMware Workstation interface is quite well organized, so getting used to all its rich functionality is quite easy. The program fully supports the Russian language.

It should be noted that VMware Workstation has a free “little brother” - VMWare Player. The player cannot create virtual machines, but allows you to run those previously created in VMware Workstation. This program will be useful in testing cases when, for example, a developer automated system They will submit it for review in the form of a virtual machine image. This practice is becoming increasingly widespread because it saves the user from having to deploy an unfamiliar program themselves.

Summary

If you want to just test it any program or new operating system, the best choice would be a free virtual machine - ORACLE Virtual Box. It supports any modern OS and is highly customizable.

VirtualBox is aimed at current versions operating systems, therefore, if you need to ensure the operation of any program written for one of old Windows versions , the ideal choice would be Windows Virtual PC - it most reliably implements the intricacies of any version of Windows on the most modern hardware.

If you want to expand serious virtual solution that requires stable, long-term operation, you should choose VMWare Workstation. Although this is a paid system, it guarantees reliable operation for critical tasks.

Do you need to run applications developed for Mac on Windows? I really want to be one of the first to try Windows work 10 TP, but it’s no longer possible to allocate a separate partition on your hard drive for it? Nothing is impossible; virtualization, the most complex and useful technology, will help you with all this.

There is no perfect operating system. No matter what operating system we install on our PC, be it Windows, Linux or Mac, we will all find something in it that does not suit us. The imperfection of the system becomes especially noticeable when, in addition to working with documents, we have to solve more advanced tasks on a PC. If we are compulsive, then due to dissatisfaction with one already installed OS, we can easily initiate the installation of another, despite the fact that this is not the easiest and fastest procedure.

Most users, especially those who are still at the stage of mastering computer literacy, are intimidated by the task of installing several operating systems on one computer at once. Almost everything starts to confuse them: breaking down hard disk, solving boot problems, and what is also important, they know that in order to enter the second or third installed OS, they will have to constantly restart the computer. But not everything is as bad as it seems at first glance. Such an interesting, useful and at the same time extremely complex concept as virtualization technology comes to the rescue.

The goal of virtualization is to ensure the existence and simultaneous operation of several operating systems on one computer.

Most often, virtualization is used to solve problems of the following type:

  • Specialists of large companies use virtualization for the best and efficient distribution of large computing power servers;
  • Home users use virtualization (virtual machines) to simultaneously run several applications from different operating systems. With the help of virtual machines, the user can run Windows XP and programs written for it in another operating system, say, running on the Linux kernel. Or create a virtual Windows 8 OS on an Apple Macintosh computer.

Virtual PC – virtual machine from Microsoft

Microsoft, the developer of the most popular operating system, has developed its own virtualization system, which is designed to work exclusively in the Windows environment - this is Virtual PC 2007 for Windows XP and Vista, as well as the relatively new Virtual PC virtual machine for Windows 7. In addition to latest version virtualization program developers have created a tool called Windows XP Mode, which is a virtual version of XP Professional. This tool allows you to run legacy applications and programs on the newer Windows 7 OS.

In Windows 8 and test Windows 10, Virtual PC was replaced by more new technology Hyper-V, borrowed from Windows Server. This technology has a lot of differences from ordinary virtual machines, so we will devote a separate review to it.

Microsoft is not actually the developer of Virtual PC. Initially, this program was created by another company and was designed to work on Windows and Mac OS. At that time, OS/2, DOS and OS based on the Linux kernel were used as guest operating systems. When Microsoft became the sole owner of this product, it was decided to refuse support Mac program OS. Thus, all the developers' efforts were focused on the further development of Virtual PC exclusively for Windows OS. As a result, today we have a free tool for creating a virtual environment that works great on Windows as a host and guest OS. However, with all this, this tool is quite mediocre, due to the fact that it lacks various kinds of add-ons designed to interact with all other systems.

You can download it here: www. microsoft. com

VmWare virtual machine

VmWare is a leader recognized by the entire global IT community in the field of creating virtual solutions for specialists. However, the developer company has tools not only for specialists from large organizations, but also for home users - this free application VMware Player. Earlier, free program virtualization VMware Player could only launch previously created virtual machines (their images), but now it has also learned to create them. That is, the application has become a full-fledged virtualization tool. True, unlike its paid counterpart, called VMware Workstation, the functionality of the free application is somewhat limited, but we can safely say that the advanced functions of the paid version are not always needed by a home user.

VMware Player uses Linux and Windows as the main operating system, and DOS, Windows, Linux, Mac, BSD and others can be used as guest operating systems. For those who are the proud owner of a Macintosh computer, the developer releases the VMware Fusion application, which in its capabilities is completely reminiscent of VMware Workstation.

One of the distinctive features of this application is the Unity mode (by the way, the Parallels product, which we will talk about below, also has it), which is designed to hide the virtual machine window from the user’s eyes. That is, the user sees, as it were, an OS within an OS. In this case, windows opened in the guest OS of applications are displayed on the main desktop.

You can download it here: www. vmware. com

Parallels Workstation – virtualization for the home user

One of the largest players in the global virtualization market is Parallels. Its main virtualization tools are intended primarily for large service provider companies. But the developer does not disdain the home user either; for machines with Windows and Linux, the company has a virtualization program called Parallels Workstation, and for Apple machines there is a similar solution, Parallels Desktop. Unlike other developers, this company does not offer free solutions; the user will have to pay to create and run a virtual machine.

The functionality and capabilities of Parallels Workstation or Parallels Desktop fully justify the price of the application. For example, using them you can easily import virtual machines, even those that were created in other virtualization programs; in addition, the capabilities of these paid applications allow you to create, and subsequently run on other machines, images of the main virtual systems.

It is also worth noting that the company has mobile version Parallels Mobile applications for iOS. With this version, you can easily configure remote control of a running Parallels Desktop virtual machine on Mac OS.

You can buy it here: www. parallels.com.ru

VirtualBox – virtual machine from Oracle

One of the most common virtualization programs is VirtualBox. More than one group of developers, and not one well-known company in the IT environment, worked on the creation of this application. Currently, the product is fully owned by Oracle, which acquired it during the acquisition of the previous owner (Sun Microsystems) back in 2010. As a result of all the movements of the VirtualBox program from one owner to another, today we have a virtualization program with a large number of supported operating systems. On the official website of the program, you can download assemblies for installation on your computer for the Windows, Mac OS, Linux and Solaris platforms. By the way, these same OS can be used in VirtualBox as guests.

In general, VirtualBox is distributed with open source source code, making it completely free to use. However, to obtain more advanced functionality and capabilities, say, to support the RDP protocol or the USB 3.0 standard for the guest OS, the user will need to install additional plugins, which, by the way, are also distributed free of charge, but are closed source.

You can download it here: www. virtualbox. org

From everything described above, we can draw a conclusion and focus, as it seems to us, on two virtualization programs - VirtualBox and VMware Player. These applications are enough to install additional operating systems.

The rapid development of virtualization technologies has had a significant impact not only on the development of the IT infrastructure of large enterprises. Power desktop personal computers have reached a level where one physical machine can support multiple operating systems running simultaneously in virtual machines. Just a few years ago, virtual machines were something exotic for end users, who installed them mostly for evaluation purposes. Nowadays, multi-core processors and large amounts of RAM are not uncommon on a home or office computer, and this allows us to come up with new options for using them in the context of virtualization technologies.

Many users are finding a variety of uses for desktop virtualization platforms, both at home and at work. After all, a virtual machine, compared to a physical one, has significantly greater flexibility in terms of portability to another physical platform. In addition, over the past couple of years, the quality of desktop virtualization platforms has increased significantly in terms of functionality, ease of use and performance. The relatively recent introduction of support for hardware virtualization on desktop systems means that leading processor manufacturers such as Intel and AMD believe in the future of virtualization technologies on personal computers.

Of course, such cumbersome and hardware-demanding operating systems as Windows Vista, are capable of absorbing the power of user desktops, no matter how high they are, but progress does not stand still, and further development of desktop hardware platforms will soon make it possible to support several such systems simultaneously, satisfying performance requirements. However, many users believe that the use of virtualization technologies at home is not necessary and consider virtualization as another specific technology that will not have much impact on them. Mostly, this is due to the fact that they do not see worthy ways to use virtual machines.

In business, virtualization technologies are implemented mainly to maintain the virtual infrastructure of the company's servers and have very little impact on end users. In this article we will show that almost any personal computer user can use virtualization technologies to increase the efficiency of their work on a personal computer at home, as well as for everyday tasks in the workplace.

How to use virtual machines at home

Most personal computer users often encounter the problem of using potentially dangerous or unstable applications that can either damage the operating system or affect the operation of other programs. Often home computer, which also contains working documents, is used by several people, among whom not all understand how to handle it correctly so as not to damage important data or the operating system. Creating user accounts does not solve this problem, since many applications require administrative rights to install, and using the computer in this mode significantly limits its use. Of course, many also face the problem of transferring the operating system and installed applications to another computer when purchasing it. The category of users who actively use laptops is faced with the problem of synchronizing data between it and a desktop computer. After all, not only is file synchronization necessary, but you also need to use the same applications at work and at home. For many people, it is also important to be able to learn how to work with various operating systems, which in this case do not require high performance. In this case, for example, when working in Linux, the user needs to access Windows applications, and to do this he has to restart the computer. And the main problem during training is the impossibility of simulating a real network between several computers if only one is available. All these and many other problems can be solved by using virtual machines in desktop virtualization systems.

The main options for home use of virtual machines are the following:

  • Creating a personal virtual environment isolated from the host system, which allows you to use several copies of working environments on one computer, completely isolated from each other. Unfortunately, this model excludes the option of using virtual environments for 3D games, since virtualization platform manufacturers have not yet learned to fully support the emulation of all functions of video adapters. VMware is currently ahead of everyone in this regard; in the latest versions of its desktop platform VMware Workstation, it has included features for experimental support for Direct-3D and shaders. However, not so long ago, the PCI-SIG company developing the standard PCI Express, has published new specifications for the PCI Express 2.0 standard, which claim support for I/O virtualization features that greatly simplify guest access to physical hardware. Undoubtedly, the time is not far off when we will play games on virtual machines.
  • Create portable virtual machines that are ready for use on any other architecture-compatible platform. If you need to demonstrate the operation of a program, it or the operating system environment must be configured in a certain way - virtual machines the best option in this case. Do all the necessary things in the virtual machine, burn it to a DVD and where you need to show how everything works, install the virtualization platform and start the virtual machine.
  • Obtaining secure user environments for the Internet. When working on the Internet, which, as everyone knows, is fairly filled with viruses and Trojan horses, running an Internet browser in user-mode is not an acceptable solution for many from a security point of view. After all, there are many vulnerabilities in software, including operating systems, through which malware can damage important data. A virtual machine in this case is a more advantageous option, since a malware, after gaining control of the operating system in a virtual machine, can only cause harm inside it, without affecting the host OS. By the way, recently viruses have begun to appear that detect their presence in a virtual machine and do not reveal themselves in this case, however, so far there are only a few such malicious programs, and in any case, no harm will be done to important data until the infected objects are transferred to the host OS . Therefore, the use of virtual machines in this case does not at all exclude the use of anti-virus software.
  • Creating environments for experimenting with potentially dangerous software. In a virtual machine, you can safely try out a new registry cleaner or disk utility. You can also safely install application software that could, under certain conditions, damage your system or your data. In this case, the virtual machine acts as a sandbox in which your programs are played. You can safely observe and study their work without worrying about the safety of your data.
  • Convenient and simple backup user environments. Ultimately, a virtual machine is just a folder of files on your computer that can be copied to backup media and then easily restored. In this case, you do not need to create hard disk images to make backup copy your system.
  • Possibility of training to work with operating systems other than your host one. Of course, you can install a second OS in parallel with your main system, but in this case, if you need any application from the main system, you will have to reboot. In this case, a virtual machine is an ideal option: you run the OS you need in parallel with the host OS and switch between them if necessary. On many systems, sharing files between the guest and host systems is as simple as dragging and dropping files and folders with the mouse pointer.

We have listed only the main options for using virtual machines at home; of course, there are other, more specific areas of their application. But the real prospects for using desktop virtualization systems open up in business, where, above all, accessibility and saving time and costs on purchasing additional equipment are important.

Desktop virtualization platforms in business

For most companies, when it comes to virtualization, this primarily means virtualizing the enterprise server infrastructure. However, there are many VM-based solutions for end users that can significantly improve the productivity of a company's employees. Let's consider the main areas of application of virtual machines in business on virtualization platforms for desktop users:

  • Creation of repositories of typical templates for user work environments. Depending on the specifics of the organization’s work, its employees need to use a certain set of software. When a new employee joins an organization, he needs to install an operating system, configure it in a certain way, in accordance with the requirements of the organization and security policies, and also install all the necessary application software. When using virtual machine templates, this problem is solved very simply: an employee is installed with a desktop virtualization platform, and a virtual machine from a set of organization templates is launched in it, in which all the necessary software is installed and the appropriate operating system settings are made. This model will significantly reduce deployment time, as well as provide high flexibility when transferring an employee’s virtual desktop to another physical machine. Of course, this use case may require increased hardware resources, but this will more than pay off if the employee has to operate with large volumes of heterogeneous data, the backup of which will require significant time. For example, marketing employees, who install many of the programs they need, try things out every day and work with different documents. In this case, they can copy the folder with files of their working virtual machine at the end of the working day, without fear that tomorrow when installing the next program everything will “break”.
  • Creation of a virtual desktop infrastructure that allows for centralized storage of user environments on secure company servers. The end users themselves use remote desktop access tools for their environments (for example, Terminal Services) stored in the corporate data center. This option for using virtual machines requires significant costs for its implementation, since in this case it requires support for server virtualization platforms of the company’s data center. However, this provides the best level of security and availability. Since all work environments are stored and maintained centrally in a secure data center, the likelihood of confidential information leakage is significantly reduced. At the same time, the degree of accessibility of such environments increases significantly, because access to them can be provided from anywhere with a high-speed connection. Strictly speaking, this solution does not apply to desktop virtualization platforms, but it does affect end users. An example of such a solution is VMware Virtual Desktop Infrastructure, based on the virtual infrastructure of an organization’s servers in a corporate data center. The structure of such a model is shown in the figure:
  • Use of virtual machines protected by security policies. IT professionals who need to ensure the confidentiality of their personal data, as well as frequently demonstrate various software to customers, are ideal for solutions for creating secure virtual machines that provide a means of restricting access to various functions for working with a virtual machine. You can also set the validity period of the virtual machine and thus distribute the software so that a certain circle of people cannot use the virtual machine for more than the permitted time. An example of such a solution is VMware's ACE Manager product.
  • Simplify user training by creating classrooms with virtual machines running various operating systems and application software. If a group of employees in an organization needs to be trained to use a certain product or program, you can create one virtual machine template and install the virtualization platform on each of the computers in the classroom. Next, the virtual machine can be copied to all computers and launched with all the required number of programs. If you need training on another product, you can create a new virtual machine template and also deploy it to all computers in your classroom.
  • Development and testing of software in the company. A virtual machine, being an isolated environment, is ideal for software development. Developers and testers can create the operating system configurations and user environments they need to simulate program behavior on various platforms. As part of this use case, it is also possible to model working pairs of virtual machines on the same physical platform that interact with each other through networking. In addition, some platforms, such as VMware Workstation, allow you to create virtual machine state trees, each of which stores a specific user configuration. Each of these states can be rolled back with one click. An example of such a tree:

Comparative review of desktop virtualization platforms

Leading companies in the field of desktop virtualization platforms have done a lot over the past two years to make them as easy to use as possible and accessible to even the most inexperienced user. The leaders in the production of virtualization systems for end users at the moment are the following companies: VMware with the products VMware Workstation, VMware ACE and VMware Fusion, Microsoft with the Virtual PC product, Parallels, which is promoting its virtualization platform for Mac OS with the Parallels Desktop for Mac product, and the company InnoTek with the free and open source VirtualBox platform. Let's take a quick look at the capabilities of some of these products.

VMware Workstation


VMware is today the undisputed leader in the field of desktop virtualization systems. Its products are easy to use, feature rich functionality and are fast. Almost all manufacturers of desktop virtualization platforms are focused on the product. The process of creating a virtual machine and installing a guest operating system is not particularly difficult: during creation, you must specify the amount of RAM allocated for the guest system, the type and size of the virtual disk, the folder where the virtual machine files will be located and the type of guest OS to be installed. A bootable CD or DVD or ISO image can be used as the guest system installation distribution. After installing the operating system in a virtual machine, you must install VMware Tools and disable all unnecessary emulated devices in the settings in order to optimize performance. You can also create a snapshot of the “clean” state of the guest system, in which all data on the virtual disks at that moment will be saved, and you can return to their saved state at any time. TO key features VMware Workstation can be classified as:

  • Support for various types of virtual disks (controllers for both IDE and SCSI disks are emulated):
    • fixed size (Preallocated) or growing as they are filled (Growing), while the former are optimized for performance, and the latter are convenient because they do not take up much space before they are filled
    • Independent disks that are not affected by operating system snapshots. Such disks are convenient for organizing file storage, the changes of which are not required when working with snapshots of the state of the guest system
    • support for disks whose state is not saved when the virtual machine is turned off
    • possibility of direct recording to a physical disk
  • Support for various types of network interaction between virtual machines, including combining virtual machines into “teams” (Teams), which allows you to create virtual subnets consisting of virtual machines with different numbers of virtual machines network adapters(up to three). The virtual network interface can operate in three different modes:
    • Bridged Networking- the virtual machine shares the resources of the network card with the host operating system and works with the network external to it as an independent machine.
    • Host-only Networking- the virtual machine receives an IP address in its own host subnet from the VMware DHCP server. Accordingly, you can only work on the network with other virtual machines on this host and with the OS of the host itself.
    • NAT- the virtual machine also operates on the host’s own subnet (but different), however, through the VMware NAT server, it can initiate connections to an external network. It is impossible to initiate a connection to such a virtual machine from an external network. Within the host, network communication is ensured.
    • Disks can also be mounted on the host system using the utility vmware-mount and expand using the utility vmware-vdiskmanager(this utility also serves to perform a number of other actions on virtual disks).
  • The ability to easily share files using the Drag&Drop interface, as well as by creating shared folders(Shared Folders) between the host and guest OS.
  • Support for a large list of guest and host operating systems.

The latest version of VMware Workstation 6 also includes the following useful features:

  • Full support for USB 2.0 interface
  • ability to record virtual machine activity
  • integrated product VMware Converter (for Windows hosts) for importing virtual machines from other manufacturers
  • running a virtual machine as a service

It is also worth noting that the VMware Workstation product is currently the only virtualization platform that experimentally supports Direct-3D in guest operating systems. The main and perhaps the only drawback of this platform is the fact that it is not free.

Microsoft Virtual PC

Having appeared as a competitor to VMware Workstation, the Connectix product, which was later purchased by Microsoft Corporation along with the company, did not receive worthy development in its hands. As a result, at the moment, in almost all respects it is inferior to the VMware Workstation platform and can only be launched in the host operating system Windows system. However, a fair number of users use it as a desktop virtualization platform because Virtual PC is free and covers basic needs for using virtual machines. The guest installation process is also very simple and intuitive. After the operating system is installed, you need to install Virtual Machine Additions (analogous to VMware Tools in VMware Workstation), which significantly increase the performance of the guest OS by improving virtualization technology. VM Additions can also be installed on Linux guest operating systems.

The main advantages of the Microsoft Virtual PC product include the following features:

  • Full Windows support Vista as both a host and guest operating system. In terms of performance, Virtual PC 2007 is a significant step forward compared to previous version, and now Windows performance Vista in a virtual machine is quite acceptable.
  • Support for 64-bit Windows host systems.
  • Improved performance by taking advantage of improvements introduced in Microsoft Virtual Server 2005 R2.
  • Availability of different types of virtual disks:
    • Dynamically expanding (similar to Growing in VMware Workstation)
    • Fixed Size (analogous to Preallocated in VMware Workstation)
    • Differencing - a disk that stores changes from the current state of the virtual disk
    • Linked to a hard disk (analogous to direct writing to disk in VMware Workstation)
  • The presence of various types of network communication between virtual machines and the host:
    • analogue of Bridged Networking in VMware Workstation
    • Local only (analogous to Host-only in VMware Workstation)
    • Shared Networking (similar to NAT in VMware Workstation)

It should be noted that the Virtual PC product is aimed more at home users rather than IT professionals and software developers, while VMware Workstation, with much greater functionality, is able to cover the needs of the latter. At the same time, Virtual PC is free and is intended mainly to simplify migration to and support for new Microsoft operating systems outdated versions. And, of course, the popularity of the Virtual PC platform is influenced by its free nature, creating a specific niche for the use of this product.

Parallels Workstation and Parallels Desktop for Mac


The product is intended for use on Windows and Linux platforms as a desktop virtualization system. Due to the fact that the Parallels company (actually owned by the Russian company SWSoft) is now focused mainly on the product, the development of this product has now somewhat stalled and in terms of functionality it is inferior to the two leading desktop platforms from VMware and Microsoft. Therefore, we will talk about the Parallels Desktop for Mac platform, which is now the main platform for Apple computers. In addition, at the moment the development of this platform is very dynamic, which is due, first of all, to the fact that VMware seriously intends to invade the virtualization market for Macs with its VMware Fusion product, which is almost ready for final release. Key features of the Parallels Desktop for Mac platform:

  • Easily create virtual machines in three steps using Parallels Installation Assistant. To create a virtual machine and install a guest operating system in it, no extra effort is required.
  • The presence of the Parallels Transporter utility, which allows you to migrate from a physical machine to a virtual one.
  • Full support for Windows Vista guest OS. This ensures simple file exchange between the guest and host operating systems
  • USB 2.0 interface support
  • Mac OS X "Leopard" support

Like most products for the Mac OS X platform, Parallels Desktop provides the user with a simple and user-friendly interface. It's no secret that many Mac users often feel the need to use Windows products, and Parallels Desktop provides them with this opportunity, allowing them to feel “in two worlds.”

You can also mention Parallels products such as Parallels Compressor Workstation and Parallels Compressor Server, which allow you to compress disks not only of Parallels virtual machines, but also of VMware, which is a solution to one of the problems that users often encounter.

VirtualBox


InnoTek recently entered the desktop virtualization market with an unexpected free and open source solution. At a time when it would seem that a new virtualization platform is difficult to bring to a decent level, InnoTek has achieved unexpectedly rapid success and popular recognition.

Many bloggers loyal to VMware, however, said that on their desktops, virtual machines on the platform run noticeably faster than virtual machines on VMware Workstation. In addition, until recently the VirtualBox platform was available only for Linux and Windows hosts, and at the end of April the first build for Mac OS X appeared, where the platform is planned to compete with such “monsters” of virtualization systems as Parallels and VMware. And, of course, she has every chance of winning. Considering the complete openness of the platform and its free nature, many enthusiasts are ready to take on improving the platform and increasing its functionality, hopefully without compromising its performance. At the moment, VirtualBox does not have such wide functionality as leading platforms; it does not support 64-bit systems and network interaction with Windows Vista, but you can get it on the website operational information what functions of the system are being worked on. At the moment, the platform has the following main features:

  • Quite a large list of supported host and guest operating systems.
  • Support for multiple snapshots of the current state of the guest system (snapshots).
  • Dynamically expanding and fixed-size disks.
  • Ability to install Guest Additions (analogous to VMware Tools) to increase the degree of integration with the host OS

Of course, in terms of functionality, VirtualBox is a very immature product, but its performance indicators indicate that the platform has a future, and the Open Source community will make every effort to improve and develop it.

What to choose as a desktop virtualization system?

To summarize, we can say that each of the platforms described above currently occupies its own niche in the field of application of virtualization technologies on desktop computers. Each virtualization system has advantages and disadvantages. Over time, of course, many of them will acquire the necessary functionality that satisfies most user needs. It is also hoped that tools will be provided to convert virtual machine formats between platforms.

Undoubtedly, when it comes to using a desktop virtualization system at home on Windows hosts, you should choose between the Microsoft Virtual PC or VirtualBox platforms, since they are free and have the necessary functionality to support virtual machines at home. However, when it comes to the use of virtual machines in business, in a corporate enterprise environment, where the deployment of desktop virtualization systems places high demands on functionality and reliability, you cannot do without VMware Workstation, which is significantly superior to other described platforms. The VirtualBox product can also find its place here, as it is the most optimized for performance.

Virtual PC should be used when providing support for older versions of Windows and running Windows Vista as a guest OS. And users of the Mac platform cannot do without the Parallels Desktop product: this is evidenced by the fact that the result of more than 100,000 copies of the product sold was recorded back in 2006. Mac users should also pay attention to the VMware Fusion platform, which in the future claims to be the leader in the field of desktop virtualization platforms.

Virtualization technologies for personal computers are becoming closer to the end user and can now be used both in the daily work of employees of organizations and on home computers to create protected or isolated personal environments. In addition, the use of virtual machines on desktops is not limited to the described options. For example, in a VMware virtual machine, in the windowed mode of the guest operating system console, you can set a resolution higher than that supported by the monitor, and scroll bars will appear in the guest system window. This will allow you to test a website or application at high resolutions if you do not have an appropriate monitor. This example shows that the options for using virtual machines on desktop computers depend on your imagination. And rapidly evolving custom virtualization platforms can help you meet your needs.

Virtual machine is a program that allows you to get a computer within a computer. That is, your real computer is capable of emulating another computer (with different hardware, operating system, BIOS and others).

The main purposeserver virtualization (invirtual machines) is the installation and testing of programs on different operating systems, which helps determine where the program runs faster, where the interface is more convenient, etc.

Advantages of modern virtual machines:

  • You can install any OS without damaging or cluttering your own hard drive;
  • You can test various applications, comparing their performance on different operating systems;
  • You can check files for infection by running them in an artificial shell that you create in a virtual machine;
  • You can create and administer networks in different operating systems, which will help you learn the architecture corporate networks more in depth;
  • You may run programs that are not available on your operating system.

Today there are many options for emulators that can reproduce different operating systems: from popular ( Windows ) to little-known ( Calibri ), from the oldest versions to the newest. And now we will take a short tour of the most famous virtual machines, making detailed review on them.

Virtual Machines Overview

1 - VirtualBox . Perhaps the most famous emulator program among users, provided by the company Oracle . The program has a simple user interface and built-in Russification, which is already suitable for novice users.

Installation is also not difficult, because there is an installation wizard. You will immediately be prompted to create a virtual machine, select an OS, and give it a name. Then you must give the “new” computer a certain amount of RAM and internal memory(no more than half of real hardware). Then comes the selection of the disk type and further system configuration. By following the recommendations, you can keep two operating systems on your computer without causing damage to the main system.

VirtualBox program It has a simple and precise structure, as well as a number of interesting options. For example, you can record screen video to demonstrate software on another OS. Possible in this program you can import any virtual disks, you can monitor the indicators of I/O controllers, and there is also shared access to the clipboard, which is also very convenient.

2 - VirtManager . A program that is also easy to use, but still somewhat more complicated than the previous version. A newbie can easily get confused here, and just the list of all 86-bit operating systems can be overwhelming.

Here the installation is somewhat more complicated, because to create a virtual machine you need to create a storage pool, and for this you need to assign a specific directory. However, the complex installation is due to good opportunities of this virtual machine.

For example, you can add equipment and constantly monitor them, detailed statistics are displayed, the performance of the entire system, you can control the machine through command line and many more useful properties.

You just need to understand it a little, and then you can get a convenient tool for emulating the new OS.

3 - GnomeBoxes . If the previous program required users to have certain knowledge and time to study, and it was more suitable for system administrators, then the utility Gnome Boxes much simpler and suitable for the average user to familiarize themselves with.

In a couple of clicks you can set up a full-fledged virtual machine, and the program has a simple, colorful interface. Yes, the program's capabilities are greatly reduced compared to the previous alternative, but it provides the main base of capabilities.

An excellent option for a novice user, which will show what virtual machines are capable of.

4 - VMware Player. Don’t be confused by the word “Player”, because today it is no longer a player, but a program for creating a full-fledged virtual machine, and of fairly high quality.

If you are not developing your own software, then VMware Player is perfect for you, otherwise it’s better to choose another emulator, because it doesn’t even have a full setup of network adapters.

For most users, this is great program, in which you can configure network configurations, monitor the number of malware, and install Windows XP , which will literally be “rubber”, i.e. quite powerful.

5 - WMwareWorkstation . But here the emulator, on the contrary, is perfect for software developers. What is the cost of one possibility of grouping virtual machines? Those. you can simultaneously run the program on all operating systems and conduct thorough analytics.

It has become possible to create machines with a central processor and a memory size of up to 16 GB, which allows you to test quite powerful software tools on other operating systems. However, it is much more convenient to purchase the entire package W Mware and use this package to its full potential.