aaaaaIn this article, we will put our focus on the OS virtualization technique by giving brief background information of the OS virtualization, the fundamental concepts, characteristics of this technique, with relevant implementation and examples to help better understanding on how it operates and finally providing follow-up exercises to strengthen the knowledge learnt.
aaaaaaYou will know the importance and the value of this promising technology after studying this article.
Introduction of OS Virtualization
aaaaaaOS Virtualization (Operating System Virtualization) is becoming more popular in different aspects of IT companies and some educational institutions. Benefit from its high operating efficiency and security, some schools make use of this technology to provide an isolated environment for students to make use of their computers without interfering with others intentionally or unintentionally. Some virtual hosting IT companies also start to use it to provide hosting of multiple domain names with one IP address services.

figure 1:Increasing trend of enterprises planning to use virtualization
technique as their future development tools
aaaaaaHigh independence, security levels and feasibility form the three pillars of the foundation of the OS Virtualization. It is with no doubt that these properties can attract significant number of companies using the traditional client-server or maintenance system to switch to this technology. Indeed, the increasing market sharing also demonstrates its importance on improving the current overhead of traditional client-server systems.
aaaaaaIn the video, Jaideep Sen will brief what virtualization's concept is and try to look into nowadays virtualization's value and market position. This video is a good warm-up for you to know more about the background information before reading the subsequent sections.
Video 1:Jaideep Sen, Sr. Product Manager: Virtualization, Managementand Security
at Microsoft India talking about the importance and the future trend of virtualization.
OS Virtualization-The Concept
aaaaaaOperating system virtualization refers to the use of software to allow system hardware to run multiple instances of different operating systems concurrently, allowing you to run different applications requiring different operating systems on one computer system. The operating systems do not interfere with each other or the various applications. (Operating System Virtualization 2006)
aaaaaaTo give reader a clear idea what OS virtualization is, the two most frequently used approach of OS virtualization will be disscussed. It include OS-level virtualization and Hypervisor.
OS-Level Virtualization
aaaaaaOS-level virtualization is a technology that virtualizes servers on the operating system layer (kernel layer). This creates different containers on a single physical server and all containers are separate. Each container appears as an individual server and the kernel service will make sure isolation and security of resources between different containers. However, some of the software and data is permit to share for different containers by the kernel server to maximum efficiency.

figure 2: model of OS-level virtualization
Hypervisor
aaaaaaAnother frequently use of OS virtualization is for end users to be able running two or more operating system at same time such as MacOS and Windows. For the OS-level virtualization, the guest can only use a single OS on the server computer. Therefore, hypervisor is useful to cope with this problem.
aaaaaaHypervisor is a thin, guest OS-independent virtualization layer loaded directly onto bare metal(Goldworm and Skamarock 98). It interacts with hardware directly and creates virtual machine on it where operating system run. Each guest virtual machine is a complete copy of an additional OS. The hardware resources, such as memory and CPUs, will be virtualized for virtual machine and guest OS.

figure3: hypervisor virtualization
The Implemention of OS-Level Virtualization
aaaaaaOS virtualization is a basic concept. We can implement this technology to our daily life by combining other features, like networking, to make this technology achieve the greatest performance. In the following section, some implemention of the OS virtulization and the specific product of these implementation will be introduced.
1.Server Virtualization:
aaaaaaThe concept of server virtualization allows numerous client computers access the server machine concurrently thought the network, different client computer might have their own container in the kernel machine by operating system virtualization to allow them to store their own software and data. The client computers does has a bootstrap program and network interface card to make connection with the server computer, the bootstrap program then initializes the OS and other system services to allow the users to continue starting other processes. Moreover, relevant software and data might preinstall to the kernel machine to allow users by different client computers to access concurrently. The above mentioned OS virtualization method can do the Server virtualization. However, hypervisor virtualization will have more overhead compare with the original OS virtualization. According to the white paper of
Parallels® Virtuozzo Containers, OS-level virtualization run 54% lower cost compare with hypervisor virtualization(6), but hypervisor vitulaization can support multiple OS. It is a trade off.

