What is a virtual OS on a computer for? What are virtual machines for? What is a virtual machine for and what are the options for creating them

What is a virtual OS on a computer for? What are virtual machines for? What is a virtual machine for and what are the options for creating them

27.08.2021

From time to time, users have a need for a second computer on which a different shell can be installed. A virtual machine is a system for emulating another platform, it helps the user to operate the device when installing several operating systems that are independent of each other, so that one device can combine the properties of two or more PCs. This technique is popular among developers when testing programs.

What is a virtual machine

Such devices are created on real computers as conditional. This is a program that simulates a copy of existing hardware with all its components (BIOS, hard drive, peripherals). Using special utilities, you can run several virtual machines on one computer with the same or different operating systems.

What is it for

Installing a virtual machine expands the capabilities of the computer. Why use this functionality?

  1. Installation of two operating systems on one computer. Allows to simultaneously install two shells: x32 and x64. The Windows emulator can be compatible with Linux.
  2. Virtualization makes it safe to run suspicious software and files.
  3. A virtual operating system other than the installed one helps you use applications that are incompatible with the native shell.
  4. Used when testing new utilities.
  5. Use as emulation of new architectures (for example, imitation of a game console).
  6. In order to protect information and limit the capabilities of programs.
  7. Several conditional processors help simulate a computer network; this is important when debugging a server.
  8. The program for creating a virtual machine is used to connect peripherals that are incompatible with the installed shell.

Virtual Machine Overview

The first attempts to develop such software began in the 70s. Now virtual machines have the ability to create a full-fledged computer with parallel or built-in access. Universal options support not only known shells of different bit sizes, but also unfamiliar ones OS... Each market segment has its own leaders.

For Windows 7

Virtualbox is an emulator that is distributed free of charge. The high rating and popularity among users is due to the fact that the version is supported by most of the known systems. The advantage of the utility is its intuitive interface, which makes it easier to manage. The disadvantages are that there is no way to transfer files using "grab and drag", you need to start a NAT connection.

VMware is paid service, which is highly customizable and optimizes hard disk space. The distribution kit of the ESXi version can be written to a USB flash drive or built into the Firmware server. Besides Windows, Linux, Solaris, FreeBSD, Netware are also suitable. The disadvantages include the fact that, in comparison with the previous resource, you cannot download full version utilities are free.

For Windows 10

Microsoft Virtual PC is a free virtual machine. It belongs to the category of virtual machines for Windows, and therefore cannot be installed on Linux
or Mac, which can be attributed to disadvantages. The downside is the lack of support for USB devices. It is intended to create a conditional shell through the machine code with the parameters of the hardware system components of the existing computer.

Oracle is a utility that helps you work with large amounts of information. When processing databases, their real protection is guaranteed. The advantage of the system is some manipulation that helps to get quick access to information, which speeds up the management process. For example, Oracle RAC is a fast deployable cluster database access.

For Linux

This system is relatively new, but it has proven itself to be very powerful thanks to its open source computer code. Linux OS is more difficult to find a virtual machine. OpenVZ released specifically for the shell. The service helps to configure multiple virtual processors on one machine. At the same time, open source bonuses are preserved, so that the PC does not lose power random access memory.

Hyper-V is an emulator that is used both in Linux and in 32 and 64-bit versions of Windows XP. The advantage is that it is a technology that directly "communicates" with the server hardware, and therefore reduces memory consumption and increases processor performance. The disadvantages include the fact that when managing large arrays of virtual servers, you need to additionally install System Center Virtual Machine Manager.

For Mac

VMware Fusion is an emulator that runs Windows and other operating systems on Mac computers without rebooting, providing virtual and physical server management. The advantage is that the Mac shell can be used separately from others or integrated into a single convenient environment. Among the downsides is paid use.

Boot Camp is designed to install Windows on a Mac computer. The shell goes as an additional system to a separate section hard disk... At startup, you just need to select a Mac - and virtual Windows will function. The utility is characterized by its simplicity and intuitive interface. Among the minuses, it is worth noting the need to restart in order to choose a different system.

If you have ever installed any programs, conducted some experiments on your computer, then you know very well how long it takes to restore its original state. Often this requires a complete system reinstallation.

In order to avoid such serious consequences, users go to all sorts of tricks: only from trusted sources, they use the most powerful and high-quality antiviruses, they do it in case of problems. But ordinary ones are more reliable than all this.

What is a virtual machine?

