An Introduction to OS Virtualization (Part 1)

If you would like to read the next part in this article series please go to An Introduction to OS Virtualization (Part 2).


After server virtualization and application virtualization, the virtualization space progresses to the next level. Together with VDI (Virtual Desktop Infrastructure), Operating System (OS) Virtualization is one of those techniques which is getting popular in the current market. The Ardence Company (nowadays part of Citrix) is the pioneer of the OS Virtualization technique. In this article I will explain the basics of Operating System Virtualization. In the second upcoming article I will continue discussing the possibilities that open up with this technique, the advantages and disadvantages and the current status of this technique.

What is OS Virtualization?

With operating system virtualization nothing is pre-installed or permanently loaded on the local device and no hard-disk drive is needed. Everything is run from the network using a kind of virtual disk. With the current implementations, this virtual disk is actually a disk image file stored on a remote server, SAN or NAS. The client will be connected via the network to this virtual disk and will boot with the operating system installed on the virtual disk.

There are two types of Virtual Disks in most implementations.

Private Virtual Disk

A private virtual disk is used by one client only, just like a local hard disk. Depending on the rights assigned, the user can save information on the virtual disk. So when the client is restarted the settings are retained, just like working with a physical local hard disk.                                                                                                                                                 

Shared/Common Virtual Disk

A shared Virtual Disk is used by multiple clients at the same time. During usage, changes are saved in a special cache, but when the client is shut down or restarted the cache will be cleared. In other words when the client is booting up, it will use the default configuration available on the Virtual Disk. The product will arrange / assure that every client has a unique identifier in the infrastructure (as in a Windows domain).

A Virtual Disk is created by using a kind of imaging technique. You will install one system as you would like to see the other system(s) using the virtual disk (this can include several applications, so it is not limited to the operating system only). By installing the client software on the master system (the system from which you will take the image) it is possible to set up a connection with the back-end component and make an image of the system to the virtual disk image file. A Virtual Disk can be used on both server operating systems as client operating systems. Most products support both Windows and Linux and also the platform can be physical hardware or a virtualization platform.

Now we know, basically, what operating system virtualization is, let’s go into a bit more detail about how it works and which components are involved.

How does OS Virtualization works?

First let’s take a quick look at the components that are needed for using OS Virtualization in the infrastructure.

The first component is the OS Virtualization server. This server is the focal point in the OS Virtualization infrastructure. The server arranges the streaming of the information on the virtual disks to the client and also determines which client will be connected to which virtual disk (using a database in which this information is stored). Also the server can host the storage for the virtual disk locally or the server is connected to the virtual disks via a SAN or File Share. In high availability environments there can be more OS Virtualization servers to create redundancy and load balancing. The server also insures that the client will be unique within the infrastructure.

Secondly, there is a client which contacts the server to get connected to the virtual disk and asks for components stored on the virtual disk to run the operating system.

The available supporting components are a database for storing the configuration and settings for the server, a streaming service for the virtual disk content, a (optional) TFTP service and  a (also optional) PXE boot service for connecting the client to the OS Virtualization servers.

As already mentioned the virtual disk contains an image of a physical disk from a system that is reflecting the configuration and the settings of those systems which will be using the virtual disk. When the virtual disk is created the disk needs to be assigned to the client that will be using this disk to start. The connection between the client and the disk is made via the administrative tool and saved within the database. When a client has a disk assigned, the machine can be started with the virtual disk using the following process as displayed in Figure 1.

Figure 1: Operating System Virtualization and Streaming process

  1. Connecting to the OS Virtualization server.
    First we start the machine and set up a connection with the OS Virtualization server. Most products offer several possible methods to connect to the server. One of the most used methods is using a PXE service, but also a boot strap is used a lot (because of the disadvantages of the PXE service). However each method initializes the network interface card, receiving a (DHCP-based) IP address and a connection to the server.
  2. Connecting the Virtual Disk.
    When the connection is established between the client and the server, the server will look through its database to check if the client is known and which virtual disk(s) are assigned to the client. When more than one virtual disk is connected then a boot menu will be displayed on the client. If only one disk is assigned, this disk will be connected to the client in step 3.
  3. VDisk connected to the client.
    After the desired virtual disk is selected or the only virtual disk assigned to the client has been determined, the virtual disk is connected through the OS Virtualization server to the client. On the back-end, the OS Virtualization server makes sure that the client will be unique (think of computer name and identifier) within the infrastructure.
  4. OS is “streamed” to the client.
    As soon the disk is connected the server starts streaming the content of the virtual disk. The software “knows” which parts are necessary to start the operating system smoothly, so these parts are streamed first. The information streamed to the system should be stored somewhere (in other words cached). Most products offer several ways to cache this information. Examples are the memory of the client, on the disk of the OS Virtualization server or locally on the client hard disk.
  5. Additional Streaming.
    After that the first part is streamed so the operating system is running as expected. Additional virtual disk data will be streamed when required for running or starting a function called by the user (for example starting an application available within the virtual disk).


In this first part of the article series I gave an introduction about OS Virtualization and the basics of the process. In the upcoming article I will continue with describing the advantages and disadvantages of this technique, the possibilities/scenarios of the product, the current status and a final conclusion.

If you would like to read the next part in this article series please go to An Introduction to OS Virtualization (Part 2).

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top