figure4: model of parallels virtuozzo container(product of server virtualization)
Product of Server Virtualization:
aaaaaaParallels Virtuozzo Containers is a typical Server virtualization product. It can cre-ates isolated virtual environments on a single physical server, virtualization layer with a proprietary file system and a kernel service abstraction layer that ensure the isolation and security of resources between different Containers. OS instance to utilize hardware, software, data and management efforts which allow different users to access and management the server.
2.Platform Virtualization:
aaaaaaThe platform virtualization is used because some of the favourite application runs on one and some one on the other. (Tanenbaum 70) Thus, we need a operating system run concurrently on a host computer. This implementation works under the concept of hypervisor virtualization. It presents the guest operating systems with a vitural platform and monitors the execution of the guest operating systems. In that way, multiple operating systems, including multiple instances of the same operating system, can share hardware resources.
Product of Platform Virtualization:
aaaaaaParallels Desktop for Mac is a famous hardware emulation virtualization software that uses a lightweight hypervisor to enable users to run: Windows, Linux and other operating systems simultaneously with Mac OS X on the Intel based Macs.
Advantages and Disadvantages about OS virtualization
Here are some advantages and disadvantages about OS Virtualization.
Advantages:
1. Using previous OS
With the development of the OS, some of the software cannot run at the newest OS. So the OS virtualization can simulate older OS environment to run those software.
2. Easy maintenance
OS Virtualization provides an easy way for update and backup. You just need to update and backup the server side instead of clients.
3. Time saving
Setup an OS system is a very long-time action; imagine you need to setup a hundred of OS system in a large firm. OS virtualization only requires one computer to be setup (server).
4. Recoverable
Any implementation of client side will only be stored in server side image. So restart the client side computer will reset the image and set all configurations to default.
Disadvantages
1. Network Required
For the Server-client OS virtualization, each of the client computer must connect to the server. So network is an essential component.
2. Network Speed Required
All of the settings for the client computer are provided by the server using virtual disk. The data transmission bandwidth should fast and reliable.
3. Restrictions Using OS Virtualization
The OS virtualization is a mature technique to support variety of operation system but some of the OS like “Linux distributions” which cannot use the technique.
Follow-up Exercises
1) OS virtualization is described as a “promising and revolutionary technology” in various aspects like educational, virtual hosting etc. Can you analyze from the disadvantages shown the most significant reason why OS virtualization still cannot be widely implemented although being introduced for a period of time?
Ans: (Open-ended question). One possible reason may be the requirements of the high-speed network. The prerequisite requirement for better working of OS Virualization is a quality and reliable network, but it may sometimes a harsh environment for many of the companies to achieve it, to guarantee the fundamental reliability of the system, most of the companies would rather use the traditional client-server approach.
2) What is the difference between OS-level virtualization and hypervisor? Which approach is better?
Ans: OS-level virtualization creates different seperated containers on a single OS. Hypervisor virtualization creates a complete copy of an additional OS on hardware. Thus, hypervisor can run several OS instead of one, but the cost of running hypervisor is higher. As we said in the article, it is a trade off.
3) Indeed, “Testing” is also one of the merits mentioned in the previous article; can you imagine one of the situations which can demonstrate this advantage?
Ans: (Any suitable examples) One example is in the situation that install the OS patch to test its stability, there are many patches released for some of the OS (like Service packs of Windows), system analysts may try to test the stability of the newly patched system, if the updated system is not stable enough to satisfy clients' needs, a fast restore and rollback of the system can be provided.
4) Actually, there are many kinds of OS Virtualization, list and describe 1 of them by referencing the following article.
http://en.wikipedia.org/wiki/Platform_virtualization
http://en.wikipedia.org/wiki/Platform_virtualization
Ans: Paravitualization is one of the example. It work similar to the hypervisor, but it is not a true virtualization. The guest OS is acting like a user program making system calls to the OS.(reference answer)
References:
1) http://www.virtualizationadmin.com/articles-tutorials/general-virtualization-articles/introduction-os-virtualization-part1.html
2) http://www.parallels.com/products/virtuozzo/os/
3) http://en.wikipedia.org/wiki/Operating_system-level_virtualization
1) http://www.virtualizationadmin.com/articles-tutorials/general-virtualization-articles/introduction-os-virtualization-part1.html
2) http://www.parallels.com/products/virtuozzo/os/
3) http://en.wikipedia.org/wiki/Operating_system-level_virtualization
aaaGoldenworm, Barb , and Anne Skamarock. Blade Servers
aaaaa andvirtualization. Transforming Wnterprise Computing
aaaaa while cutting costs. 3rd ed. Indianapolis, Indiana :
aaaaa Wiley Publishing, INC, 2007.
aaa“Operating System virtualization.” Webopedia. 2006.
aaaaa QuinStreet Inc. 28 Mar,2010
aaaTanenbaum, Andrew S. Moden operating systems. Pearson
aaaaa Education, INC, 2008
aaa“Total Cost of Ownership Analysis: Parallels®
aaaaa VirtuozzoContainers vsTraditional Hypervisor
aaaaa Virtualization”Parallels.” Parallels® Virtuozzo
aaaaa Containers white paper. Parallels, INC. 28 Mar. 2010
Figures adopted:
1) Figure demonstrating the working principle of OS Virtualization
http://www.virtualizationadmin.com/articles-tutorials/general-virtualization-article/introduction-os-virtualization-part1.html
2) Figure 2, Figure 3, Figure 4
http://www.parallels.com/