ハイパーバイザーとは?超わかりやすく

ハイパーバイザーのことを調べていたら「結局ハイパーバイザーってなんなんだよ!!( ゚д゚ )」となったので

忘れたときのために分かりやすく解説しておきます・・・。

ハイパーバイザーとは?

ハイパーバイザーは「管理者」の上を行く「管理者たちの管理者」のこと。

これだけだと「は?何言ってんだコイツ」となるので順番に説明していくと

まず、OSのことを別名「スーパーバイザー」と呼びます。日本語訳すると「監督者」「管理者」などという意味になります。

別名というかOSの本来の呼び名は「スーパーバイザー」と呼ぶらしいのだけど、IBMがOS(Operating System)と呼びはじめたので、OSという名前が定着したらしい。(Wikiより)

 

例えばWindowsで言うと、Windowsの中にある中核部分(カーネル)がスーパーバイザーと呼ばれる存在で、このカーネルが

  • 「HDDさん、これを記録しといて」
  • 「CPUさん、これを計算しといて」

みたいにあれこれ指示するわけです。要するに管理者として働くわけです。

 

さていきなりですが、ここで仮想マシンの話をします。

仮想マシンいうのは「1つのパソコンで2つ以上のOSを同時に動かすこと」を指します。

例えば

パソコン
├ Windows
└ Linux

という感じで

  1. 1つのパソコンの中にWindowsとLinuxをインストールする
  2. Windowsの中でLinuxを動かす

みたいな感じのことを仮想マシンといいます。(この場合、Linuxが仮想マシンです)

 

ただし、ここで問題があります。

それは

Linuxがパソコンに何か命令したいときは、Windows経由で「パソコンさん、これを計算しといて」という風に指示しないといけない

という点です。

このような余分な伝達のせいで動作が遅くなってしまいます。

 

これを何とかしようということで、ハイパーバイザーという仕組みが作られました。(そうなのかは知らないですが。。)

以下のように、パソコンの上にハイパーバイザーという名の土台を作って、その上に色々なOSを動かします。

パソコン
└ ハイパーバイザー
  ├ Windows(ホストOS)
  └ Linux (ゲストOS)

 

このようにすることで、例えば

  • Windowsがパソコンに何かさせたいときは・・・
    1. ハイパーバイザーに「パソコンにこれを計算させてください」と命令する
    2. ハイパーバイザーはPCに「パソコンさん、これを計算してください」と命令する
  • Linuxがパソコンに何かさせたいときは・・・
    1. ハイパーバイザーに「パソコンにこれを計算させてください」と命令する
    2. ハイパーバイザーはPCに「パソコンさん、これを計算してください」と命令する
  • Linux・Windowsがお互いに通信したいときは・・・
    • ハイパーバイザー経由で通信する

という感じで、ハイパーバイザーがスーパーバイザーたちの管理者的なポジションになります。

すべてをハイパーバイザー経由にすることで、高速に動作するようになる・・・らしいです。

ちなみに、ハイパーバイザーはスーパーバイザーの上を行く存在という意味で「ハイパーバイザー」という名前が付いたらしいです。

Windowsのハイパーバイザ → Hyper-V

例えばWindowsには「Hyper-V」という名前のハイパーバイザーがあり、Hyper-VをONにした状態で起動すると

パソコン
└ ハイパーバイザー(Hyper-V)
  └ Window

という構成で起動します。

WSLとWSL2

WSL2(Windows純正の仮想マシンソフト)をインストールして、Windows上のWSL2でLinuxを動かすと

パソコン
└ ハイパーバイザー(Hyper-V)
  ├ Windows(ホストOS)
  └ Linux (ゲストOS)

という感じで、ハイパーバイザー上で仮想マシンを動かせます。

 

ちなみにWSL(WSL2ではない)は、HyperーVを使わないらしいので

WSLでLinuxを動かした場合は以下のような感じになります。

パソコン
└ Windows
  └ WSL
    └ Linux

なので、WSL2はWSLより高速らしいです。(どこで見たか忘れたのですが約6倍くらい早いとか)

VirtualBox → ハイパーバイザーではない?

例えば、WindowsでVirtualBoxをインストールして、VirtualBox上でLinuxを動かすと

パソコン
└ Windows
  └ VirtualBox(ホスト型仮想マシン)
    └ Linux

という構成になります。

このとき起動したLinuxは、広義の意味では「ホスト型のハイパーバイザー」などと呼ぶらしいですが、狭義ではハイパーバイザーではなく、「ホスト型仮想マシン」などと呼ぶらしいです。

 

ザックリ説明するとこんな感じです。

 

おわり

仮想環境
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。
2019年くらいからフロントエンドエンジニアを目指している元アフィリエイターです💩

penpenをフォローする
penpenをフォローする
penpenメモ

コメント

タイトルとURLをコピーしました