Virtualization (computer science)

from Wikipedia, the free encyclopedia
Two different types of virtualization: on the left by virtualization software (e.g. VMware, DataSynapse Gridserver), on the right by virtualization at the hardware level (e.g. AMD64 with Pacifica )

In computer science, virtualization refers to the replication of a hardware or software object by a similar object of the same type with the help of an abstraction layer. This can be used to create virtual (i.e., non-physical) devices or services such as emulated hardware , operating systems , data storage, or network resources . This allows, for example, computer resources (especially in the server area) to be transparently grouped or divided, or one operating system to be run within another.

For the linguistic origin of the term see virtuality .

Applications and further details

The main goal is an abstraction layer (see also hardware abstraction layer ) between the user (such as an operating system ), and resource (such as the hardware of the computer , on an operating system usually has exclusive control) provide. In this way, other physical conditions can be simulated than are actually present: An operating system can thus be made to believe that a computer is being used alone, whereby it actually runs within another operating system as a normal application through the abstraction layer of emulated hardware. This also enables several different hardware resources to be combined to form a uniform environment - for example, several different network adapters can be bundled into a virtual, unified adapter.

Since virtualization can lead to considerable hardware savings, it is an important green IT measure. When used correctly, virtualization has a clearly positive effect on the environment.

Landlord and guest

To distinguish real and virtual environments, these are - similar to the so-called client-server model - guest and host or host ( English host ) called. The host (in general the host system or in particular e.g. the host operating system ) is always the level (or layer) that is closest to the real devices (or the so-called hardware ), and the environment running on the host is the guest (or the guest system ).

Software virtualization

This type of virtualization can be used for several purposes, e.g. B. to simulate an operating system or just an application.

Creation of virtual operating environments

Classification of virtualization approaches to create virtual operating environments in the overall context of virtualization.
Categorization of virtualization techniques to create virtual operating environments.
Operating system virtualization using an OS container
Operating system virtualization : here Fedora (in the window) on Ubuntu , with the help of a management system for virtual computers called VirtualBox
Approach of 'OS containers' to create virtual operating environments.

With virtualization at the operating system level, other computer programs are provided with a complete runtime environment virtually within a closed container (under BSD: Jail , under Solaris: Zone ). No other operating system is started; therefore it is impossible to run different operating systems (or even different versions of the same operating system) at the same time as guest operating systems - the main disadvantage of this concept. Drivers cannot be loaded in containers either. Because there is no hypervisor, the advantage of this concept is that it uses resources particularly efficiently (especially with regard to the processor load and the main and mass storage requirements), which is why one speaks of "lightweight" virtualization. In the case of operating system virtualization, only one host kernel always runs, whereby UML has a certain special role, since a special user mode kernel runs under the control of the host kernel.

System virtualization via hypervisor

Application virtualization

With the Windows 10 Update 1903, Microsoft offers Windows Professional users a sandbox for testing programs without affecting the main operating system. To do this, however, virtualization must be switched on, which is deactivated by default. The check can be carried out in the task manager under "Performance". The change happens in the BIOS of the hardware. To achieve this, you can easily go to Windows Settings, Update and Security. Under Restore at Advanced Start to "Restart now", please write down the remaining steps before executing: Troubleshoot, Advanced Options, then UEFI firmware settings, Restart. Here on the "Configuration" tab and select the item Virtualization Technology. Save and restart with F10.

Hardware virtualization

Either the entire system (partitioning with LPAR , domaining) or just individual components, such as B. CPU, be virtualized.

System virtualization at hardware level

The separation of a computer system into independent operating system instances is called server partitioning .

Partitioning refers to the division of a unique, usually large resource (such as hard disk space or a network connection) into a number of smaller and more manageable copies of the same type. This is often referred to as zoning , e.g. B. in storage networks.
Domaining is z. B. applied in the form of virtual hosts for an FTP server .
Processor virtualization
With system or operating system virtualization, the virtual machine monitor ( VMM for short ) receives commands from the guest systems ( virtual machines ) that are to be executed on the native hardware. Before the introduction of processor virtualization , certain (possibly security-critical) commands that a guest system sent to the hardware via the VMM had to be modified.
Thanks to processor virtualization from AMD and Intel, commands can now be sent directly to the processor without changing the VMM, which then independently takes care of the delimitation between guest system and VMM processes. By eliminating the changes to the VMM, a higher computing power of the overall system can be achieved.

In the case of virtual machines based on emulated hardware, however, the virtual machine monitor still has to modify the commands before they are executed on the native hardware.

Storage virtualization

Abstraction of the physical storage form of a data store is known as storage virtualization .

Network virtualization

By Virtual Local Area Networks devices are divided into a remote network in groups, between which connections are basically prevented, but can be selectively enabled.

A virtual private network forms a network that is shielded from the outside via foreign or untrustworthy networks.

Software for the simultaneous operation of several virtual operating systems on one computer can provide a virtual network over which they communicate. Several networks can also be simulated, which can be used to set up a virtual private network , for example for testing purposes .

See also

Web links