Comparative Analysis: Virtual Machines, Unikernals, and Dockers

Verified

Added on  2024/06/03

|23
|4269
|249
Report
AI Summary
This report provides a comprehensive overview of operating system level virtualization, exploring various techniques and technologies. It begins with an introduction to OS virtualization and its background, highlighting its role in enhancing security and accessibility. The discussion covers memory virtualization, detailing virtual memory addressing and demand paging, along with their advantages. CPU virtualization, including its layers and the role of rings, is examined next, followed by I/O devices virtualization. The report then delves into virtual machines, unikernels, and containers, offering a comparative analysis of their features and benefits. Finally, it explores the future trends in virtualization technology, emphasizing its continued evolution and importance in modern computing environments. The report concludes with references and a table of figures for easy navigation and understanding. Desklib provides this and many other solved assignments to help students.
Document Page
Operating system level virtualization
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Contents
Executive summary...........................................................................................................2
Introduction........................................................................................................................3
Background information.....................................................................................................3
Discussion..........................................................................................................................4
Memory virtualization.....................................................................................................4
CPU Virtualization..........................................................................................................8
I/O devices virtualization..............................................................................................10
Virtual machines...........................................................................................................12
Unikernals.....................................................................................................................14
Containers and Dockers...............................................................................................15
Virtual machine V/S Unikernals V/S Dockers and Containers.....................................16
Future of virtualization technology...............................................................................18
References.......................................................................................................................21
Document Page
Table of Figures
Figure 1 : Application level memory virtualization.............................................................6
Figure 2: Virtual to physical address translation................................................................7
Figure 3 : Process of demand paging...............................................................................9
Figure 4 : Layers of CPU virtualization............................................................................10
Figure 5 : Functioning of rings in non-virtualized and virtualized computing environment.
.........................................................................................................................................11
Figure 6 : Role of CPU in virtualization...........................................................................12
Figure 7 : Flow of I/O virtualization..................................................................................13
Figure 8 : layers in virtual machines................................................................................14
Figure 9 : system virtualization........................................................................................15
Figure 10 : process virtual machine.................................................................................16
Figure 11 : Universnal......................................................................................................17
Figure 12 : Traditional and container based virtualization...............................................18
Figure 13 : virtual machine..............................................................................................18
Figure 14 : Containers.....................................................................................................19
Figure 15 : Container within virtual machines.................................................................19
Figure 16 : Unikernals......................................................................................................20
Document Page
Executive summary
Operating System is the program that when primarily loaded into the system by the boot
program, handles all the other programs.it is used by different applications by to
complete their task by requesting OS services through application program interface . In
virtualization the framework divides the system into one or more executing
environments .It is a way of rationally isolating the system resources delivered
by mainframe computers between dissimilar applications .Operating System
virtualization is the way of using system software to allow the hardware of the system to
run different OS commands concurrently, resulting in various applications running
simultaneously on the system .This is a technique by which a simple single operating
system can be converted into a system to handle multiple applications run by multiple
users at a single time. Even though they all run parallel they do not interfere into each
other. The virtualized environment works on separate commands given by various users
working at the same time. The command given in one environment is processed
separately in separate operating system. The operating system uses its free end to
handle different users. All the users are differentiated and their commands are executed
by the virtualized operating system. This is a type of server virtualization. A virtual
version of OS enables multitasking and increases efficiency. Generally, installing and
configuring the system manually takes long time, but virtualizing the environment takes
less time leading to time savings. The OS level virtualization changes the working
environment of the system without changing the hardware of the system.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Introduction
This report discusses the operating system level virtualization also knows as the
emulation of computer operating system. An emulator is a software or hardware that
makes one computing system (host) to behave like another computing system (guest).
In OS virtualization the operating system of the computing machine is divided into
several parts and each part behaves as an individual separately working OS. There is
no interference by the guest to the host and vice versa. The guest is the virtualized OS
which shares the resources as the host system (Yu, 2007).
Background information
OS-level virtualization is an innovation that segments the working framework to make
several remote Virtual Machines. The condition of base working is divided into a flash
by using the virtual implementation of a virtual machine. Operating System virtualization
has been generally used to advance security, susceptibility and accessibility of the
present compound programming condition. These conditions are used with the asset
overhead and runtime that are irrelevant with the change in framework of current
registering. This report will include examine process of the Window NT and its OS parts
and extant in virtualization of OS level with the FVM that use on stage of window. There
are various benefits of the virtualization technologies are as follows:
Reduce the cost of operating and capital
Minimized the downtime or eliminate it
Increase responsiveness with the agility and IT productivity
Disaster recovery with continuity of greater business
Management of the simplified data centre
To keep malevolent portable code from trading work area's worthiness, an unknown
content is used for the finishing in a VM. Use the replica service for the scan purpose in
a VM that raised the exposure scanner of the virtualized services, these services is
used for the creation mode with checking process of the helplessness and benefits. The
execution behaviour of the browsers is managed by reducing the running page and with
Document Page
the use of web crawler to recognise and remove the weakness of the websites and
browsers. To permit Windows desktop to give doubles that are halfway put away,
oversaw and fixed, we dispatch shared pairs in an extraordinary Virtual Machine whose
runtime condition is foreign made from a principal twofold server. Virtual machines used
the process of altering and seeing to secure the files on the server side and this process
are running on the customer VM but this process ignore the content to being protected
from the client side. In this complete process, require to find the contents of the
application with the structure of the FVM.
Discussion
Memory virtualization
Modern technology provides a facility of memory virtualization technique also
knows a virtual memory addressing. This technique is used when the computer
runs low on random access memory (RAM) to run any program or operation. The
computer uses virtual memory to support this scarcity of memory. Virtual memory
attaches the hard disk of the computer with the RAM of the computer to
temporary compensate the need of RAM.
Figure 1: Application level memory virtualization
Document Page
The need of virtual memory arises with the fact that the physical memory i.e.,
RAM is limited and can only be used to some extent. The physical memory
available is of fixed size. Sometimes the space needed to run an operation or
program is not available on RAM and this leads to operation execution failure.
This problem of the system is solved by the virtual addressing technique. When
the system lacks the memory on RAM, it shifts some data from RAM to hard disc
into the paging file.
Memory virtualization technique is a method by which secondary memory can be
addressed as a part of primary memory. Main memory is internal to the
computer. Main memory is different from secondary memory as secondary
memory is provided through the external mass storage devices such as disk
drives, pen drives, etc., The addresses used by the program to mention memory
are different from the addresses the storage system uses to refer to physical
storage locations. The program produced addresses are spontaneously
converted into particular machine addresses.
Figure 2: Virtual to physical address translation
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Both software and hardware are used to implement the memory virtualization
technique. It maps the virtual address, i.e., the program generated an address,
with the physical memory address in computer memory. All memory references
created during the execution of any process or operation are logical addresses
that are converted dynamically into physical addresses.
When a process is executed it is not mandatory that all the pages or segments
are available in the RAM, this means that segments are needed to be loaded into
the main memory whenever needed. This process of loading the pages of
memory from secondary memory into main memory at runtime is known as
demand paging. Demand paging is the method of implementation of virtual
memory.
Page faults are the interruption occurred during the program execution when a
program wishes a data which is not currently available in primary memory. This
interruption starts system to fetch the data from virtual memory and bring it into
main memory. Invalid page faults arise when the system cannot discover the
requested files in virtual memory.
The process of demand paging includes following steps:
1. The system tries to access a page that is not available in the main memory
resulting in page fault or memory access fault.
2. Due to interrupt generated, the process of execution goes from run state to
blocking state. For bringing the process back in execution state the system
must get the page requested by the process.
3. Logical address space is searched for a required page.
Document Page
4. The requested page, if found, will be carried into the physical address space
from the logical address space using the page replacement algorithms. The
page table will be updated accordingly.
5. If required page is not found then the process remains in block state.
6. The system on getting the required data puts the process back in the steady
state. The only problem with demand paging is that whenever this occurs the
system starts execution from the start which is okay for small programs but is
very complex and time-consuming for long programs.
Figure 3: Process of demand paging.
Advantages of demand paging
As we only load those pages in main memory that are required at runtime, there
is always space available for more processes. This results in efficient use of
Document Page
processor because at any instance of time there are always many processes in a
ready state.
Any process which is larger than the main memory itself can be executed
because of demand paging. The system automatically loads pages into main
memory whenever required (Obasuyi & Sari, 2015).
CPU Virtualization
CPU virtualization technique enables the computer to behave as several self-
governing working computers to run multiple operating systems concurrently on
the same device. This technology is also known as Vanderpool.
CPU virtualization increases system presentation and runs straight on the
processor. The elemental physical resources are utilized whenever needed and
the virtualization layer runs commands only as desired to make virtual machines
function as if they were running directly on distinct machines.
Each application program is denoted by an algorithm, i.e., series of instruction
and executed by a computer.
During the execution of any application or process, the algorithm is first
instructed to virtual computing environment an then that virtual environment is
mapped or connected to the physical CPU to run instruction through VVM.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Figure 4: Layers of CPU virtualization.
Central Processing Unit is the heart of any processing or computing machine.
Earlier, the request of handling the available resources was handled by the
kernel of the host OS. So the main aim behind the CPU virtualization was to
provide virtual computing machine with the access to the resource management
as good as the host system.
The CPU logically operates by the method of different access levels called as
Rings. Ring 0 is the most valued and ring 3 the least. Before the CPU
virtualization, the following was the order of the organization of CPU rings :
1. Ring 0- the inside of operational level of CPU which has the access to the
kernel.
2. Ring 1- device drivers or hosted operating Systems approved by OS. Any
virtual OS is designated here.
3. Ring 2- lower privileged drivers/third-party drivers.
4. Ring 3-user helping programs or user applications.
Document Page
Figure 5: Functioning of rings in non-virtualized and virtualized computing
environment.
Changes in ring system access with virtualization :
1. Root –the hypervisor level. The hypervisor is computer software, hardware
and firmware that is responsible for creating and handling virtual
machines.
2. Ring 0- OS of the virtual machine.
3. Ring 1 and ring 2- removed/ not used.
4. Applications hosted by virtual machines.
Figure 6: Role of CPU in virtualization.
Advantages
Document Page
The operating system operates directly on the machine using the CPU
functionalities.
The device imitation delays are removed by this technique as VVM provides
separately dedicated resources to VM OS.
Increased security, reliability and availability through device virtualization.
Enabled migration and replication of Virtual machine machines across host.
I/O devices virtualization
Virtualization is the method of supporting multiple users at the same time by
making many fragments of the same device so that they can handle multiple
users at the same time increasing the machine efficiency and saving time.
In I/O device virtualization, i.e., virtualization of input and output devices the
same input end and the output end is virtualized or optimized in such a manner
that they handle multiple inputs and outputs simultaneously without mixing them.
Figure 7: Flow of I/O virtualization.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
In virtual machine environments, the main reason behind the degradation of
working quality is the virtualization of I/O devices. The overhead in the working of
virtualized I/O device is very high. Each time the same device is used for different
purposes simultaneously, the whole process goes through multiple costly
security validations through virtualization layer .the data is regularly multiplexed
and de-multiplexed for security purposes and maintaining the integrity.
I/O devices need to virtualized for many purposes like :
1. Load sharing and balancing.
2. Pinning the virtual machines to the core.
3. Isolate device from the core and for maintaining the data security.
The I/O device virtualisation is attained through various ways:
1. Emulated I/O:
a. Firstly the software emulates a hardware device.
b. The virtual machine runs the same driver for the emulated hardware
device.
c. Emulation overheads limit performance.
2. Direct I/O :
1. Directly assign a device to the guest
Guest access i/o device directly
High performance and low CPU utilization.
2. DMA issue :
Guest set guest physical address.
DMA hardware only accepts the physical address of the host
(Sañudo, Cavicchioli, Capodiec, Bertogna & Valente, 2016).
Virtual machines
In computer systems, virtual machines are the result of emulation. Emulation is
the procedure through which a single system is enabled to behave like another
system. Virtual machines are completely based on computer design and it
increases the functionality of physical environment. The implementation of this
technology requires special hardware, software or combination of both.
Document Page
Figure 8: layers in virtual machines.
Types of virtual machines:
1. System virtual machines: they are also known as complete
virtualization virtual machines are the exact substitute for real
machines. They provide resources for the errorless functioning of
operating systems. The hypervisor uses native execution for multiple
environment executions available on the same device but working
separately.
Figure 9: system virtualization.
Document Page
2. Process virtual machines: it is also known as the application virtual
machine and managed Runtime Environment (MRE). It performs in a
host OS like a usual application and funds a solo process. It is
damaged at the time of exit and is created when the program starts. It
provides a platform-free programming atmosphere that hides
particulars of the basic hardware or OS and lets a process to perform
in the same mode on any platform (Anderson et al., 2016).
Figure 10: process virtual machine
Unikernals
Universal is a single address space appliance designed by utilising library
operating systems. They have a specialized purpose and they work solely for
that purpose. A minimal set of libraries required to run the desired application,
which corresponds to the OS constructs are selected by the developer from the
modular stack.
Classic operating systems are nothing if not generic. They support everything
and the kitchen sink. Since they ship in their compiled form and since users
cannot be expected to compile functionality as it is needed, everything needs to
come prebuilt and activated. Unikernels use sophisticated build systems that
analyze the code you’re using and only link in the code that is actually used. The
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
unused code doesn’t make it into the image created and doesn’t pose a security
risk.
Unikernels have no shells. Most attacks I’ve seen invoke /bin/sh to modify the
system they are attacking. Without a shell, the attacker doesn’t have this
opportunity. This forces the attacker to use machine code to subvert the system,
decreasing the likelihood of succeeding with the attack.
Whenever we need to change a service that is running on a unikernel the service
gets rebuilt and redeployed. So most likely the system doesn’t have the ability to
reconfigure itself. So the attacker will likely have to inject this code as well,
something that would be next to impossible. Even if the attack is successful, the
VM will get back to a known state the next time there is a configuration change.
Unikernels don’t have system calls. They only have function calls. For an
attacker, this means they’ll have to know the exact memory layout of your
application in order to invoke the operating system. They need to know the exact
64-bit address of the function they are invoking(Madhavapeddy, Leonard,
Skjegstad, Gazagnaire, Sheets, Scott, Crowcroft,2015).
Figure 11: Universal
Containers and Dockers
Implementation settings of the Linux containers —with their individual, remote
CPU, assets of the network, block I/O, and memory—that use the kernel of the
host OS. The impression of the outcome is like VM and guest OS use as the load
and start-up of the overhead.
Document Page
In a significant system, running VMs would mean perhaps running many identical
cases of the same OS and many dismissed boot volumes. Because containers
are more efficient and lightweight related to VMs, it’s easy to run five to eight
times as several containers as VMs on the identical hardware.
In an application state that has web-scale requests; containers are a tempting
proposition related to outdated server virtualization (Jain, Goyal & Bhat, 2016).
Figure 12: Traditional and container-based virtualization.
Virtual machine V/S Unikernals V/S Dockers and Containers
Document Page
Figure 13: virtual machine
Figure 14: Containers
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Figure 15: Container within virtual machines.
Figure 16: Unikernals
Future of virtualization technology
Document Page
Earlier, by utilizing virtualization technologies servers were tested and resources were
used more efficiently. The time when VMware accomplished itself as a hypervisor, less
no. of sellers actually stayed a virtual construction. So, virtualization was unrestricted,
and the development atmosphere within groups. Virtualization used to reduce the
problem and resources of the server is misused for the same purpose. Along with this,
the burden rose on sellers to upkeep with a virtual state. From there, server
virtualization found its role in nearly all data centre surroundings as more organizations
accepted the technology to support line up their business requirements.
Application Delivery: managers are used to delivering the application from the end
user without the need to install them. This process makes a reasonable virtualization
with the management and regulation. The next process of the virtualization used to
resolve the safety of the client delivery and many numbers of the organizations used
this kind of virtualization. Use HTML 5 as the documents in the web browser for the
process of deploy and control of the resources of the administration.
Hosted/Virtual/Cloud Desktops: the transfer of the virtual desktop with the
resurrection of the VDI used to verify the apparatuses to make a bit expertise. The
HTML 5 used to straight the browser and another phase is far from the data centre to
come. The deployments of the VDI are used as the management of the resources of the
converged organisation for the resulting of the use cases.
Network Virtualization (SDN and NFV): a network structure is a control by the
administrator, that is permitted by the network virtualization and recognised as the SDN.
A corporate network used its description to allow the new techniques and this process
complete in the boundaries in of the NIC. Another network type (NFV) is used for the
virtualised purpose of the network that works with the communication services and a
new network to separate the connecting nodes. Some other machines are also used for
the load balancers like firewall and others.
Security Abstraction: virtual machines are used as the threat suspension devices in
the new technology as the physical appliances for installation of the security purpose.
Document Page
Security appliances are used for the security virtualization by providing some functions
at the numerous point of the organisation. Installation of the VM with the functions like,
IPS, IDS and DLP make it more secure and interesting and helpful. These virtual
services are used for the cloud security to defend the network and provide the services
to guard the services against both sides of the cloud services.
User Virtualization: virtual desktop used to deliver different technologies and methods.
It provides a new way to manage the personalization and management of the desktop.
It includes the combination of virtual desktop, published application and desktop with
the streamed application. The used virtualization is called as to manage the complete
environment and change it into virtualized.
Storage Virtualization: it is a central console that includes the single storage of all
multiple network storage devices. It helps to store the performance of the administrator
with the services like backup and recovery in less time. It also discusses the complexity
of SAN (storage area network) and the software application is used to implement the
virtualization with the help of an administrator.
Server Virtualization: it includes the various processors, operating systems and
physical servers with their masking of resources. This process includes the service
users. A physical server is used divide into multiple environments of virtual isolated by
the use of software applicator of the server administrator. It is also called VPN (virtual
private network) and known as emulations, guests, containers and instances (Buncic,
Schutz & Gheata, 2015).
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
References
Yu, Y. (2007). OS-level Virtualization and Its Applications (pp. 10-105). UMI
Microform.
Jain, V., Goyal, V., & Bhat, N. (2016). OS-Level Virtualization. Presentation.
Madhavapeddy, A., Mortier, R., Rotsos, C., Scott, D., Singh, B., Gazagnaire,
T., ... & Crowcroft, J. (2013, March). Unikernels: Library operating systems for
the cloud. In Acm Sigplan Notices (Vol. 48, No. 4, pp. 461-472). ACM. Retrieved
from https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-
madhavapeddy.pdf
Sañudo, I., Cavicchioli, R., Capodiec, N., Bertogna, M., & Valente, P. (2016). A
survey on shared disk I/O management in virtualized environments under real
time constraints. Retrieved from
http://hipert.unimore.it/people/marko/papers/EWiLi16.pdf
Obasuyi, G., & Sari, A. (2015). Security Challenges of Virtualization Hypervisors
in Virtualized Hardware Environment [Ebook] (pp. 8-14). Nicosia, Cyprus:
Scientific Research Publishing Inc. Retrieved from
https://pdfs.semanticscholar.org/81d9/6e0aec24cb91ffa19e4b47f59b9ee4e60c59
.pdf
Buncic, O., Schutz, Y., & Gheata, M. (2015). Open access for ALICE analysis
based on virtualization technology. Retrieved from
http://iopscience.iop.org/article/10.1088/1742-6596/664/3/032008/pdf
Anderson, J., Apon, A., Lowery, C., Hu, H., Agarwal, U., & Li, H. (2016).
Performance Considerations of Network Functions Virtualization using
Containers [Ebook] (pp. 5-9). tigerprints: School of Computing. Retrieved from
https://tigerprints.clemson.edu/computing_pubs/34
Sanjeepan, V., Puthiyedath, L. K., Apsangi, C., Talpallikar, N., & Barik, A. K.
(2017). U.S. Patent Application No. 15/193,995. Retrieved from
https://patents.google.com/patent/US20170371695A1/en
chevron_up_icon
1 out of 23
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]