Imagine that on your computer, the second operating system is installed in parallel with the first one, which simultaneously works with it. It is completely independent of the "real" OS, any risky experiments can be carried out on it.

Have you presented? So, virtual machines allow all this, as they are special software "containers" in which you can run almost any operating system. Unlike the OS that is on your hard drive, it will not have direct access to the computer hardware, acting through a software shell.

As a result, you can launch at least a whole brood of viruses in it: they cannot do any harm. An ideal example is the VMware virtual machine, which power users use to run new versions of operating systems, to test questionable programs and drivers. In the realities of our country, it is even more often used to launch keygens to generate keys for programs. All this allows you not to spoil your system in vain.

But do not assume that virtual machines are the prerogative of Windows alone. Much more often they are used by users of Linux-like systems, since in many cases they may need to run some small utility that works only on a system from Microsoft. Tinkering with Wine for the sake of it is simply unjustified, while the "virtual machine" easily eliminates this need.

Often, users are looking for a comparison of virtual machines, trying to choose the best among them. It should be noted that the very same VMware, which has a number of undoubted advantages, often emerges in disputes. The developers of the program are constantly adding support for almost all existing operating systems to their product, including those that have just come out. In particular, it was this application that at one time allowed to run Windows 8, while in the popular Virtual box the system refused to start at all.

But the leader of the unspoken competition has one drawback. The program is paid. Of course, professionals who use its capabilities to test their programs do not have any difficulties, but I would still like to advise others not to mess with broken programs and use the free Virtual Box. Although these virtual machines are not very popular among professionals, their capabilities will be enough for you in abundance.

The concept of "virtual machine" appeared several decades ago, back in the late 60s of the last century. But then virtual machines were used not on personal computers, but on "big" computers such as IBM / 370 (or their Soviet counterpart - ES computers), and their tasks were somewhat different: to provide each of the numerous users with their own, independent "piece »Resources of a computing monster.

Why do we need virtual machines

Today virtual machines are experiencing a rebirth. One of the "fathers" of the modern generation of virtual machines, Professor Rosenblum, explains their revival for two main reasons:

■ the emergence of a large number of different operating systems (OS) that impose specific requirements on the parameters of the used hardware components of the computer;

■ high costs of administration and the complexity of maintaining computers on which several different operating systems are installed (including in terms of ensuring the required reliability and safety of work).

A modern virtual machine allows you to hide from the operating system installed on it some parameters of the physical devices of the computer and thereby ensure the mutual independence of the OS and installed hardware.

This approach provides users (and / or computer system administrators) with a number of benefits. These include, in particular:

■ the ability to install several operating systems on one computer without the need for appropriate configuration of physical hard drives;

■ work with several operating systems simultaneously with the ability to dynamically switch between them without rebooting the system (Fig. 1.1);

■ reducing the time required to change the composition of installed OS;

■ isolation of real equipment from the unwanted influence of software running in a virtual machine environment;

■ the ability to simulate a computer network on a single stand-alone computer.

Rice. 1.1. Multiple virtual machines on one desktop


Thanks to these advantages, the range of tasks that the user can solve without rebooting the system and without fear of causing any damage to it or completely disabling it is significantly expanding. Here are just a few examples of such tasks:

■ mastering a new operating system;

■ launching applications designed to work in a specific OS environment;

■ testing one application under different operating systems;

■ installation and removal of evaluation or demo versions of programs;

■ testing potentially dangerous applications that are suspected of being infected with viruses;

■ Managing user access rights to data and programs within a virtual machine.

The reader, probably, himself can easily supplement the above list with two or three situations when the presence of a virtual machine on the computer would be very useful.

Which users would like to learn how to work with virtual machines? Perhaps everyone who has more than one OS installed on their computer. And also for those who want to master a new operating system, but do not dare to immediately abandon the previous one. Virtual machines are very useful for teachers of various computer courses and disciplines, as well as for developers of multi-platform software products. They are of particular interest to web designers: after all, the pages they create should look equally attractive to users working on a variety of systems and platforms. With the ability to quickly switch from one environment to another with the help of a system of virtual machines, the “right” web designer is unlikely to miss the chance to test the result of his work in various web browsers.

All the listed advantages of virtual machines are common to many of them. In addition to these general properties, a specific software product usually has individual characteristics designed to increase its attractiveness in comparison with competing products.

