context: more on virtualization

This commit is contained in:
steveej 2016-09-15 00:12:44 +02:00
parent 69e34462e8
commit 01ff4d9d9a

View file

@ -37,25 +37,25 @@ More thorough examination of these question is done in section \ref{sect:sd-chal
\subsection{Introduction to Virtualization}
% Background of the Problem
% This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature.
Virtualization has been an important field, both in research and in the industry.
Virtualization has for decades been an important field in computer sciences, both in research and in the industry.
It has been subject to constant development, improvement, and adoption.
The basics of virtualization in computer sciences boil down to one simple principle.
It is the principle of modifying the view of the soft- and hardware resources for applications and systems.
The basics of virtualization boil down to one principle.
It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtualized systems running on top of existing systems.
Modern virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}.
\subsubsection{\glspl{VM}}
The modern techniques for virtualization can be grouped in two categories: \glspl{hypervisor} and \gls{osvirt}.
Hypervisor is synonymous with \gls{VM} Monitor, which is slightly more self-explanatory.
Virtual machines are monitored applications which are presented with a set of virtual hardware resources that might not even exist on the underlying hardware machine they are being executed on.
This principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer.
\subsubsection{\glspl{hypervisor}}
A \gls{hypervisor}, synonymous to \gls{VM} Monitor, operates on a host machine and can control several \glspl{VM}.
The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer.
\glspl{VM} are monitored programs which are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on.
The virtual machines require a full \gls{OS} to boot the virtual hardware and run services.
\glspl{VM} use a full \gls{OS} to boot the virtual hardware and run services.
This \gls{OS} typically consists of a kernel and a set of files, or virtual-disk-drives containing a set of files, containing the operating and application software to be executed on the virtual machine.
The virtual machine boots the kernel which then executes the operating system, typical to a machine boot process.
It allows to run a different OS, within the virtual machine than what is running on the host machine.
Further it allows to create heterogeneous scenarios like running \gls{OBSD} virtual machine on \gls{Linux}, or vice versa.
The big downside is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and booted upon every execution.
One significant overhead is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and virtually booted upon every execution.
However, there are cases when solely the application running on top of the virtualized \gls{OS} is ideologically the subject to virtualization, and it is technically not necessary to have a separate \gls{OS} for every virtualized application.
However, there are cases when solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization, and it is technically not necessary to have a separate virtualized \gls{OS} for every virtualized application.
This is one of the main scenarios for the use of \gls{osvirt} which is better suited, because it doesn't require a full-fledged \glspl{OS} to virtualize an application, as explained in the following section \ref{sect:sac-osvirt}.
\subsubsection{\gls{osvirt}}
@ -63,12 +63,15 @@ This is one of the main scenarios for the use of \gls{osvirt} which is better su
% TODO: explain generically what APC is and compare to Hypervisors
This technology has been under active development for about decade now\cite{Reshetova2014}, and is becoming more and more popular.
The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform.
More about this historical and technological development is explained in its own section \ref{virt-advent-sac}.
More about this historical and technological development is explained in section \ref{virt-advent-sac}.
The idea behind \gls{osvirt} is to virtualize applications on the \gls{OS} level instead of on the machine level.
On \gls{Linux}, features that implement this are a part of the kernel itself, providing features that allow a low-overhead isolation and resource-control for user-space processes, in short: virtualization.
\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of on the machine level.
Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization.
% TODO: refer to Linux Namespaces and Cgroups
\subsection{\gls{virtualization} Overview}
% TODO compare performance
\subsection{The Advent of \gls{sac}}
\label{virt-advent-sac}
Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community.