仮想マシンとは–タイプと利点

問題を排除するために楽器を試してください





仮想マシンの概念は1960年頃に導入されました。これは、タイムシェアリング技術の進化形です。タイムシェアリング方式では、各プログラムがすべてのコンピュータリソースに完全にアクセスできますが、一度に実行されるプログラムは1つだけです。システムは、プログラムの状態を毎回保存および復元しながら、タイムスライス内のプログラムを切り替えます。タイムシェアリング方式を使用することで、複数のユーザーがコンピュータシステムを同時に使用できます。 IBM研究センターは、タイムシェアリング方式を仮想マシンとして進化させました。 CP-67が最初に利用可能になりました 仮想マシンアーキテクチャ 。単一のホスト上に複数の仮想マシンがあり、複数のホスト上に単一の仮想マシンがあるシステムが開発されました。

新しいハードウェアを起動する前 技術 、最初にエミュレータでテストされ、設計の欠陥を検出、再作成、修復し、必要な手順を実行します。同様に、新しいソフトウェアを導入する前に、エラーをチェックしてデバッグするためにシミュレーションされます。このタスクを実行するために、新しいテクノロジーを構築するためのメイン環境の代わりとして機能できるシステム。ここで、仮想マシンが登場します。これは、物理システムの全機能を提供するコンピューターシステムのエミュレーションとして機能します。




仮想マシンとは何ですか?

新しいテクノロジーと新しい研究モデルの導入に伴い、多くのハードウェアおよびソフトウェア製品が発売されています。ソフトウェアの多くはプラットフォームに依存しているため、ハードウェアリソースが限られているため、デバッグやチェックが難しい場合があります。

VM(仮想マシン)はコンピューターシステムのエミュレーションであり、これらのマシンはコンピューターアーキテクチャを使用して、物理コンピューターの機能を提供します。仮想マシンが動作する物理デバイスはホストと呼ばれ、仮想マシンはゲストと呼ばれます。 1つのホストに複数のゲストを含めることができます。



仮想マシンの種類

仮想マシンはコンピューターのように機能し、ホストシステムの他の部分からサンドボックス化されます。ゲスト内のソフトウェアは、ホストシステムのソフトウェアに変更を加えることはできません。したがって、ウイルスファイルは、メインコンピュータシステムに影響を与えることなく、仮想マシンを使用してテストできます。仮想マシンを作成して実行するコンピューターソフトウェアは、ハイパーバイザーと呼ばれます。それらの機能に基づいて、仮想マシンには2つの異なるタイプがあります。システム仮想マシンとプロセス仮想マシンです。

1)。システム仮想マシン


これらのタイプのVMは、完全仮想化を提供します。実機の代替として機能し、全体を実行する機能を提供します オペレーティング・システム 。ハードウェアリソースは共有および管理され、ホストシステム上に複数の環境を形成します。これらの環境は互いに分離されていますが、同じ物理ホスト上に存在します。したがって、これらはいくつかのシングルタスクオペレーティングシステム間でタイムシェアリングを提供します。

1台のコンピューター上の異なる仮想マシン間でメモリを共有できるようにする オペレーティング・システム 、メモリオーバーコミットメントシステムを適用できます。同一のコンテンツを持つメモリページは、同じ物理ホスト上に存在する複数の仮想マシン間で共有できます。これは、読み取り専用ページに非常に役立ちます。

2)。プロセス仮想マシン(VM)

これらのVMは、アプリケーション仮想マシン、マネージドランタイム環境とも呼ばれます。このタイプのVMは、ホストのオペレーティングシステム内で通常のアプリケーションとして実行され、単一のプロセスをサポートします。プロセスの開始時に作成され、プロセスの終了時に破棄されます。プラットフォームに依存しないものを提供するために使用されます プログラミング プロセスへの環境。他のプラットフォームでも同じように実行できます。

プロセス-仮想マシン

プロセス-仮想マシン

これらはインタプリタを使用して実装され、高レベルの抽象化を提供します。これらは、プログラムの実行にJava仮想マシンを使用するJavaプログラミングに広く使用されています。コンピュータークラスターの通信メカニズムを抽象化するプロセスVMの特殊なケースがあります。これらには、クラスター内の物理マシンごとに1つのプロセスが含まれます。これらは、プログラマーが相互接続によって提供される通信プロセスではなく、アルゴリズムに集中するのに役立ちます。 OSの仮想マシン 。これらのVMで実行されているアプリケーションは、すべてのオペレーティングシステムサービスにアクセスできます。並列仮想マシン、メッセージパッシングインターフェイスは、これらの仮想マシン(VM)の例です。

建築

ランタイムソフトウェアは、プロセスVMを実装する仮想化ソフトウェアです。これは、OSとハードウェアを組み合わせたレイヤーの上のコンピューターアーキテクチャのAPIレベルで実装されます。これは、ユーザーレベルの命令とOSまたはライブラリの呼び出しをエミュレートします。システム仮想マシンの場合、仮想化ソフトウェアはVirtual Machine Monitor(VMM)と呼ばれます。このソフトウェアは、ホストハードウェアマシンとゲストソフトウェアの間に存在します。 VMMはハードウェアISAをエミュレートし、ゲストソフトウェアが別のISAを実行できるようにします。

利点

仮想マシンの利点のいくつかは次のとおりです-

  • 仮想マシンは、仮想マシン上で実行されているソフトウェアとのソフトウェア互換性を提供します。したがって、仮想化されたホスト用に作成されたすべてのソフトウェアは、仮想マシンでも実行されます。
  • さまざまな種類のオペレーティングシステムとプロセスを分離します。したがって、1つの仮想マシンで実行されているプロセッサオペレーティングシステムは、他の仮想マシンおよびホストシステムのプロセスを変更できません。
  • これらはカプセル化を提供し、仮想マシンに存在するソフトウェアを変更および制御できます。
  • マルチオペレーティングシステムホストの場合、これらは、デュアルブートなし、仮想マシン間のファイル転送、1つのOSのエラーがホストに存在する他のOSに影響を与えない、freashOSを簡単に追加できるなどのさまざまな機能を提供します。
  • これらは、ホストマシンの完全なソフトウェアスタックを実行したり、レガシーOSを実行したりできるような、優れたソフトウェア管理を提供します。
  • ここでは、ハードウェアリソースを独立したソフトウェアスタックと共有し、負荷を分散することができます。仮想マシンを別のコンピューターに転送できます。

したがって、現代のコンピューティングシステムは、さまざまな密接に相互作用するソフトウェアおよびハードウェアコンポーネントを含む、より複雑になっています。ここで、仮想化は相互接続テクノロジーとして機能します。仮想マシンは、互換性のないサブシステムを連携させます。また、複数のオペレーティングシステム間でハードウェアリソースをより柔軟かつ効果的に使用できます。これらは、ハードウェア、システムソフトウェア、およびアプリケーション間の相互運用性を提供します。プロセスの違いは何ですか 仮想マシン およびシステム仮想マシン?