On the websites of virtual machine developers, you can find numerous examples of the use of virtual machine technology by various well-known companies. For example, VMware virtual machines are used by Symantec to test network anti-virus packages; popular programmers search engine Google uses VMware virtual machines to measure performance google work with different web browsers and on different platforms.

How a virtual machine works

Let's start by clarifying the terms.

Terminology

From the user's point of view, virtual machine (VM) - it is a specific instance of a certain virtual computing environment ("virtual computer"), created using a special software tool. Typically, such tools allow you to create and run an arbitrary number of virtual machines, limited only by the physical resources of a real computer.

The actual tool for creating a VM (it is sometimes called a virtual machine application or PVM) is an ordinary application installed, like any other, on a specific real operating system. This real OS is called "master", or host, OS (from the English term host - "master", "basic", "master").

All tasks for managing virtual machines are solved by a special module as part of the VM application - virtual machine monitor (VMM). The monitor acts as an intermediary in all interactions between virtual machines and the underlying hardware, maintaining the execution of all created VMs on a single hardware platform and ensuring their reliable isolation. The user does not have direct access to the VMM. In most software products, it only provides a graphical interface for creating and configuring virtual machines (Fig. 1.2). This interface is commonly referred to as the virtual machine console.

Rice. 1.2. Virtual machine console example


"Inside" the virtual machine, the user installs, as on a real computer, the operating system he needs. Such an OS belonging to a particular VM is called guest(guest OS). The list of supported guest operating systems is one of the most important characteristics of a virtual machine. The most powerful modern virtual machines (presented in this book) provide support for about a dozen popular versions of operating systems from the Windows, Linux and MacOS families.

Virtual machine from the inside

When a virtual machine is created and launched, the user may have the complete illusion that he is working with a stand-alone computer that has its own processor, RAM, video system and (usually) a "standard" set of external devices, including a floppy drive and a CD reader. / DVD.

In fact, the virtual machine does not have access to the physical resources of the real computer. Working with them is entrusted to the previously mentioned VMM, as well as to another utility program - the virtual machine driver.

In a simplified form, the architecture of the system in which virtual machines are used is as follows (Figure 1.3):

■ the host OS and the virtual machine monitor share the rights to control the hardware components of the computer; at the same time, the host OS is engaged in the distribution of resources between its own applications (including the VM console);

■ the VM monitor controls the distribution of resources between running virtual machines, giving them the illusion of direct access to the hardware layer (this mechanism is called virtualization);

■ guest operating systems, within the limits of the resources allocated to them, control the operation of "their" applications.


Rice. 1.3. Virtual machine system architecture


The architecture shown is very general. However, virtual machine systems on the market today have significant differences. They are primarily due to the virtualization mechanism used in a particular system.

Types of virtual machines

A virtual machine system can be built on different platforms and using different technologies. The virtualization scheme used depends both on the hardware platform and on the specifics of the "relationship" between the host OS and the supported guest OS. Some architectures provide hardware-level virtualization, while others require additional software tweaks.

Currently, three virtualization schemes have become widespread:

■ emulation of the guest OS API;

■ full emulation of the guest OS;

■ quasi-emulation of the guest OS.

Virtual machines with guest OS API emulation

Typically, applications run in an isolated address space and interact with hardware using the API (Application Programming Interface) provided by the operating system. If the two operating systems are compatible in their APIs (for example, Windows 98 and Windows ME), then applications developed for one of them will work on the other. If two operating systems are incompatible in their APIs (for example, Windows 2000 and Linux), then it is necessary to intercept application calls to the API of the guest OS and simulate its behavior using the means of the host OS. With this approach, you can install one operating system and work simultaneously with both its applications and applications of another operating system.

Since all application code is executed without emulation, and only API calls are emulated, this virtualization scheme results in a minor loss in virtual machine performance. However, due to the fact that many applications use undocumented API functions or access the operating system bypassing the API, even very good API emulators have compatibility issues and allow no more than 70% of the total applications to run. In addition, it is very difficult to maintain API emulation of a booming operating system (such as Windows), and most API emulators remain emulators of a specific version of the operating system. For example, Windows NT / 2000 still has a built-in emulator for OS / 2 version 1.x applications. But the biggest disadvantage of a VM with guest OS API emulation is its focus on a specific operating system.

Examples of products made using the guest OS API emulation technology:

■ open source project Wine (Wine Is Not an Emulator, "Wine is not an emulator"), which allows you to run DOS-, Win16- and Win32-applications under Linux and Unix operating systems;

