User`s guide
Parallels Server 4 Bare Metal Basics 14
Basics of OS Virtualization
The OS virtualization allows you to virtualize physical servers on the operating system (kernel)
layer. The diagram below shows the basic architecture of OS virtualization.
The OS virtualization layer ensures isolation and security of resources between different
Containers. The virtualization layer makes each Container appear as a standalone server.
Finally, the Container itself houses its own applications and workload. OS virtualization is
streamlined for the best performance, management, and efficiency. Its main advantages are the
following:
Containers perform at levels consistent with native servers. Containers have no virtualized
hardware and use native hardware and software drivers making its performance unbeatable.
Each Container can seamlessly scale up to the resources of an entire physical server.
OS virtualization technology provides the highest density available from a virtualization
solution. You can create and run up to 100s of Containers on a standard production physical
server.
Containers use a single OS, making it extremely simple to maintain and update across
Containers. Applications may also be deployed as a single instance.
Parallels Containers
From the point of view of applications and Container users, each Container is an independent
system. This independence is provided by the Parallels Server Bare Metal OS virtualization
layer. Note that only a negligible part of the CPU resources is spent on virtualization (around 1-
2%). The main features of the virtualization layer implemented in Parallels Server Bare Metal
are the following:
A Container looks like a normal Linux system. It has standard startup scripts; software from
vendors can run inside Containers without any modifications or adjustment.
A user can change any configuration file and install additional software inside Containers.
Containers are fully isolated from each other (file system, processes, sysctl variables)
and Parallels virtual machines.
Containers share dynamic libraries, which greatly saves memory.
Processes belonging to a Container are scheduled for execution on all available CPUs.
Consequently, Containers are not bound to only one CPU and can use all available CPU
power.










