ハイパーバイザーとは何ですか?
ハイパーバイザーは、コンピューターが複数のオペレーティングシステム(OS)を実行できるようにするユニークなタイプのソフトウェアです。仮想化として知られるプロセスを通じて、ソフトウェアは各OSをだまして、特定のハードウェアセットに排他的にアクセスできると思わせます。物理ハードウェアとOSの間にあり、マシンで実行されている他のすべてのソフトウェアに仮想ハードウェアセットを提示します。また、ソフトウェア、仮想化ハードウェア、物理ハードウェア間の情報の流れも管理しています。このタイプのソフトウェアは、消費者とエンタープライズの両方の設定で使用されます。
ほとんどの場合、コンピューターのOSは非常に特権的な状態で実行され、マシンのハードウェアにアクセスしていない場合、アプリケーションはあまり特権状態で実行され、OSに依存する必要があります。これらのさまざまなレベルのハードウェアアクセス特権はリングとして知られており、OSは従来リング0で実行されています。ユーザーアプリケーションは、リング1〜3で実行されますが、これには特権が少なくなります。このモデルはほとんどの場合正常に動作します、ただし、単一のコンピューターで複数のOSを同時に実行しようとすると、完全にバラバラになります。ハイパーバイザーは、仮想化と呼ばれる手法を使用してこの問題を解決します。
仮想化は新しいアイデアではありませんが、企業や情報技術(IT)業界がコストを削減して効率を向上させる可能性を認識しているため、2000年代半ばから流行語のようになりました。仮想化にはさまざまなアプローチがありますが、基本的なアイデアは、仮想マシンとしてしばしば知られているシミュレートされたハードウェアセットを作成することです。仮想マシンモニターとも呼ばれるハイパーバイザーの場合、各仮想マシンには「ゲスト」OSが含まれています。 ハイパーバイザー自体は物理ハードウェアで直接実行できます。この場合、「ベアメタル」タイプとして知られているか、ホストオペレーティングシステム内で「ソフトウェア」ハイパーバイザーとして知られています。
ハイパーバイザーは、非常にソフィストを使用する必要がありますゲストオペレーティングシステムを管理し、互いに競合しないようにした技術。仮想マシン内のOSは、リング0特権を奪われていることを知らないため、許可なく制限された機能を実行しようとする場合があります。これらの場合、ハイパーバイザーはハードウェアに到達する前に関数を傍受し、ハードウェアで実行されている他のオペレーティングシステムに害を及ぼさないように命令を実行し、結果を元のOSに返すことができます。 「トラップアンドエミュレート」テクニックとして知られているこれは、仮想化の世界に固有の多くの高度な概念の1つにすぎません。
このタイプのソフトウェアがより重要で有利になっているため、より多くの企業がハイパーバイザーの負荷を緩和し、パフォーマンスを向上させる方法を探しています。ソフトウェアベンダーは、実行中の仮想マシンを認識するようにオペレーティングシステムを変更しました。ハードウェアベンダーにはリング-1として知られる場合がある新しいレベルの特権に対するDDEDサポート。新しいソフトウェアプログラムは、これらの手法の一方または両方を利用して、パフォーマンスを向上させることができます。
ハイパーバイザーは、消費者レベルとエンタープライズレベルの両方でさまざまな製品に見られるようになりました。あるオペレーティングシステムが別のオペレーティングシステムを実行できるようにする消費者製品は、多くの場合、ソフトウェアタイプのハイパーバイザーを使用します。エンタープライズスペースでは、ソフトウェアを使用すると、異なるオペレーティングシステムを実行している過少使用サーバーを統合できます。ソフトウェア開発者は、このアプローチを使用して、互換性の問題をテストするために、同様または同一のオペレーティングシステムの複数のインスタンスを実行する場合があります。