Operating system based Virtualization
Prerequisites – Types of Server Virtualization, Hardware based Virtualization
Operating system based Virtualization refers to an operating system feature in which the kernel enables the existence of various isolated user-space instances. The installation of virtualization software also refers to Operating system-based virtualization. It is installed over a pre-existing operating system and that operating system is called the host operating system.
In this virtualization, a user installs the virtualization software in the operating system of his system like any other program and utilize this application to operate and generate various virtual machines. Here, the virtualization software allows direct access to any of the created virtual machine to the user. As the host OS can provide hardware devices with the mandatory support, operating system virtualization may affect compatibility issues of hardware even when the hardware driver is not allocated to the virtualization software.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
Virtualization software is able to convert hardware IT resources which require unique software for operation into virtualized IT resources. As the host OS is a complete operating system in itself, many OS based services are available as organizational management and administration tools can be utilized for the virtualization host management.
Some major operating system-based services are mentioned below:
- Backup and Recovery.
- Security Management.
- Integration to Directory Services.
Various major operations of Operating System Based Virtualization are described below:
- Hardware capabilities which can be employed, such as the network connection and CPU.
- Connected peripherals with which it can interact with, such as webcam, printer, keyboard, or Scanners.
- Data which can be read or written, such as files, folders and network shares.
The Operating system may have the capability to allow or deny access to such resources based on which program requests them and the user account in the context of which it runs. OS may also hide these resources, which leads that when computer program computes them, they do not appear in the enumeration results. Nevertheless, from a programming perspective, the computer program has interacted with those resources and the operating system has managed an act of interaction.
With operating-system-virtualization, or containerization, it is probable to run programs within containers, to which only parts of these resources are allocated. A program which is expected to perceive the whole computer, once run inside a container, can only see the allocated resources and believes them to be all that is available. Several containers can be formed on each operating system, to each of which a subset of the computer’s resources is allocated. Each container may include many computer programs. These programs may run parallel or distinctly, even interrelate with each other.
Operating system-based virtualization can raise demands and problems related to performance overhead, such as:
- The host operating system employs CPU, memory, and other hardware IT resources.
- Hardware-related calls from guest operating systems need to navigate numerous layers to and from the hardware, which shrinkage overall performance.
- Licenses are frequently essential for host operating systems, in addition to individual licenses for each of their guest operating systems.