「ハイパーバイザー」という用語をGoogleで検索すると、ハイパーバイザーは仮想マシンモニターまたは仮想マシンマネージャーとも呼ばれ、ハードウェア仮想化の一種であることを示す無限の定義が得られます。しかし、VMとその概念がまったく新しいため、これは私にとって曖昧な定義です。
それでは、仮想マシンとそのハイパーバイザーの違いや関係は何ですか?誰かが具体的な例を挙げることができますか?
「ハイパーバイザー」という用語をGoogleで検索すると、ハイパーバイザーは仮想マシンモニターまたは仮想マシンマネージャーとも呼ばれ、ハードウェア仮想化の一種であることを示す無限の定義が得られます。しかし、VMとその概念がまったく新しいため、これは私にとって曖昧な定義です。
それでは、仮想マシンとそのハイパーバイザーの違いや関係は何ですか?誰かが具体的な例を挙げることができますか?
回答:
ハイパーバイザーは、仮想マシンを実行するデバイスまたはソフトウェアです。通常、リソースの割り当てを担当し、仮想マシン(「ゲスト」)とホストシステム、および管理ソフトウェア間のインターフェイスを提供します。
したがって、VMware Workstationを使用してWindows 7仮想マシンを実行している場合、VMware Workstationはハイパーバイザーです。
このリンクを確認してください。 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仮想化などのソリューションによる現代のコンピューターでの提供が含まれます。
これは、既存のオペレーティングシステムの用語を拡張したものです。シード/ナッツの比phorに代わるいくつかの選択肢の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より前には「オペレーティングシステム」がなく、以前のシステムにはすべて「スーパーバイザー」があったため、「ハイパーバイザー」が適切であると示唆しました。 そのため、「ハイパーバイザー」が適切であるように思われ、名前が固まりました。