ハイパーバイザー|仮想マシンモニタ、VMM、バーチャライザー

ハイパーバイザー(または仮想マシンモニタ、VMM、バーチャライザー)は、仮想マシンを作成して実行するコンピュータのソフトウェア、ファームウェア、またはハードウェアです。

サーバー

ハイパーバイザーが 1 台以上の仮想マシンを実行するコンピュータをホストマシンと呼び、各仮想マシンをゲストマシンと呼びます。

ハイパーバイザーは、ゲストオペレーティングシステムに仮想オペレーティング・プラットフォームを提示し、ゲストオペレーティングシステムの実行を管理します。

例えば、Linux、Windows、およびmacOSのインスタンスは、すべて単一の物理的なx86マシン上で実行することができます。

これは、すべてのインスタンス(通常はコンテナと呼ばれる)が単一のカーネルを共有しなければならないオペレーティングシステムレベルの仮想化とは対照的ですが、ゲストのオペレーティングシステムは、同じカーネルを持つ異なるLinuxディストリビューションなど、ユーザー空間が異なる場合があります。

ハイパーバイザーという用語はスーパーバイザーの変種であり、オペレーティングシステムのカーネルの伝統的な用語である。

完全な仮想化を提供する最初のハイパーバイザーは、テストツールのSIMMONとIBMのワンオフ研究用CP-40システムで、1967年1月に本番使用が開始され、IBMのCP/CMSオペレーティングシステムの最初のバージョンとなりました。

CP-40は、IBMケンブリッジ・サイエンティフィック・センターで、仮想化を可能にする機能であるダイナミック・アドレス変換をサポートするように改造されたS/360-40上で動作した。

それまでコンピュータのハードウェアは、CTSSやIBM M44/44Xのように、複数のユーザーアプリケーションを同時に実行できる程度にしか仮想化されていませんでしたが、CP-40では、ハードウェアの仮想化が可能になりました。

CP-40では、ハードウェアのスーパバイザ状態も仮想化され、複数のオペレーティングシステムを別々の仮想マシンコンテキストで同時に実行できるようになりました。

プログラマはすぐに、完全な仮想化が可能な最初のプロダクション・コンピュータ・システムであるIBM System/360-67にCP-40(CP-67として)を実装しました。

IBMはこのマシンを1966年に最初に出荷しました。

このマシンには、仮想メモリ用のページ変換テーブルハードウェアや、I/Oや割り込み処理を含むすべてのカーネルタスクの完全な仮想化を可能にするその他の技術が含まれていました。

CP-40とCP-67の両方が1967年に製品として使用され始めました。

CP/CMSは1968年から1970年代初頭まで、IBMの顧客がサポートなしでソースコードの形で利用できるようになっていました。

CP/CMSは、メインフレームコンピュータ用に堅牢なタイムシェアリングシステムを構築しようとするIBMの試みの一部を形成した。

複数のオペレーティングシステムを同時に実行することで、ハイパーバイザーはシステムの堅牢性と安定性を高めました。

1つのオペレーティングシステムがクラッシュしても、他のオペレーティングシステムは中断することなく動作を続けることができます。

実際、これにより、オペレーティングシステムのベータ版や実験版、あるいは新しいハードウェアでさえも、安定したメインの本番システムを危険にさらすことなく、コストのかかる追加開発システムを必要とせずに、デプロイやデバッグを行うことが可能になりました。

IBMは1970年にSystem/370シリーズを発表し、仮想化に必要な仮想メモリ機能を搭載していませんでしたが、1972年8月のAdvanced Functionの発表で追加しました。

仮想化はすべての後継システムに搭載されています。

例えば、zSeriesラインなどの現代のIBMメインフレームはすべて、1960年代のIBM S/360ラインとの下位互換性を保持しています

1972年の発表には、S/370用にCP/CMSを再実装したVM/370も含まれていました。

CP/CMSとは異なり、IBMはこのバージョンのサポートを提供していましたが、それでもいくつかのリリースではソースコードの形で配布されていました。

VMはVirtual Machineの略で、ハードウェアインターフェースの一部だけではなく、すべてが仮想化されていることを強調しています。VMwareが有名です。

VMとCP/CMSの両方とも、大学、企業ユーザー、タイムシェアリング・ベンダー、そしてIBM内で早期に受け入れられ、急速に開発されました。

ユーザーは、現代のオープンソース・プロジェクトに見られる傾向を先取りして、進行中の開発に積極的な役割を果たしました。

しかし、一連の論争と苦い戦いの中で、タイムシェアリングはIBMの政治的な対立によってバッチ処理に敗れ、VMは何十年にもわたってIBMの「もう一つの」メインフレーム・オペレーティング・システムであり続け、MVSに敗れました。

2000年からはz/VM製品として、例えばIBM Z上のLinuxのプラットフォームとして、人気とサポートの復活を享受しました。

DIAG(「Diagnose」、オペコードx’83’)命令をインターセプトするハイパーバイザーコールハンドラが含まれています。これにより、ファイルシステムアクセスなどの操作を仮想化されていないファストパスで実行することができます。

DIAGはモデル依存の特権命令であり、通常のプログラミングでは使用されないため、仮想化されていません。

そのため、「ホスト」オペレーティングシステムへのシグナルとして使用できます。

CP/CMSリリース3.1で最初に実装されたとき、DIAGのこの使用は、System/360スーパーバイザコール命令(SVC)に類似していましたが、システムのSVCの仮想化を変更したり拡張したりする必要がないオペレーティング・システム・インターフェースを提供しました。

1985年、IBMは論理パーティション(LPAR)を管理するためにPR/SMハイパーバイザーを導入しました。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク