# HG changeset patch # User Ken Miyahira # Date 1610092511 -32400 # Node ID a5d22b8e0a101ab2b59439deb012acc72efd5b90 # Parent 015b86f2a85fdbc58dfa6f705aee19d2b55ec933 update tex diff -r 015b86f2a85f -r a5d22b8e0a10 paper/chapter/technology_overview.tex --- a/paper/chapter/technology_overview.tex Fri Jan 08 15:54:14 2021 +0900 +++ b/paper/chapter/technology_overview.tex Fri Jan 08 16:55:11 2021 +0900 @@ -2,6 +2,47 @@ 本章では, 本研究で使われる技術, 本コースで利用しているサービスについて概要を説明する。 +\section{仮想化} +仮想化はコンピュータの CPU やメモリ, ディスクなどハードウェアのリソースを分割又は統合して, +仮想的なコンピュータやネットワーク環境を生成し提供する技術である。 +仮想化技術にはホストのどの部分から仮想化するかによってホスト型, ハイパーバイザー型, コンテナ型に分けることができる。 + +\subsection{ホスト型} +ホスト型の仮想化は, ホストとなるOS上 (以下, ホストOS) に仮想化ソフトウェアをインストールし, 仮想化ソフトウェア上で別のOS (以下, ゲストOS) を稼働させる手法である (図\ref{fig:host})。 +仮想化ソフトウェアをホストOSのアプリケーションの1つとして導入及び管理できるため, 手軽に仮想化を実現することができる。 +しかし, ゲストOSの処理はホストOSを経由しなければならないため, オーバーヘッドが大きくなる。 +\begin{figure}[H] + \begin{center} + \includegraphics[width=120mm]{fig/host.pdf} + \end{center} + \caption{ホスト型} + \label{fig:host} +\end{figure} + +\subsection{ハイパーバイザー型} +ハイパーバイザー型の仮想化は, 仮想化システムを直接ハードウェアにインストールし, ハイパーバイザー上で複数のゲストOSを稼働させる手法である (図\ref{fig:hyper})。 +ハイパーバイザーが直接ハードウェアを管理するため仮想化によるオーバーヘッドを小さくすることで, リソースを効率的に利用することができる。 +\begin{figure}[H] + \begin{center} + \includegraphics[width=120mm]{fig/hyper.pdf} + \end{center} + \caption{ハイパーバイザー型} + \label{fig:hyper} +\end{figure} + +\subsection{コンテナ型} +コンテナ型の仮想化は, OS レベルの仮想化技術を利用して複数のコンテナと呼ばれる独立空間を形成し, 独立空間でアプリケーションをそれぞれ構築することができる手法である (図\ref{fig:container})。 +各コンテンはオペレーティングシステムカーネルによって独立したプロセスとして実行される。 +前述のホスト型やハイパーバイザー型と比べ, コンテナはゲストOSを起動することなくアプリケーションを実行することができるため, リソース効率が良く処理が軽量である。 + +\begin{figure}[H] + \begin{center} + \includegraphics[width=120mm]{fig/container.pdf} + \end{center} + \caption{コンテナ型} + \label{fig:container} +\end{figure} + \section{KVM} KVM (Kernel-based Virtual Machine)\cite{kvm} は Linux カーネル 2.6.20 以降に標準搭載されているハイパーバイザーである。 KVM は Intel VT 及び AMD-V を含む x86 ハードウェア上の完全仮想化をサポートしている。 @@ -10,11 +51,24 @@ \section{Docker} Docker\cite{docker} は Docker 社が開発, 提供する Linux 上で動作する隔離された Linux コンテナをデプロイ, 実行するアプリケーションである。 - +\begin{figure}[H] + \begin{center} + \includegraphics[width=150mm]{fig/docker.pdf} + \end{center} + \caption{Docker} + \label{fig:docker} +\end{figure} \subsection{Docker Registry} \section{Podman} +\begin{figure}[H] + \begin{center} + \includegraphics[width=120mm]{fig/podman.pdf} + \end{center} + \caption{Podman} + \label{fig:podman} +\end{figure} \section{Singularity} diff -r 015b86f2a85f -r a5d22b8e0a10 paper/final_thesis.pdf Binary file paper/final_thesis.pdf has changed