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 utilizes this application to operate and generate various virtual machines. Here, the virtualization software allows direct access to any of the created virtual machines 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.
Virtualization software is able to convert hardware IT resources that 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 can be employed, such as the network connection and CPU.
- Connected peripherals with which it can interact, such as webcam, printer, keyboard, or Scanners.
- Data that 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 the program requests them and the user account in the context of which it runs. OS may also hide these resources, which leads that when a 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 that 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.