■ Win4Lin product from Netraverse, which allows you to run Windows operating systems under the Linux operating system;

■ open source project DOSEMU, which allows you to run DOS applications under the Linux operating system;

■ open source project User Mode Linux (UML), which allows you to run multiple copies of the Linux operating system on one computer (currently, the Linux kernel version 2.6 is also embedded);

■ Virtuozzo technology, developed by the Russian company SWsoft, which allows you to run multiple copies of the Linux operating system on one computer.

Virtual machines with full guest OS emulation

Projects that support full emulation technology work on the principle of interpreting instructions from the guest OS command system. Since this completely emulates the behavior of both the processor and all external devices, it is possible to emulate a computer with Intel x86 architecture on computers with a completely different architecture, for example, on Mac workstations or on Sun servers with RISC processors. The main drawback of full emulation is a significant loss of performance of the guest operating system (the speed of the "guest" applications can drop by a factor of 100-1000). Therefore, until recently, VMs with full emulation were most often used as low-level debuggers for examining and tracing operating systems. However, thanks to the significant increase in the computing power of even "desktop" computers, VMs with full emulation have become quite competitive today. The most prominent example of this type of VM is the Virtual PC product from Connectix (now purchased by Microsoft), which is described in detail in Chapter 2 of the book. Other examples of projects made using full emulation technology include the following:

■ open source project Bochs, which allows you to run various Intel x86 operating systems under Linux, Windows, BeOS and Mac OS;

■ Virtutech's Simics product that allows you to run and debug various Intel x86 operating systems under Windows control and other operating systems;

■ the Qemu project - an emulator of various architectures on a PC,

Virtual machines with quasi-emulation of the guest OS

The technology of quasi-emulation of the guest OS is based on the fact that not all instructions of the guest OS need to be emulated by means of the host operating system. Many of the instructions required for the "guest" applications to work correctly can be addressed directly to the host OS. The exceptions are instructions for controlling devices such as a video card, IDE controller, timer, and some others.

Thus, during the work of RM with quasi-emulation, the guest OS instructions are selectively emulated. Obviously, the performance of such a VM should be higher than that of a VM with full emulation. However, as it was said, at the achieved levels of performance of personal computers, the difference is not so noticeable.

Examples of projects made using quasi-emulation technology:

■ Virtual Platform technology, on the basis of which VMware offers four products: VMware Workstation for Windows NT / 2000 / XP, VMware Workstation for Linux, VMware GSX Server (group server) and VMware LSX Server (enterprise server);

■ Serenity Virtual Station (SVISTA) virtual machine (formerly twoOStwo), developed by the Russian company Parallels by order of the German company NetSys GmbH;

■ Plex86 open source project that allows you to run various Intel x86 operating systems under Linux.

■ open source project L4Ka using a microkernel;

■ an open source project Xen that allows you to run modified Linux, FreeBSD, NetBSD and Windows XP operating systems under Linux, FreeBSD, NetBSD and, if certain conditions are met, even provides performance gains.

The following chapters of the book consider the most popular representatives of various types of virtual machines today: Virtual PC 2004 from Microsoft, VMware Workstation from VMware, and a relatively "fresh" product - Parallels Workstation, created by Parallels. Moreover, the description of all competing programs is built according to the same scheme to make it easier for the reader to compare them with each other and make an informed choice.

Notes:

Mendel Rosenblum ([email protected]cs.stanford.edu) is a professor of computer science at Stanford University, cofounder and chief scientist at VMware. Chapter 3 of the book is devoted to working with this company's virtual machine, VMware Workstation.

