z/VM (ゼットブイエム) とは
z/
VMは、
IBMが開発・販売している
メインフレーム用の
オペレーティングシステム (OS) です。世界初の商用
仮想化OSであるCP-67や
VM/370から続く
VMファミリーの最新OSであり、その歴史は
1960年代にまで遡ります。
名称
現在の製品名は「z/
[VM]]」で、「z」はz/Architecture、「VM」は
仮想機械]を表します。[[VMファミリーの歴史的経緯から、単に「
VM」と表記されることも多く、一般用語の
VM(
仮想機械)との混同には注意が必要です。
概要
z/
VMを含む
VMファミリーは、
ハイパーバイザ型の
仮想化OSであり、対話型の専用ゲストOSが付属しています。主に以下の2つの機能から構成され、合わせて「CP/CMS」や「
VM/CMS」と呼ばれることもあります。
CP (Control Program):
ソフトウェアで実現された
ハイパーバイザで、タイムシェアリングにより複数の
仮想機械を実現します。それぞれの
仮想機械で、z/OS、z/VSE、
Linux on
System z (z/
Linux)、CMSなどのゲストOSを同時に動かすことができます。
CMS (Conversational Monitor System):軽量で対話型の専用ゲストOSです。強力なエディタであるXEDITやスクリプト言語の
REXXを持ち、CPの管理のほか、ミニ
コンピュータや
UNIXが普及するまでは、研究所や学校などでも使用されていました。
歴史
1967年:System/360モデル40用にCP-40とCMS(当時はCambridge Monitor System)が研究用に開発されました (CP-40/CMS)。
1967年:System/360モデル67用にCP-67が開発・発売されました (CP-67/CMS)。
1972年:
仮想記憶をサポートしたSystem/370シリーズ用にCP-370が開発され(CP-370/CMS)、
VM/370と改称・発売されました。この際にCMSはConversational Monitor Systemと改称されました。
その後、31ビットアドレッシングのSystem/370-XAアーキテクチャに対応した
VM/XA、さらに
VM/ESAが発売されました。それぞれゲストOSに、MVS/XAやMVS/ESAなどが使用可能になりました。ただしCMS自体は24ビットアドレッシングのままです。また、TCP/IPなどの
オープン標準も段階的にサポートされました。
2001年:64ビットアドレッシングのz/Architectureに対応したz/
VMが発表され、ゲストOSにz/OSやz/VSEなどが使用可能になりました。
2009年10月:z/
VM V6.1発表。
2011年
10月:z/
VM V6.2発表。
2013年7月:z/
VM V6.3発表、実メモリ1TBサポート、
OpenStack採用など。
2016年
10月:z/
VM V6.4発表。実メモリー2TBのサポートなど。
2020年4月:z/
VM V7.2発表。
2022年9月:z/
VM V7.3発表。
開発経緯
ハイパーバイザは、
メインフレームで最初に実装されました。
IBMのCP-40は、
1967年に製造が開始された、完全
仮想化機能を提供する最初のシステムです。CP-40はSystem/360モデル40をベースに
仮想化機能をサポートするようにカスタマイズされました。CP-40により、複数のOSを同時に実行できる仮想環境が実現しました。
CP-40はすぐにSystem/360モデル67用にCP-67として再実装されました。CP/CMSは、当初は
IBMの顧客に
ソースコードの形で提供されていましたが、後の
VM/370からは
IBMによるサポートが提供されるようになりました。
VMは、単なる
仮想機械ではなく、
ハードウェアインタフェースを
仮想化したものとしての側面が強調されるようになりました。
IBM社内だけでなく、大学や企業、
タイムシェアリングシステムの開発者によって、
VM/CMSは早くから受け入れられ、開発期間の短縮に貢献しました。ユーザーは開発に積極的に関わり、オープンソースプロジェクトのトレンドを先取りしていたと言えます。しかし、
IBM社内では
バッチ処理システムをベースとしたMVS系が主流となったため、
VM/CMSは補助的なOSとされる時代が続きました。
その後、
VM/CMSは
VM/XA、
VM/ESAを経てz/
VMとなり、現在でも
IBMの
メインフレームOSとして利用されています。現在は、z/OSやz/VSEなどのゲストOSのほか、
Linuxを多数稼働させるための
サーバ統合にも使われています。
VMの制御プログラムには、
仮想機械内でDIAG(診断)命令を横取りする
ハイパーバイザコールハンドラが含まれています。これにより、ファイルシステムへのアクセスなど、
仮想化されていない処理の高速化を可能にします。この診断命令は、ホストOSにシグナルを送るために利用されます。
特徴
z/
VMは、
IBMの
メインフレームである
System zなどで稼働します。x86環境での
VMware ESXに相当するものと考えることができます。また、
IBMメインフレームの
仮想化機能である物理分割 (PPAR) や論理分割 (
LPAR) と組み合わせて使用することも可能です。
z/
VMは、PPARや
LPARと比較して、より柔軟な構成変更が可能なため、特に開発環境で広く使用されています。ただし、本番環境ではz/
VM自体が
単一障害点になる可能性があるため、注意が必要です。近年では、複数の
Linuxを1~2台の
メインフレーム上で安定して同時稼働させる用途(
サーバー統合)でも利用されています。
z/
VMは、同じ
IBMメインフレーム専用OSであるz/OSやz/VSEとは全く異なるものです。しかし、上記のように、これらのOSをゲストOSとして実行することができます。
z/OSやz/VSEとの共通点としては、以下のようなものが挙げられます。
z/Architectureで稼働する
ネイティブの文字コードは
EBCDIC
SNAをサポート
S/390アセンブラー、
COBOL、C、
PL/I|PL_Iの言語をサポート
z/OSやz/VSEとの相違点としては、以下のようなものが挙げられます。
単体ではなく、z/OSやz/VSEの
仮想化OSとして使用されることが多い。
単体(z/
VMおよびCMS)でも使用できるが、オンライン対話型志向が強く、トランザクション処理、データベース、
バッチ処理には向かない。
備考
CMSから生まれた
IBMのスクリプト言語である
REXXは、z/OS、OS/2、PC DOSなどに移植されています。
関連項目
メインフレーム
OS/390|OS_390
仮想化
ハイパーバイザ
外部リンク
製品ページ - 日本IBM
IBM Knowledge Centerへのリンク'>z/
VMオペレーティングシステムの基本 -
IBM Knowledge Center
IBM Internet Libraryへのリンク'>
IBM - z/
VM Internet Library (英語)