Operating System-Based Virtualization: Simplifying Virtual Machine Management

Learn how operating system-based virtualization creates multiple user spaces on a single OS. Explore its benefits, including simplified backup and restoration, enhanced security administration, and seamless directory services synchronization.



Operating System-based Virtualization

Operating system-based virtualization is a feature that enables the creation of multiple separate user-space instances on a single operating system. This type of virtualization is also referred to as "virtualization during software installation" and occurs over an already running host operating system.

How it Works

In this form of virtualization, the user installs virtualization software on the host operating system just like any other application. The software then enables the creation and management of multiple virtual machines (VMs). The user can access and control the built-in virtual machines using the virtualization software. Hardware resources are handled by the host OS, which can support hardware devices even if the virtualization software does not have direct access to the hardware drivers.

Key Benefits of OS-based Virtualization

  • Backup and Restoration: Enables easy management of backup and restore processes for virtual machines.
  • Security Administration: Facilitates centralized security measures for virtualized environments.
  • Syncing with Directory Services: Helps maintain synchronization with directory services for user and resource management.

Principal Operations

Operating system-based virtualization allows the use of various hardware features such as:

  • CPU and Network Connections: Virtualized instances can access these essential resources.
  • Peripherals: Devices like webcams, printers, keyboards, and scanners can be used by virtual machines.
  • Data Access: Virtualized systems can read and write data, including files, folders, and network shares, while access is managed by the host OS.

Depending on the user account and program request, the OS can either grant or deny access to these resources. The OS may also hide certain resources from programs, making them invisible in the enumeration, but programs can still interact with them in a controlled manner.

Containerization in OS-based Virtualization

OS-based virtualization or containerization allows programs to run within isolated environments (containers), each receiving a portion of the computer’s resources. Multiple containers can exist within the same operating system, and each container can host different programs that can run concurrently or interact with one another. However, the resources available to programs are restricted to what is allocated to their respective containers.

Challenges and Performance Overhead

While OS-based virtualization provides many benefits, it can result in performance overhead due to the following reasons:

  • Resource Management: The host operating system must manage hardware resources like CPU, memory, and other peripherals.
  • Multiple Layers of Abstraction: Calls from guest operating systems to hardware resources must pass through multiple layers, which can reduce performance.
  • Licensing: Separate licenses are typically required for both the host and guest operating systems, adding to the overall cost.