Parallels is currently split into two separate companies. The first of them, which retained its former name, promotes its product under the Parallels trademark; the second, called Serenity Systems International (http://www.serenityvirtual.com), on the contrary, uses the previous product name - SVISTА - and its logo; both versions of virtual machines can run on Windows NT / 2000 / XP and Linux.

The rapid development of virtualization technologies has had a significant impact not only on the development of the IT infrastructure of large enterprises. The power of desktop personal computers has reached the point where a single physical machine can support multiple operating systems running concurrently in virtual machines. Until a few years ago, virtual machines were something exotic for end users who installed them, mostly for informational purposes. Multi-core processors and large amounts of RAM are no longer uncommon on a home or office computer, and this allows you to come up with new options for their use 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, in comparison with a physical one, has significantly more flexibility in terms of portability to another physical platform. In addition, the quality of desktop virtualization platforms has grown significantly over the past couple of years in terms of functionality, ease of use, and performance. More recently, support for hardware virtualization on the desktop says leading processor manufacturers such as Intel and AMD have faith in the future of desktop virtualization technologies.

Of course, such bulky and hardware-intensive operating systems as Windows Vista, are able to absorb 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, meeting the performance requirements. However, many users believe that using virtualization technologies at home is unnecessary and consider virtualization to be another specific technology that will not have much of an impact on them. For the most part, this is due to the fact that they do not see worthy ways to use virtual machines.

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

How to use virtual machines at home

Most personal computer users are often faced with the problem of using potentially dangerous or unstable applications that can either damage the operating system or affect the operation of other programs. Often, a home computer, on which work documents are also located, is used by several people, among whom not everyone understands how to properly handle it so as not to damage important data or the operating system. Creating accounts of the "User" type does not solve this problem, because many applications require administrative rights to install, and working at 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 buying it. The category of users who actively use laptops is faced with the problem of data synchronization between them and stationary computer... After all, you need not only file synchronization, 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, working in Linux, the user needs to access Windows applications, and for this he has to restart the computer. And the main problem in training is the impossibility of simulating a real network between several computers with one at the disposal of one. All these and many other problems can be solved by using virtual machines in desktop virtualization systems.

The main home use options for virtual machines are as follows:

  • Creation of a personal virtual environment that is isolated from the host system, which allows you to use multiple 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 manufacturers of virtualization platforms have not yet learned to fully support emulation of all functions of video adapters. Leading the way at this point in this regard is VMware, which has included experimental Direct-3D and shader support in the latest versions of its VMware Workstation desktop platform. However, not so long ago, PCI-SIG, a company developing the standard PCI Express, has published new specifications of the PCI Express 2.0 standard, which declares support for I / O virtualization functions, which greatly simplify guest systems' access to physical hardware. Undoubtedly, the time is not far off when we will be playing games in virtual machines.
  • Build portable virtual machines ready for use on any other architecture-compatible platform. If you need to demonstrate the work of a program, while it or the environment of the operating system must be configured in a certain way, virtual machines are the best option in this case. Do all the necessary steps 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.
  • Getting a secure user environment for the Internet. When working on the Internet, which, as everyone knows, is pretty full of viruses and "Trojan horses", launching an Internet browser in user-mode is not an acceptable solution for many from a security point of view. Indeed, in software, including operating systems, there are many vulnerabilities through which malware can damage important data. In this case, the virtual machine is a more advantageous option, since the malware, after gaining control over the operating system in the virtual machine, can only harm it 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 give themselves away in this case, but so far such malware units, 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 in the least preclude the use of antivirus software.
  • Creation of environments for experimenting with potentially dangerous software. In a virtual machine, you can painlessly try out a new registry cleaner or disk utility. You can also install application software without any risk that could damage your system or your data under certain conditions. In this case, the virtual machine acts as a sandbox in which your programs are played. You can safely watch and study them without worrying about the safety of your data.
  • Convenient and simple backup custom environments. Ultimately, a virtual machine is just a folder of files on your computer that can be copied to a backup media and then easily restored. In this case, you do not need to create hard disk images to back up your system.
  • Possibility of training to work with operating systems other than your host. 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, the virtual machine is ideal: you run the OS you need in parallel with the host and switch between them if necessary. In many systems, file exchange between the guest and the host system is organized simply by 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 when using desktop virtualization systems open up in business, where availability and savings in time and the cost of purchasing additional equipment are important, above all.

Desktop virtualization platforms for business

For most companies, when it comes to virtualization, this primarily means virtualizing the server infrastructure of the enterprise. However, there are many end-user virtual machine solutions that can dramatically improve employee productivity. Consider the main areas of application of virtual machines in business on virtualization platforms for desktop users:

  • Creation of repositories of typical templates of user working environments. Depending on the specifics of the organization's work, its employees need to use a certain set of software. When a new employee comes to the organization, he needs to install the operating system, configure it in a certain way, in accordance with the requirements of the organization and security policies, as well as install all the necessary application software. When using templates for virtual machines, this problem is solved very simply: an employee is installed 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 corresponding operating system settings are made. Such a model will significantly reduce the time spent on deployment, as well as provide high flexibility when transferring an employee's virtual desktop to another physical machine. Of course, such a use case may require increased hardware resources of the equipment, but it will be more than worthwhile if the employee has to operate with large amounts of heterogeneous data, the backup of which will take a significant amount of time. For example, marketing employees who install many of the software they need, try something and work with different documents every day. In this case, they can copy the folder with the files of their working virtual machine at the end of the working day, without fear that tomorrow, when the next program is installed, everything will "break".
  • Creation of a virtual infrastructure of desktops that allows you to centrally store user environments on the company's secure servers. The end users themselves use the tools remote access to the desktop of their environments (for example, Terminal Services) stored in the corporate data center. This use of virtual machines requires significant implementation costs, since in this case support of server platforms for virtualization of the company's data center is required. However, this provides the best level of security and availability. Since all production environments are stored and maintained centrally in a secure data center, the likelihood of confidential information leaks is significantly reduced. At the same time, the degree of accessibility of such environments is significantly increased, because access to them can be provided from anywhere with a high-speed connection. Strictly speaking, this decision does not apply to desktop virtualization platforms, but it does affect end users. An example of such a solution is VMware Virtual Desktop Infrastructure, which is based on a virtual infrastructure of an organization's servers in a corporate datacenter. The structure of such a model is shown in the figure:
  • Enforcing policy-protected virtual machines. IT professionals who need to ensure the confidentiality of their personal data, as well as frequent demonstration of various software to customers, are perfect solutions for creating secure virtual machines that provide means of differentiating access to various functions for working with a virtual machine. You can also set an expiration date for a virtual machine and thus distribute the software so that a certain group of people cannot use the virtual machine for more than the allowed time. An example of such a solution is VMware's ACE Manager.
  • Simplify user learning by creating classrooms with virtual machines, where various operating systems and application software are installed. If a group of employees in an organization needs to be trained to use a product or program, you can create one virtual machine template and install the virtualization platform on each of the classroom computers. Then the virtual machine can be copied to all computers and launched with all the required number of programs. If you need training on a different product, you can create a new virtual machine template and also deploy it to all computers in the classroom.
  • Development and testing of software in the company. The virtual machine, as an isolated environment, is ideal for software development. Developers and testers can create the necessary configurations of operating systems and user environments to simulate the behavior of the program on various platforms. Within this use case, it is also possible to simulate working bundles of virtual machines on the same physical platform that communicate with each other. In addition, some platforms, such as VMware Workstation, allow the creation of virtual machine state trees, each of which retains a specific user configuration. Each of these states can be rolled back with one mouse click. An example of such a tree:

Comparative overview of desktop virtualization platforms

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

VMware Workstation


VMware is the undisputed leader in desktop virtualization today. Its products are easy to use, feature rich and fast. Almost all manufacturers of desktop virtualization platforms are guided by the product. The process of creating a virtual machine and installing a guest operating system does not cause any special difficulties: 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 an installation distribution for the guest system. After installing the operating system in a virtual machine, be sure to 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, while all the data of the virtual disks at that moment will be saved, and at any time you can return to their saved state. Key features of VMware Workstation include:

  • Support for various types of virtual disks (controllers are emulated for both IDE and SCSI disks):
    • fixed size (Preallocated) or growing as it fills (Growing), while the former are optimized for speed, and the latter are convenient in that 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 storages that do not need to be changed when working with snapshots of the guest system.
    • support for disks, the state of which is not saved when the virtual machine is turned off
    • the ability to write directly to a physical disk
  • Support for various types of networking between virtual machines, including the combination of virtual machines into "Teams" (Teams), which allows you to create virtual subnets consisting of virtual machines with a different number of virtual network adapters (up to three). In this case, 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 external network as an independent machine.
    • Host-only Networking- the virtual machine obtains an IP address on 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 host OS itself.
    • NAT- the virtual machine also works in its own subnet of the host (but different), however, through the VMware NAT server, it can initiate connections to the external network. It is impossible to initiate a connection to such a virtual machine from the external network. Within the host, networking is provided.
    • Disks can also be mounted to the host system using the utility vmware-mount and expand with the utility vmware-vdiskmanager(this utility is also used to perform a number of other actions on virtual disks).
  • The ability to easily exchange files using the Drag & Drop interface, as well as by creating Shared Folders between the host and the guest OS.
  • Support for a large list of guest and host operating systems.

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

  • full support for USB 2.0 interface
  • the ability to record the activity of a virtual machine
  • 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 VMware Workstation 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 emerged as a competitor to VMware Workstation, the product of Connectix, which was subsequently bought by Microsoft together with the company, did not receive a worthy development in its hands. As a result, at the moment, in almost all respects, it loses to the VMware Workstation platform and can only be launched in the host operating room. Windows system... However, a fair number of users are adopting it as a desktop virtualization platform because Virtual PC is free and satisfies the basic needs for using virtual machines. The guest installation process is also very simple and intuitive. After the operating system is installed, it is necessary to install Virtual Machine Additions (analogous to VMware Tools in VMware Workstation), which significantly increase the performance of the guest OS by improving the virtualization technique. 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 support for Windows Vista both as host and guest operating systems. In terms of performance, Virtual PC 2007 has taken a significant step up from the previous version, and now the performance of Windows Vista in a virtual machine is quite acceptable.
  • Support for 64-bit host Windows systems.
  • Improved performance by leveraging the enhancements introduced in Microsoft Virtual Server 2005 R2.
  • Availability of different types of virtual disks:
    • Dynamically expanding (analogous to Growing in VMware Workstation)
    • Fixed Size (analogue of Preallocated in VMware Workstation)
    • Differencing - a disk that stores changes from the current state of the virtual disk
    • Linked to a hard disk (analogue of 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 (analogue of Host-only in VMware Workstation)
    • Shared Networking (analogue of NAT in VMware Workstation)

It should be noted that the Virtual PC product is aimed more at home users than for IT professionals and software developers, while VMware Workstation, having much more functionality, is able to cover the needs of the latter. At the same time, Virtual PC is free and is mainly intended to simplify migrations to new operating systems. Microsoft systems and support for their outdated versions. And, of course, the popularity of the Virtual PC platform is due to its free, creating a certain 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 Parallels (actually owned by the Russian company SWSoft) is now focusing mainly on the product, the development of this product has stopped somewhat and in terms of functionality it is inferior to the two leading desktop platforms from VMware and Microsoft. Therefore, let's 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 primarily due to the fact that VMware is seriously intending to invade the virtualization market for Macs with its practically ready-to-final release product VMware Fusion. Key features of the Parallels Desktop for Mac platform:

  • Easy three-step virtual machine creation with Parallels Installation Assistant. It doesn't take much effort to create a virtual machine and install a guest operating system in it.
  • Parallels Transporter utility that allows you to migrate from a physical machine to a virtual one.
  • Full support for Windows Vista guest OS. This provides a 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 intuitive interface. It is no secret that many Mac users often feel the need to use products for Windows, and Parallels Desktop gives them this opportunity, allowing them to feel “in two worlds”.

We can also mention such Parallels products as Parallels Compressor Workstation and Parallels Compressor Server, which allow compressing disks not only of Parallels virtual machines, but also of VMware, which is a solution to one of the problems frequently encountered by users.

VirtualBox


InnoTek recently entered the desktop virtualization market with an unexpected free 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 are noticeably faster than virtual machines in 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 it is planned to compete with such "monsters" of virtualization systems as Parallels and VMware. And, of course, she has every chance of winning. Given the complete openness of the platform and its free-of-charge, many enthusiasts are ready to tackle the development of the platform and increase the functionality, hopefully, without sacrificing its performance. At the moment, VirtualBox does not have such a wide functionality as the leading platforms, does not support 64-bit systems and networking with Windows Vista, but on the site you can get operational information on 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.
  • The ability to install Guest Additions (analogue of 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 for Desktop Virtualization?

Summing up, 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 of the virtualization systems has advantages and disadvantages. Over time, of course, many of them will acquire the necessary functionality that meets most of the needs of users. It would also be hoped that a means will be provided to convert virtual machine formats between platforms.

Undoubtedly, when it comes to using desktop virtualization 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 the corporate environment of the enterprise, where the deployment of desktop virtualization systems imposes high requirements for functionality and reliability, you cannot do without VMware Workstation, which significantly exceeds the other platforms described. Here, too, the VirtualBox product can find its place, as the most optimized in terms of performance.

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

Virtualization technologies for personal computers are getting closer to the end user and can now be used both in the daily work of corporate employees and on home computers to create secure 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 console of the guest operating system, you can set a higher resolution supported by the monitor, and scroll bars will appear in the guest system window. This will allow you to test your website or application at high resolutions without an appropriate monitor. This example shows that the use cases for virtual machines on desktop computers are up to your imagination. And the rapidly evolving custom virtualization platforms will help you meet your needs.

To have several operating systems with a separate workspace and applications at hand, you do not need to buy a second (third, fourth, etc.) computer. Because it all fits into your only PC. How? Thanks to virtual machines (VM) - special programs that create (emulate) imaginary (virtual) computers inside the main operating system.

The virtual PC is almost like a real one. It has its own processor, memory, hard drive, network adapter and everything else. Of course, these are not physical devices, but they are made in such a way that operating systems consider them just like that - real.

Several virtual ones can work on one physical computer at the same time. How much depends on hardware resources: the faster the processor, the larger the RAM, the more spacious the drive, the more. A typical home PC with average performance Windows based The 10 handles three to five lightweight operating systems running concurrently (like Windows XP, Android and Lubuntu + host system). Or two or three relatively heavyweight ones (for example, basic Windows 10 + virtual windows 7 and Mac OS X). As you already understood, virtual computer emulator applications allow you to install and run a wide variety of operating systems on them.

Virtual machines general purpose (as opposed to specialized ones - such as, for example, VM Java), use:

  • To run applications that the main system does not support.
  • To protect the system from potential harm from unverified programs.
  • As an additional barrier against viruses when visiting questionable web resources.
  • To create an isolated environment for studying malware activity.
  • As a testing ground for debugging your own developments.
  • To master the technologies of building networks.
  • For double authorization on some game portals and much more.

And of course, virtual machines are widely used to distribute server working resources.

Today we will not touch upon the industrial application of VM, but consider only what can be useful for home users of Windows.

Oracle Virtualbox

Let's take a look at the process of creating a new virtual machine and starting the installation of Windows 10 into it.

  • Click the "Create" button in the top panel.

  • In the first window of the VM creation wizard, we will indicate the OS name (it will be displayed in the list of guest systems), its type (Windows, Linux, etc.) and version. In our example, this is Windows 10 32 bit (you can also install 64 bit, but it will require more resources). Click Next to proceed to the next step.

  • Next, we will indicate the size of the VM's RAM. By default, Windows 10 x86 is allocated 1 GB, but you can increase this amount by moving the slider to the right. If your PC does not have a lot of RAM, do not give the VM more than 2-3 GB, otherwise the main system will slow down due to lack of memory.

  • Next, we create a virtual hard disk. If you are installing the system for the first time, select the "Create new" option.

  • Leave the default virtual disk type.

  • A storage format is an area on your computer's physical storage that is assigned to a VM. It can have a constant or dynamically expanding volume within the limits that you define further. To save space, we will choose a dynamic format.

  • Next, we will indicate the name of the volume (virtual disk C) and its size. The default is 32 GB.

  • After clicking the "Create" button in the last window, a new virtual machine will appear in the list. Its parameters are shown in the frame on the right.
  • To proceed to the Windows installation, click the "Run" button in the top panel.

  • In the window that will open after that, the window "Select a boot disk" will appear. Click on the folder icon and specify the path to the system distribution kit. It can be an image in .iso format or physical media (DVD, flash drive). After selecting the distribution, click "Continue".

  • The further course of OS installation into a virtual machine does not differ from its installation on a physical computer.

Some VM and guest settings

Clicking in the virtual machine window captures the mouse cursor (that is, it will only move within the virtual screen). Press Ctrl + Alt to return the cursor to the main OS.

To access the entire set of functions of the guest OS, you need to install special add-ons. Go to the "Devices" menu, click "Mount Guest OS Additions Disk Image" and follow the further instructions.

To connect a folder to the guest system for sharing files with the main one, click on the "Devices" menu item "Shared folders". Click on the "folder +" icon in the window that opens and through the "path to folder" field specify it in the explorer (it shows the directories of the main system).

If you want the setting to work all the time, check Auto Connect and Create Permanent Folder. The shared folder will be accessible from the virtual machine explorer as a network folder.

To change the order of polling boot devices (for example, to boot a virtual machine from DVD), shut down the guest OS, open its settings (in the main Virtualbox window) and go to the first tab of the "System" section. In the Boot Order list, mark the media you want and use the arrow buttons to move it up.

VMware Workstation Pro

Some options for Hyper-V virtual machines

To take a snapshot of a running guest OS, open the top menu of its Action window and click Checkpoint. Or press the combination Ctrl + N.

Access to the settings of an individual virtual machine is opened from its context menu in the list of the main manager window and is hidden behind the "Settings" button.

Other features of the program are also very straightforward and are mastered without much difficulty.

© 2021 hecc.ru - Computer technology news