Z/VM
CMSから生まれたIBMのスクリプト言語であるREXXは、z/OS、OS/2、PC DOSなどに移植された。
IBM内と同様、大学や企業ユーザ、タイムシェアリングシステムの開発ベンダーによって、VMとCP/CMSは共に早くから受け入れられ開発期間の短縮に貢献してきた。ユーザは開発を進める上でアクティブな役割を演じていて、現在のオープンソースプロジェクトに見られるトレンドを予見させるものだった。しかし、IBM社内ではバッチ処理システムをベースとしたMVS系が主流となったため、VM/CMSは補助的なOSとされる時代が続いた。
しかし、VM/CMSはVM/XA、VM/ESAを経てz/VMとなり、今でも数十年に渡ってIBMの他のメインフレームのOSの中に残っている。現在はゲストOSとして、z/OS、z/VSEなどの他、Linuxを多数稼働させる用途(サーバ統合)でも使われている。
なお、上に述べたように、VM制御プログラムは、仮想機械内にDIAG(診断)命令を横取りするhypervisor callハンドラを内部に含んでいる。これにより、ファイルシステムへのアクセスなど仮想化されていない処理の実行を高速化する手段を提供できる。(診断命令は対象モデルに依存した特権命令であり、通常のプログラミングでは使われないし、仮想化もされない。したがって、ホストOSにシグナルを送るのに使うことができる)。CP/CMSリリース3.1で最初に実装された時、この診断コードを使うことでSystem/360のSVC (supervisor call) 命令に似たOSインタフェースを提供していたが、その方法はSVCを使ったシステムの仮想化機能に手を入れたり拡張する必要はなかった。
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として稼働させる事ができる。
z/OSやz/VSEとの共通点には以下が挙げられる。
z/Architectureで稼働する
ネイティブの文字コードはEBCDIC
SNAのサポート
S/390アセンブラー、COBOL、C、PL/Iの言語サポート
z/OSやz/VSEとの相違点には以下が挙げられる。
単体ではなく、z/OSやz/VSEの仮想化OSとして使われる場合が多い
単体(z/VMおよびCMS)でも使用できるが、オンライン対話型志向が強く、トランザクション処理・データベース・バッチなどには向かない