仮想マシンとハイパーバイザーの違い


29

「ハイパーバイザー」という用語をGoogleで検索すると、ハイパーバイザーは仮想マシンモニターまたは仮想マシンマネージャーとも呼ばれ、ハードウェア仮想化の一種であることを示す無限の定義が得られます。しかし、VMとその概念がまったく新しいため、これは私にとって曖昧な定義です。

それでは、仮想マシンとそのハイパーバイザーの違いや関係は何ですか?誰かが具体的な例を挙げることができますか?


ハイパーバイザーに関するウィキペディアの記事を参照してください。いくつかの異なるタイプがありますが、それはあなたが混乱している理由の一部かもしれません。 en.wikipedia.org/wiki/
ハイパーバイザー

回答:


17

ハイパーバイザーは、仮想マシンを実行するデバイスまたはソフトウェアです。通常、リソースの割り当てを担当し、仮想マシン(「ゲスト」)とホストシステム、および管理ソフトウェア間のインターフェイスを提供します。

したがって、VMware Workstationを使用してWindows 7仮想マシンを実行している場合、VMware Workstationはハイパーバイザーです。


5
なぜ彼らは参照ドキュメントでそれを言うことができないのですか?!?ありがとう!
pnongrata

10
彼らはあなたにそれをあまりにも簡単にしたくない、またはあなたはサポート契約の支払いをしません。;)
コーディングゴリラ

それで... VMMとハイパーバイザーの違いは何ですか?
allyourcode 14

@allyourcodeあなたが話している「VMM」とどのコンテキストに依存します。
コーディングゴリラ14

優れた答え、賛成。しかし、ソフトウェアエミュレータはどうでしょうか。エミュレーター(DOSBox)は、仮想マシンを実行するソフトウェアと言えますか?
ジョンcj

5

このリンクを確認してください。 http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

回答は、Ben Armstrongの仮想化ブログからです

実際には、「VMM」の2つの意味があります。1つ目は「仮想メモリマネージャー」です。これはWindowsオペレーティングシステムの一部であり、コンピューターの仮想化とは何の関係もありません。また、オペレーティングシステムのメモリ管理に関連するすべてのものです。これは私が今日話し合っていることではありません:-)

2番目の意味は「仮想マシンモニター」です。「Virtual Machine Monitor」というモニカを使用するさまざまなプログラムと実装があります。簡単に言えば、VMMは、それが担当する仮想マシンのポリシーを監視および適用するソフトウェアです。つまり、VMMは仮想マシン内で発生するすべてを追跡し、必要に応じてリソースを提供したり、仮想マシンをリソースにリダイレクトしたり、リソースへのアクセスを拒否したりします(VMMの異なる実装は、リソースをさまざまなレベルに提供またはリダイレクトしますが、別の日の議論のトピック)。

従来、VMMには2つのタイプがあります。

タイプII VMMは、ホスティングオペレーティングシステム上で実行され、より高いレベルの仮想マシンを生成します。タイプII VMMの例には、JavaVMおよび.Net環境が含まれます。これらのVMMは、仮想マシンを監視し、リソースのリクエストをホスティング環境の適切なAPIにリダイレクトします(中間レベルの処理を行います)。

タイプI VMMは、ホストオペレーティングシステムを必要とせずにハードウェアで直接実行されるVMMです。タイプI VMMは「ハイパーバイザー」とも呼ばれます。したがって、VMMとハイパーバイザーの唯一の真の違いは、実行場所です。両方が提供する機能は公平です。タイプI VMMの例には、AmdahlやIBMなどの企業が提供するメインフレーム仮想化ソリューションや、VMware ESX、Xen、Windows仮想化などのソリューションによる現代のコンピューターでの提供が含まれます。


3

これは、既存のオペレーティングシステムの用語を拡張したものです。シード/ナッツの比phorに代わるいくつかの選択肢の1つです。 ユーザープログラムはスーパーバイザープログラムによって制御され、物事が停止する非仮想システム内で。仮想化では、スーパーバイザーハイパーバイザープログラムによって制御(または監視、または管理)されます。

これらのプログラムはすべてソフトウェアです。仮想マシンは、スーパーバイザーとユーザープログラムが稼働して自分自身を経験しているマシンの口実です。内部からはハードウェアのように見えます。


3
皮肉なことに、これは話題外であり、正しく覚えていれば、ラテン語の「スーパー」とギリシャ語の「ハイパー」は同じ元の単語から派生し、同じことを意味します。ドイツ語の「ueber」も兄弟です。したがって、「スーパバイザ」と「ハイパーバイザ」は実際には同じ単語ですが、1つはすべてラテン語で、もう1つはラテン語の半分、ギリシャ語の半分です。:-)
アンドリューJ.ブレム

2
しかし実際には、用語はほとんどの人にとってギリシャ語です。
ダニエルRヒックス

1

ハイパーバイザーの歴史についてのドンスキバ

新しいSystem 360をインストールしようとしていた1966年にIBMと一緒にいました。ご想像のとおり、古い1401、1440、1410、7080、7090モデルの「古いコード」をすべて変換することは、あなたが見たい最大の混乱でした。360モデル65には、いくつかの古いマシン用のエミュレーターがありました。実際、モデル75を除くすべての360モデルは、360命令セットのエミュレーターでした。モデル65で人気があったのは、IBM 7080のエミュレーターでした。ただし、マシンを360モードまたは7080モード専用にする必要がありました。それは私たちの顧客をとても幸せにしませんでした。

モデル65には非アクティブであるが、時分割に使用され、最終的に仮想オペレーティングシステムであるCMSに使用されるモデル67でアクティブな特別なレジスタがいくつかあることが判明しました。モデル65のエンジニアは、これらのレジスタを使用して、メモリの下半分で実行されているプログラムと上半分で実行されているプログラムを交換でき、どちらかが360または7080モードで動作できると確信しました。スワッピング、モード設定、およびリソース(I / O)の割り当てを行うための「小さな」コードが必要でした。フィラデルフィアのシステムエンジニアに、この機能を切実に必要としている顧客がいて、コードを書くように説得しました。当時、私たちは多くのコード名をいじっていました。 360より前には「オペレーティングシステム」がなく、以前のシステムにはすべて「スーパーバイザー」があったため、「ハイパーバイザー」が適切であると示唆しました。 そのため、「ハイパーバイザー」が適切であるように思われ、名前が固まりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.