| 開発者 | IBM |
|---|---|
| OSファミリー | VMファミリー |
| 作業状態 | 現在 |
| ソースモデル | 1972–1986オープンソース、1977–現在クローズドソース |
| 初回リリース | 1972年 |
| 最新リリース | IBM z/VM V7.3 / 2022年9月16日 |
| マーケティングターゲット | IBM メインフレームコンピュータ |
| 利用可能 | 英語 |
| プラットフォーム | System/370、System/390、zSeries、IBM zEnterprise System |
| ライセンス | 1972–1981パブリックドメイン、1976–現在所有権 |
| 公式サイト | 詳しくはこちら |

VM (多くの場合: VM/CMS ) は、IBM メインフレームSystem/370、System/390、zSeries、System zおよび互換システム(パーソナル コンピュータ用のHercules エミュレータを含む)で使用されるIBM 仮想マシン オペレーティング システムのファミリです。
デザイン
VM アーキテクチャの中心となるのは、制御プログラムまたはハイパーバイザ (略称は CP、VM-CP、またはあいまいに VM と呼ばれる) です。これは物理ハードウェア上で実行され、仮想マシン環境を作成します。VM-CP は、すべての I/O およびその他の特権操作を含む、物理マシンの完全な仮想化を提供します。デバイス管理、ディスパッチ、仮想ストレージ管理、およびその他の従来のオペレーティング システム タスクを含むシステムのリソース共有を実行します。各 VM ユーザーには、独自のアドレス空間、仮想デバイスなどを持ち、スタンドアロン マシンで実行できるソフトウェアを実行できる個別の仮想マシンが提供されます。特定の VM メインフレームでは、通常、数百または数千の仮想マシン インスタンスが実行されます。VM-CP は、 CP-67の再実装である CP-370 として誕生しました。CP-67 自体もCP-40の再実装でした。
各仮想マシン内では、別のオペレーティング システム (ゲスト オペレーティング システム)が実行されます。これは次のようなものになります。
- CMS ( Conversational Monitor System 、 CP/CMSの Cambridge Monitor System から改名)。ほとんどの仮想マシンは、軽量のシングル ユーザー オペレーティング システムである CMS を実行します。その対話型環境は、ファイル システム、プログラミング サービス、デバイス アクセス、およびコマンド ライン処理など、シングル ユーザー PC の環境と同等です。(CMS の以前のバージョンは「メインフレーム上のCP/M」と不親切に表現されていましたが、この比較は時代錯誤です。CP/M の作者であるGary Kildallは、経験豊富な CMS ユーザーでした。)
- GCS ( Group Control System ) は、MVS API の限定的なシミュレーションを提供します。IBM は当初、サービスOS/VS1仮想マシンと VTAM Communications Network Application (VCNA) なしでVTAM を実行するために GCS を提供しました。RSCS V2 も GCS で実行されました。
- メインストリーム オペレーティング システム。IBM のメインストリーム オペレーティング システム (MVSおよびDOS /VSEファミリ、OS/VS1、TSS/370、または VM/370 自体の別の層 (下記参照) など) は、変更せずにロードして実行できます。VM ハイパーバイザは、ゲスト オペレーティング システムを例外的な権限を持つアプリケーション プログラムとして扱います。つまり、特権命令 (アプリケーションがシステム全体または重要な部分を制御できるようにする命令) を直接使用できないようにし、代わりに特権命令をシミュレートします。ほとんどのメインフレーム オペレーティング システムでは、オペレーティング システムの権限を奪取しようとする通常のアプリケーションが終了します。VM ハイパーバイザは、ハードコピー ライン モード 3215、グラフィカル3270ファミリ、および新しい System/390 および System Z マシンの統合コンソールなど、ゲスト オペレーティング システムのいくつかの種類のコンソール ターミナルをシミュレートできます。その後、他のユーザーは、ログオン画面で DIAL コマンドを使用して実行中の仮想マシンにアクセスできます。このコマンドにより、端末は最初に利用可能なエミュレートされた 3270 デバイスに接続されるか、ユーザーがタイプライター端末から DIAL している場合は最初に利用可能な 2703 デバイスに接続されます。
- VM の別のコピー。VMの第 2 レベルのインスタンスは、仮想マシン内で完全に仮想化できます。これが VM の開発とテストの方法です (第 2 レベルの VM は、ハードウェアの異なる仮想化を実装する可能性があります)。この手法は、S/370 ハードウェアが利用可能になる前に S/370 ソフトウェアの開発に使用され、IBM の新しいハードウェア開発で引き続き役割を果たしています。文献には、5 レベルの深さの仮想化の実例が示されています。[1]最上位より下のレベルの VM もアプリケーションとして扱われますが、例外的な権限が与えられます。
- メインフレーム版のAIXまたはLinuxのコピー。メインフレーム環境では、これらのオペレーティング システムは VM で実行されることが多く、他のゲスト オペレーティング システムと同様に扱われます (ベア ハードウェア上で「ネイティブ」オペレーティング システムとして実行することもできます)。また、短命だった IX/370 や、S/370 および S/390 バージョンの AIX (AIX/370 および AIX/ESA) もありました。
- 特殊な VM サブシステム。VM-CP 仮想マシン内では、CMS 以外の複数のシステムが実行され、スプーリング、プロセス間通信、特殊なデバイス サポート、ネットワークなどのサービスを CMS ユーザーに提供します。これらはバックグラウンドで動作し、VM-CP 制御プログラムに追加することなく、CMS で利用できるサービスを拡張します。別の仮想マシンで実行することで、他の VM ユーザーと同じセキュリティと信頼性の保護が提供されます。例:
- RSCS(リモートスプールおよび通信サブシステム、別名VNET) - 仮想マシンと他のシステム間の通信および情報転送機能[2]
- RACF (リソース アクセス制御機能) — セキュリティ システム
- 共有ファイルシステム(SFS)。共有ファイルをディレクトリツリーに整理します(サーバーは一般に「VMSERVx」と呼ばれます)。
- VTAM (仮想通信アクセス方式) –システムネットワークアーキテクチャネットワークのサポートを提供する機能
- PVM (VM/パススルー機能) – 他のVMシステムへのリモートアクセスを提供する機能
- TCPIP、SMTP、FTPSERVE、PORTMAP、VMNFS – VM/CMS にTCP/IPネットワークを提供するサービス マシンのセット
- Db2 Server for VM – SQL データベース システム。サーバーの名前は「SQLMACH」や「SQLMSTR」に似ていることが多い。
- DIRMAINT – 簡略化されたユーザー ディレクトリ管理システム (ディレクトリは、仮想ハードウェア構成、ユーザー パスワード、ミニディスクなど、システム上のすべてのアカウントのリストです)。
- MUMPS/VM — VM/370上でゲストとして実行できるMUMPSデータベースとプログラミング言語の実装。 [3] MUMPS/VMは1987年に導入され、1991年に廃止されました。[4]
- National CSSのCSSやBoston UniversityのVPS/VMなど、ユーザーが作成または変更したオペレーティング システム。
バージョン
以下のバージョンが知られています:
- 仮想マシン機能/370
- 1972 年にリリースされた VM/370 は、以前のCP/CMSオペレーティング システムをSystem/370 で再実装したものです。
- VM/370 基本システム拡張プログラム製品
- VM/BSE (BSEPP) は、VM/370 の機能強化であり、より多くのデバイス (3370 タイプの固定ブロック アーキテクチャ DASD ドライブなど) のサポート、CMS 環境の改善 (エディターの改善など)、および CP の安定性の向上が追加されています。
- VM/370 システム拡張プログラム製品
- VM/SE (SEPP) は VM/370 の拡張機能であり、VM/BSE の機能に加えて、いくつかの追加の修正と機能が含まれています。
- 仮想マシン/システム製品
- VM/SPはマイルストーンバージョンであり、VM/370、VM/BSE、VM/SEに代わるものです。リリース1ではEXEC2とXEDITシステムプロダクトエディタが追加され、リリース3ではREXXが追加され、リリース6では共有ファイルシステムが追加されました。[5]
- 仮想マシン/システム製品高パフォーマンスオプション
- VM/SP HPO は VM/SP に追加のデバイス サポートと機能を追加し、16 MB を超える実ストレージ (最大 64 MB) を利用できる特定の S/370 マシンでこれを可能にします。このバージョンは、複数の S/370 ゲストを同時に実行するユーザーを対象としています。[6] [7]
- 仮想マシン/拡張アーキテクチャ移行支援
- VM/XA MAは、同じプロセッサ複合体上で両方を同時に実行できるようにすることで、MVS/370からMVS/XAへの移行を容易にすることを目的としています。[8]
- 仮想マシン/拡張アーキテクチャシステム機能
- VM/XA SFは、機能とパフォーマンスが向上したアップグレードされたVM/XA MAです。[9]
- 仮想マシン/拡張アーキテクチャシステム製品
- VM/XA SPは、S/370-XAをサポートするマシン上のVM/SP HPOの代替として提供される、機能とパフォーマンスが向上したアップグレードされたVM/XA MAです。S/370またはS/370-XAモードで実行できるCMSのバージョンが含まれています。[10]
- 仮想マシン/エンタープライズ システム アーキテクチャ
- VM/ESA は VM/SP、VM/SP HPO、VM/XA SP の機能を提供します。VM/ESA バージョン 1 は S/370、ESA/370、または ESA/390 モードで実行できますが、S/370 XA モードはサポートしていません。バージョン 2 は ESA/390 モードでのみ実行されます。S/370 対応の VM/ESA バージョンは、実際には VM/ESA の ESA/390 バージョンとは別のバージョンでした。これは、S/370 バージョンが古い VM/SP HPO コードベースに基づいており、ESA/390 バージョンが新しい VM/XA コードベースに基づいているためです。[11]
- 仮想マシン
- z/VMは、メインフレーム市場の主要な完全仮想化ソリューションの1つとして現在でも広く使用されている最後のバージョンです。 [要出典] z/VM 4.4はESA/390モードで実行できる最後のバージョンであり、それ以降のバージョンはz/Architectureモードでのみ実行されます。[12]
名前の CMS は、仮想マシンで実行され、VM 内で会話型のタイムシェアリングを提供するシングル ユーザー オペレーティング システムである製品のコンポーネントである会話型モニター システムを指します。
ハイパーバイザーインターフェース
IBMは360/65 [13]のためにハイパーバイザーという用語を作り出し、後にCP-67のDIAGハンドラーにもそれを使用しました。
診断命令('83'x - ニーモニックなし) は、IBM が当初「組み込み診断機能、またはその他のモデル依存機能」を実行するために意図した特権命令です。 [14] IBM は DIAG を「仮想マシンと CP 間の通信」に再利用しました。[15] [16]この命令には、Rx と Ry と呼ばれる 2 つの 4 ビット レジスタ番号 (これには「DIAGNOSE インターフェイスに渡されるオペランド ストレージ アドレスまたは戻りコードが含まれる」) と「CP が実行する DIAGNOSE 機能を決定するために使用する」2 バイト コードが含まれています。[15]使用可能な診断機能には次のものがあります。
かつて、CMS はベア マシン上で真のオペレーティング システムとして実行できました (ただし、このような構成は珍しいことです)。現在は、VM 下のゲスト OS としてのみ実行されます。これは、CMS がファイル システム操作を実行し、他の VM サービスを要求するために、VM-CP へのハイパーバイザーインターフェイスに依存しているためです。この準仮想化インターフェイスには次の機能があります。
- 完全なシミュレーションのオーバーヘッドを回避するために、VM-CP への高速パスを提供します。
- これは、CP の効率性における重要な初期のマイルストーンであるCP/CMSリリース 2.1のパフォーマンス向上として最初に開発されました。
- CMS と CP 間の信号として、仮想化されていないモデル依存のマシン命令 DIAG (診断) を使用します。
ミニディスク


CMS やその他のオペレーティング システムでは、DASD 要件が実際のボリュームのサイズよりはるかに小さいことがよくあります。このため、CP ではインストール時にデバイスの容量までの任意のサイズの仮想ディスクを定義できます。CKD ボリュームの場合、ミニディスクはフル シリンダで定義する必要があります。ミニディスクは、通常はサイズが小さく、各ミニディスクの先頭がシリンダまたはブロック 0 にマップされることを除いて、基礎となる実際のディスクと同じ属性を持ちます。ミニディスクは、実際のディスクと同じチャネル プログラムを使用してアクセスできます。
CMS ファイル システムで初期化されたミニディスクは CMS ミニディスクと呼ばれますが、それを使用できるのは CMS だけではありません。
ボリュームを特定の仮想マシンに割り当てるために を使用する代わりに、 z/OSなどのゲスト オペレーティング システムで使用するためにフル ボリューム ミニディスクを定義するのが一般的ですDEDICATE。さらに、システム上のすべての DASD に対して「フル パック リンク」が定義されることが多く、MAINT ユーザー ID によって所有されます。これらは、DASD ダンプ/復元プログラムを使用してシステムをバックアップするために使用され、DASD の内容全体がテープ (または別の DASD) に正確に書き込まれます。
共有ファイルシステム

最新の VM バージョンでは、システムの大部分を SFS にインストールできます。残りの少数のミニディスクは、システムの起動に絶対に必要なものと、ファイルプール サーバー マシンが所有するものになります。

VM/SP リリース 6 では、共有ファイルシステム[17]が導入され、CMS のファイル ストレージ機能が大幅に向上しました。CMS ミニディスク ファイルシステムはディレクトリ (フォルダ) をまったくサポートしていませんが、SFS はサポートしています。SFS では、よりきめ細かいセキュリティも導入されています。CMS ミニディスクでは、ディスクへの読み取り専用アクセスまたは読み取り/書き込みアクセスをユーザーに許可または拒否するようにシステムを構成できますが、個々のファイルに同じセキュリティを適用することはできません。SFS はこれを緩和し、パフォーマンスを大幅に向上させます。
SFS はサービス仮想マシンによって提供されます。現代の VM システムでは、通常、次の 3 つが必要です。VMSERVR (実際にはファイルを提供しない「リカバリ マシン」)、VMSERVS (VMSYS ファイル プールのサーバー)、および VMSERVU (VMSYSU (ユーザー) ファイル プールのサーバー)。[18]ファイル プール サーバー マシンは、通常、CMS A ディスク (仮想デバイス アドレス 191、ファイル プール構成ファイルを含む)、制御ディスク、ログ ディスク、および実際にユーザー ファイルを格納する任意の数のデータ ディスクを含む複数のミニディスクを所有します。
ユーザー アカウントが SFS のみを使用するように設定され、ミニディスクを所有していない場合、ユーザーの A ディスクは になりFILEPOOL:USERID.、ユーザーが作成する後続のディレクトリは、FILEPOOL:USERID.DIR1.DIR2.DIR3同等の UNIX ファイル パスがある場所になります/dir1/dir2/dir3。SFS ディレクトリは、ミニディスク (前述のように、読み取りパスワード、書き込みパスワード、およびマルチ書き込みパスワードのみを持つことができる場合が多い) と比較して、はるかにきめ細かいアクセス制御が可能です。また、SFS ディレクトリは、2 人のユーザーが同時に同じ CMS ミニディスクに書き込む場合に発生する可能性のある、ディスク破損の原因となる可能性のある問題も解決します (書き込みを実行している CMS VM は、別の CMS インスタンスもミニディスクに書き込んでいることに気付かない可能性があるため)。
ファイルプールサーバマシンは、密接に関連するファイルシステムであるバイトファイルシステムも提供します。BFSは、UNIXスタイルのファイルシステムにファイルを保存するために使用されます。その主な用途は、CMSのVM OpenExtensions POSIX環境です。CMSユーザー仮想マシン自体は、IUCVメカニズムを介してSFSサーバー仮想マシンと通信します。[19]
歴史


VM の初期の歴史については、 CP/CMSおよびCP/CMS の歴史の記事で説明されています。VM/370 は CP/CMS の再実装であり、1972 年に IBM の System/370 Advanced Function 発表 ( System/370シリーズに仮想メモリハードウェアとオペレーティング システムを追加) の一環として利用可能になりました。VM の初期リリースから VM/370 Release 6 までは、 1981 年までオープン ソースで継続され、現在はパブリック ドメインであると見なされています。このポリシーは、1977 年に有料の VM/SE および VM/BSE アップグレードで終了し、1980 年に VM/System Product (VM/SP) で終了しました。ただし、IBM は長年にわたり、既存のコードに対するソース フォームでの更新を提供し続けましたが、無料ベースを除くすべてのアップグレードにはライセンスが必要でした。CP-67 と同様に、仮想マシン内の特権命令はプログラム割り込みを引き起こし、CP は特権命令の動作をシミュレートしました。 VM は IBM内ではオペレーティング システムの開発やタイム シェアリングに使われる重要なプラットフォームであり続けましたが、顧客にとっては IBM の「他のオペレーティング システム」のままでした。OS および DOS ファミリは IBM の戦略的な製品のままであり、顧客は VM を実行するようには勧められませんでした。VM を実行した顧客は緊密な協力関係を築き、初期の CP/CMS ユーザーのコミュニティ サポート モデルを継続しました。その間、このシステムは、他の IBM の取り組みと比較して、プロジェクトにどのリソースを使用すべきかをめぐって IBM 内で政治的な争いに悩まされました。システムの基本的な問題は、IBM の現場販売レベルで見られました。VM/CMS によって、一定数のタイム シェアリング ユーザーをサポートするために必要なハードウェアの量が明らかに減少したのです。結局のところ、IBM はコンピュータ システムを販売するビジネスを営んでいたのです。
メリンダ・バリアンは、VMの予想外の成功を示す興味深い引用文を次のように述べている。[20]
VM/370 のマーケティング予測では、製品の全寿命期間を通じて VM を実行する 168 は 1 台のみと予測されていました。実際、顧客に納品された最初の 168 では CP と CMS のみが実行できました。10 年後、ポキプシーから出荷される大型プロセッサの 10 % が VM を実行することになり、エンディコットで製造されたミッドレンジ マシンのかなりの部分も VM を実行することになりました。15 年も経たないうちに、VM ライセンスが MVS ライセンスを上回るようになりました。
XT/370 (および後に AT/370) で CMS を実行するPC DOSバージョンはVM/PC と呼ばれます。VM/PC 1.1 は VM/SP リリース 3 に基づいていました。IBM が P/370 および P/390 プロセッサ カードを導入すると、PC は VM/370、VM/SP、VM/XA、および VM/ESA を含む完全な VM システムを実行できるようになりました (これらのカードは S/370 および S/390 メインフレームと完全に互換性があり、MVS/ESA、VSE/ESA など、31 ビット時代のすべての S/370 オペレーティング システムを実行できました)。
基本 VM/SP リリースに加えて、IBM は VM/SP HPO (High Performance Option) も導入しました。このアドオン (基本 VM/SP リリースにインストールされます) は、サポートされるモデル (IBM 4381 など) で 16 MB を超えるストレージ (RAM) の使用を許可するなど、いくつかの主要なシステム機能を改善しました。VM/SP HPO をインストールすると、新しい制限は 64 MB になりましたが、1 人のユーザー (または仮想マシン) は 16 MB を超える容量を使用できませんでした。スプール ファイル システムの機能も改善され、システム全体で 9900 個ではなく、ユーザーごとに 9900 個のスプール ファイルを作成できるようになりました。スプール ファイル システムのアーキテクチャも強化され、各スプール ファイルに固有のユーザー ID が関連付けられるようになり、リーダー ファイル制御ブロックが仮想ストレージに保持されるようになりました。システムを構成することで、特定のユーザーによるベクトル機能へのアクセスを拒否することもできます (ユーザー ディレクトリ エントリを使用)。[6]
VM/SP リリース 1 以降の VM リリースでは、マルチプロセッサ システムをサポートしました。System/370 バージョンの VM (VM/SP や VM/SP HPO など) は、最大 2 つのプロセッサをサポートし、システムは UP (ユニプロセッサ) モード、MP (マルチプロセッサ) モード、または AP (接続プロセッサ) モードのいずれかで動作しました。[21] AP モードは MP モードと同じですが、2 番目のプロセッサには I/O 機能がありません。System/370-XA リリースの VM (VM/XA など) は、より多くのプロセッサをサポートしました。System/390 リリース (VM/ESA など) では、この制限はほぼ完全に撤廃され、一部の最新の z/VM システムでは、80 個ものプロセッサを搭載できます。[22]定義済みプロセッサの VM あたりの制限は 64 です。
IBM が3081で System/370 Extended Architecture を導入したとき、顧客は実稼働 MVS/370 システムを実行しながら、同じマシンで MVS/XA をテストする必要に直面しました。IBM の解決策は VM/XA Migration Aid で、これは仮想マシンを実行するために新しい Start Interpretive Execution (SIE) 命令を使用しました。SIE は一部の特権命令を自動的に処理し、処理できない場合は CP に戻りました。後の3090のProcessor Resource/System Manager (PR/SM)でも SIE が使用されました。VM/XA 製品はいくつかありましたが、最終的に VM/ESA と z/VM に取って代わられました。
RSCSネットワークに加えて、IBM はVTAMネットワークもユーザーに提供しました。VM 用の ACF/VTAM は、MVS および VSE 上の ACF/VTAM と完全に互換性がありました。[23] RSCS と同様に、VM 上の VTAM は専用の GCS オペレーティング システムで実行されました。ただし、VM は TCP/IP ネットワークもサポートしていました。1980 年代後半、IBM は VM/SP および VM/XA 用の TCP/IP スタックを作成しました。[24]このスタックは、IPv4 ネットワーク、およびさまざまなネットワーク インターフェイス システム (メインフレーム間のチャネル間リンク、またはトラフィックをトークン リングまたはイーサネットネットワークに中継する専用の IBM RT PC など) をサポートしました。このスタックは、単純なライン モード ターミナル エミュレーターまたは VT100 互換エミュレーター、または適切な IBM 3270 ターミナル エミュレーターからのTelnet接続をサポートしました。このスタックは FTP サーバーも提供しました。IBM は VM 用のオプションの NFS サーバーも作成しました。初期のバージョンはかなり原始的でしたが、最近のバージョンははるかに高度です。[25]
また、VM/パススルー機能(またはより一般的にはPVMと呼ばれる)として知られる4番目のネットワークオプションもありました。PVMは、VTAMと同様に、リモートVM/CMSシステムや他のIBMシステムへの接続を可能にしました。[26] 2つのVM/CMSノードがチャネル間リンクまたは双方向リンク(ダイヤルアップモデムまたは専用回線を使用)を介してリンクされている場合、ユーザーはVMログイン画面で「DIAL PVM」と入力し、次にシステムノード名を入力する(または使用可能なノードのリストから選択する)ことで、いずれかのシステムにリモートで接続できます。または、CMSを実行しているユーザーは、PVMと一緒にインストールされたPASSTHRUプログラムを使用して、ユーザーのセッションからログアウトすることなくリモートシステムにすばやくアクセスできます。PVMは、3x74エミュレーション技術を利用して、非VMシステムへのアクセスもサポートしました。PVMの後のリリースでは、SNAネットワークからの接続を受け入れることができるコンポーネントも搭載されました。
VM はBITNETの基盤となるオペレーティング システムでもありました。VM で使用できる RSCS システムは、実装が容易で、ある程度信頼性の高いシンプルなネットワークを提供したからです。VM サイトは、相互に通信する各 VM システム上の RSCS VM によって相互接続され、ユーザーは RSCS を介してメッセージ、ファイル、およびバッチ ジョブを送受信できました。「NOTE」コマンドは、XEDIT を使用して電子メールを作成するダイアログを表示し、ユーザーはそこから電子メールを送信できます。ユーザーが の形式でアドレスを指定した場合user at node、電子メール ファイルは RSCS に配信され、RSCS はそれをターゲット システム上のターゲット ユーザーに配信します。サイトに TCP/IP がインストールされている場合、RSCS は SMTP サービス マシンと連携して、メモ (電子メール) をリモート システムに配信したり、受信したりできます。ユーザーが を指定した場合user at some.host.name、NOTE プログラムが電子メールを SMTP サービス マシンに配信し、SMTP サービス マシンがそれをインターネット上の宛先サイトにルーティングします。
ハードウェアの進化によりプロセッサ アーキテクチャが大きく変化したため、IBM 社内での VM の役割は変化しました。下位互換性はIBM メインフレームファミリの基礎であり、オリジナルのSystem/360で導入された基本命令セットを今でも使用しています。しかし、64 ビットのzSeriesを効率的に使用する必要性から、VM アプローチの方がはるかに魅力的になりました。VM は、DOS/VSE から MVS に変換するデータ センターでも利用され、今後ますます重要になるプラットフォームであるメインフレームのAIXおよびLinux を実行するときに役立ちます。現在のz/VMプラットフォームは、VM ユーザーが長らく当然だと感じていた IBM 社内での評価をようやく獲得しました。一部の z/VM サイトでは、単一のシステムで数千の仮想マシン ユーザーを同時に実行しています。z/VM は 2000 年 10 月に初めてリリースされ[27]、現在も積極的に使用および開発されています。
IBM およびサードパーティは、VM で実行される多くのアプリケーションとツールを提供しています。例としては、 RAMIS、FOCUS、SPSS、NOMAD、DB2、REXX、RACF、OfficeVisionなどがあります。現在の VM 製品は、 HTTPサーバー、データベース マネージャー、分析ツール、エンジニアリング パッケージ、金融システムなど、メインフレーム アプリケーションの全範囲をカバーしています。
CPコマンド
リリース6の時点で、VM/370制御プログラムには、一般ユーザー向けの、ユーザーの仮想マシンの定義と制御に関するコマンドがいくつか用意されています。コマンドの小文字部分はオプションです[28]
OpenEdition拡張機能
VM/ESA バージョン 2 から、IBM は CMS に POSIX 互換性を提供する有料オプション機能OpenEdition for VM/ESA Shell and Utilities Feature [29]を導入しました。際立った機能は CMS 用の UNIX シェルでした。この UNIX 環境用の C コンパイラは、C/370 または C for VM/ESA のいずれかによって提供されます。CMS ファイルシステムも標準の VM 共有ファイルシステムも UNIX スタイルのファイルとパスをサポートしていません。代わりに、バイトファイルシステムが使用されます。SFS ファイルプールに BFS エクステントが作成されると、ユーザーは を使用してマウントできますOPENVM MOUNT /../VMBFS:fileservername:filepoolname /path/to/mount/point。ユーザーはルートファイルシステムもマウントする必要があり、これは で行います。OPENVM MOUNT /../VMBFS:VMSYS:ROOT/ /その後、 でシェルを起動できますOPENVM SHELL。通常の SFS とは異なり、BFS ファイルシステムへのアクセスは POSIX 権限 ( chmodおよびchownを使用) によって制御されます。
z/VMバージョン3以降、IBMはOpenEditionをz/VMに統合し[30]、OpenExtensionsに名前を変更しました。OpenEditionとOpenExtensionsはCMSにPOSIX.2準拠を提供します。[31] OpenExtensionsシェルで実行するようにコンパイルされたプログラムは、標準のCMS実行可能モジュールと同じ形式で保存されます。3270端末は対応していないため、viなどのビジュアルエディタは使用できません。ユーザーはviの代わりに edまたはXEDITを使用できます。
マーケティング
1980年代初頭、SHARE(IBMユーザーグループ)内のVMグループは、コミュニティが採用できるマスコットまたはロゴを探していました。これは、IBMのMVSユーザーが七面鳥をマスコットに選んだことへの反応でもありました(伝説によると、MVSの初期の頃、パフォーマンスが痛ましい話題だったときにMVSパフォーマンスグループが選んだそうです)。1983年、SHARE 60でテディベアがVMの事実上のマスコットになりました。テディベアのステッカーが「かわいい古参」の名札に貼られ、新参者に「近づくと友好的」であることを示すものでした。クマは大ヒットし、すぐに広く普及しました。[32]クマは、コミュニティに「有益な貢献」をした個人である「VM騎士団」の入会者に授与されました。[33] [34]
注記
- ^ CMS は、CMS ファイル システム上の I/O に DIAG を使用できます。
参照
参考文献
- ^ Varian, Melinda (1991年4月). 「VMとVMコミュニティ:過去、現在、そして未来」(PDF)。p. 55。2022年8月23日時点のオリジナルよりアーカイブ(PDF) 。 2022年6月9日閲覧。
- ^ Creasy、前掲書、p. 483 — RSCS の役割。
- ^ “Two version of MUMPS out”. Computerworld . Vol. XXI, no. 48. 1987年11月30日. 2023年3月6日時点のオリジナルよりアーカイブ。 2022年7月9日閲覧。
- ^ 「z/VM のライセンス製品移行マトリックス」(PDF)。IBM。2009 年 12 月 2 日。2022年 8 月 10 日時点のオリジナルよりアーカイブ(PDF) 。2022 年7 月 9 日閲覧。
- ^ Elliott, Jim (2004 年 8 月 17 日). IBM メインフレームと VM の進化(PDF) . SHARE 2004 年 8 月. S/390 用 Linux ビッグアイアン用 Linux . SHARE . セッション 9140. 2006 年 10 月 13 日時点のオリジナルからのアーカイブ(PDF) . 2007 年10 月 21 日閲覧。
- ^ ab 仮想マシン/システム製品ハイパフォーマンスオプションリリース5ガイド(PDF)。IBM 。 1987年7月。SC23-0189-3。 2022年6月17日時点のオリジナルよりアーカイブ(PDF) 。 2021年8月19日閲覧。
- ^ VM/システム製品の高性能オプションが発表されました。発表レター。IBM。1981年10月21日。ZP81-0805。2021年12月17日時点のオリジナルよりアーカイブ。 2021年12月17日閲覧。
- ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE MIGRATION AID。アナウンスメントレター。IBM 。 1981年10月21日。ZP81-0811。2021年12月17日時点のオリジナルよりアーカイブ。 2021年12月17日閲覧。
- ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE (VM/XA) SYSTEMS FACILITY。発表レター。IBM。1985年2月12日。285-044。2021年12月17日時点のオリジナルよりアーカイブ。 2021年12月17日閲覧。
- ^ VIRTUAL MACHINE/EXTENDED ARCHITECTURE SYSTEM PRODUCT (VM/XA SP) RELEASE 1. Announcement Letters. IBM. 1987年6月11日. 287-239. 2021年12月17日時点のオリジナルよりアーカイブ。 2021年12月17日閲覧。
- ^ 仮想マシン/エンタープライズ システム アーキテクチャー バージョン 1 リリース 1.0 およびバージョン 1 リリース 1.1。発表レター。IBM。1990 年 9 月 5 日。290-499。2021 年 12 月 17 日時点のオリジナルよりアーカイブ。2021年12 月 17 日閲覧。
- ^ z/VM V3R1 が 64 ビット アーキテクチャに対応。発表レター。IBM。2000 年 10 月 3 日。200-358。2021 年 12 月 17 日時点のオリジナルよりアーカイブ。2021 年12 月 17 日閲覧。
- ^ Gary R. Allred (1971 年 5 月). System/370 の OS および DOS での統合エミュレーション(PDF) . 1971 Spring Joint Computer Conference . Vol. 38. AFIPS Press. p. 164. doi :10.1109/AFIPS.1971.58. 2018 年 7 月 25 日のオリジナルからのアーカイブ(PDF) 。2022 年6 月 12 日閲覧。
ハイパーバイザーのコンセプトは比較的単純でした。エミュレーター プログラムへの追加と、互換性機能を備えたモデル 65 のハードウェア変更で構成されていました。ハードウェア変更により、モデル 65 は 0 から n までアドレス指定可能なパーティションに分割されました。プログラム追加は、システムのプログラム ステータス ワード (PSW) を独自のものにオーバーレイし、システム全体の割り込み ハンドラーになりました。どのパーティションが割り込みの原因となったイベントを開始したかを判断した後、それに応じて制御が転送されました。ハイパーバイザーでは、各パーティションに専用の I/O デバイスが必要であり、このため、I/O 構成が通常は非常に大きくなり、ほとんどの用途では実現不可能でした。
- ^ IBM System/370 Principles of Operation (PDF) . IBM . 1987. p. 10-5. 2019年9月29日時点のオリジナルよりアーカイブ(PDF) . 2019年8月17日閲覧。
- ^ ab 「仮想マシンの DIAGNOSE 命令」(PDF)。IBM Virtual Machine Facility/370: システム・プログラマーズ・ガイド(PDF) (第 8 版)。IBM。1979 年 3 月。GC20-1807-7。2020年 4 月 2 日時点のオリジナルからアーカイブ(PDF) 。2019 年8 月 17 日閲覧。
- ^ 「第 1 章 仮想マシンの DIAGNOSE 命令」(PDF)。z/VM バージョン 7 リリース 2 CP プログラミング サービス(PDF)。IBM。2020 年 8 月 12 日。p. 3。SC24-6272-04。2021年 4 月 30 日にオリジナルからアーカイブ(PDF)されました。2021 年5 月 9 日に取得。
実際のプロセッサーでは、DIAGNOSE 命令はプロセッサー依存の診断機能を実行します。仮想マシンでは、DIAGNOSE インターフェースを使用して、CP が仮想マシンに対してサービスを実行するように要求します。仮想マシンが DIAGNOSE 命令を実行しようとすると、制御が CP に戻されます。CP は、命令のコード部分で提供される情報を使用して、実行する必要があるサービスを決定します。このサービスが提供されると、制御が仮想マシンに戻ります。
- ^仮想マシン/システム製品 CMSユーザーズ・ガイド リリース 6 (PDF)。IBM 。1988 年 7 月。第 4 章 (共有ファイル・システムの使用)。SC19-6210-05。2022年 6 月 17 日時点のオリジナルよりアーカイブ(PDF) 。2021 年8 月 19 日閲覧。
- ^ 「ファイル プール サーバー マシン」(PDF)。CMS ファイル プールの計画、管理、および操作(PDF) 。z /VM 7.2。IBM。2021年 11 月 12 日。pp. 18–23。SC24-6261-02。2022年 10 月 6 日時点のオリジナルからアーカイブ(PDF) 。2022年6 月 10 日閲覧。
- ^ “IUCV Overview”. www.ibm.com . 2022年7月31日時点のオリジナルよりアーカイブ。2022年7月31日閲覧。
- ^ Varian、前掲書、 30 ページ – VM の使用範囲。MVS ライセンスよりも VM ライセンスが多い
- ^ 仮想マシン/システム製品インストール ガイド リリース 5 (PDF)。IBM 。1986年 12 月。SC24-5237-3。2022年 6 月 17 日時点のオリジナルからアーカイブ(PDF) 。2021 年8 月 19 日閲覧。
- ^ 「Vm66265: 80 論理プロセッサーの Z/Vm サポート」。IBM。2020年8 月 27 日。2021 年 8 月 19 日時点のオリジナルよりアーカイブ。2021年8 月 19 日閲覧。
- ^ VTAM Reference Summary Version 3 Release 3 for MVS, VM, and VSE/ESA (PDF)。IBM 。 1990年9月。LY43--0047-1。2021年8月19日時点のオリジナルよりアーカイブ(PDF) 。2021年8月19日閲覧。
- ^ IBM 9370 LAN 第2巻 - IEE 802.3 サポート( PDF)。IBM 。1988年4月。GG24-3227-0。 2021年8月19日時点のオリジナルよりアーカイブ(PDF) 。 2021年8月19日閲覧。
- ^ 「VM TCP/IP NFS サーバー サポート」。IBM。2001年5 月 29 日。2021 年 4 月 26 日時点のオリジナルよりアーカイブ。2021 年8 月 19 日閲覧。
- ^ VM/パススルー機能の管理と操作バージョン2 (PDF)。IBM 。 1993年6月。SC24-5557-01。 2021年8月19日時点のオリジナル(PDF)からアーカイブ。 2021年8月19日閲覧。
- ^ 「IBM: z/VM オペレーティング システムについて」。IBM z/VM 仮想化テクノロジー。Vm.ibm.com。2015 年 7 月 3 日時点のオリジナルよりアーカイブ。2015年7 月 2 日閲覧。
- ^ IBM Virtual Machine Facility/370: 一般ユーザー向け CP コマンド リファレンス(PDF)。IBM。1979年 8 月 1 日。2020年 4 月 2 日時点のオリジナルよりアーカイブ(PDF) 。2019 年8 月 15 日閲覧。
- ^ 「Availability: VM/ESA Version 2 Release 1.0 with OpenEdition for VM/ESA」。発表レター。IBM。1995年6月12日。295-240。2021年10月28日時点のオリジナルよりアーカイブ。 2021年10月28日閲覧。
- ^ 「z/VM V3R1 が 64 ビット アーキテクチャに対応」。発表レター。IBM。2000年10 月 3 日。200-358。2021 年 12 月 17 日時点のオリジナルよりアーカイブ。2022年1 月 31 日閲覧。
- ^ 「IBM z/VM: OpenExtensions POSIX 適合性文書 (GC24-6298-01)」。www.ibm.com。2020年8月21日。2024年2月28日時点のオリジナルよりアーカイブ。 2022年7月31日閲覧。
- ^ 「VM Web GIF のギャラリー」。IBM z/VM サイト。2006 年 10 月 18 日時点のオリジナルよりアーカイブ。
- ^ Varian、前掲書、p. 2 – テディベアの物語
- ^ 「「公式 VM テディ」について説明してください」。アラン・J・フラベル氏。Alanflavell.org.uk。2016年3月4日時点のオリジナルよりアーカイブ。 2015年7月2日閲覧。
さらに読む
- 主な CP/CMS ソース
- RJ Creasy、「VM/370 タイムシェアリング システムの起源」、IBM Journal of Research & Development、第 25 巻、第 5 号 (1981 年 9 月)、pp. 483–90、PDF
― CP-40プロジェクト リーダーであり、 CTSS の著者でもある人物による、 CP/CMSと VM の歴史に関する見解 - EW Pugh、LR Johnson、John H. Palmer著『IBMの360および初期の370システム』、 MIT Press、ケンブリッジ、マサチューセッツ州およびロンドン、ISBN 0-262-16123-0 ― この時期のIBMの製品について広範囲にわたる(819 ページ)解説。このような決定的な著作でCP/CMSについてあまり触れられていないのは、
- Melinda Varian、「VM と VM コミュニティ、過去、現在、そして未来」、SHARE 89 セッション 9059–61、1997 年。― CP/CMSと VM の歴史
に関する優れた情報源 - Bitsavers、/pdf/ibm/360/cp67 のインデックス
- 追加の CP/CMS ソース
- RJ Adair、RU Bayles、LW Comeau、RJ Creasy、「360/40 用の仮想マシン システム」、 IBM Corporation、ケンブリッジ サイエンティフィック センター レポート No. 320‐2007 (1966 年 5 月)
― 仮想マシンの概念の実装について説明した独創的な論文で、カスタマイズされた CSC S/360-40 とCP-40 の設計について説明されています。 - International Business Machines Corporation、CP-67/CMS、プログラム 360D-05.2.005、IBM プログラム情報部門 (1969 年 6 月)
― IBM のリファレンス マニュアル - RA Meyer と LH Seawright、「仮想マシン タイムシェアリング システム」、IBM Systems Journal、第 9 巻、第 3 号、199 ~ 218 ページ (1970 年 9 月)
― CP-67/CMS システムについて説明し、その機能とアプリケーションの概要を示します。 - RP Parmelee、TI Peterson、CC Tillman、および DJ Hatfield、「仮想ストレージと仮想マシンの概念」、IBM Systems Journal、第 11 巻、第 2 号 (1972 年 6 月)
- 背景 CP/CMS ソース
- FJ Corbató 他著『互換性のあるタイムシェアリングシステム、プログラマーズガイド』 MIT Press、1963 年
- FJ Corbató、M. Merwin-Daggett、RC Daley、「実験的なタイムシェアリングシステム」、Proc. Spring Joint Computer Conference (AFIPS) 21、pp. 335–44 (1962) — CTSS の説明
- FJ Corbató および VA Vyssotsky、「MULTICS システムの紹介と概要」、Proc. Fall Joint Computer Conference (AFIPS) 27、pp. 185–96 (1965)
- PJ Denning、「仮想メモリ」、コンピューティング調査第 2 巻、pp. 153–89 (1970)
- JB Dennis、「セグメンテーションとマルチプログラムコンピュータシステムの設計」、JACM第 12 巻、pp. 589–602 (1965) ― GE 645
向けのプロジェクト MAC の仮想メモリ要件 - CAR Hoare および RH Perrott 編著、Operating Systems Techniques、Academic Press、Inc.、ニューヨーク (1972)
- T. キルバーン、DBG エドワーズ、MJ ラニガン、FH サムナー、「ワンレベル ストレージ システム」、IRE Trans. Electron. Computers EC-11、pp. 223–35 (1962)
― マンチェスター/フェランティアトラス - RA ネルソン、「マッピング デバイスと M44 データ処理システム」、研究レポート RC 1303、IBMトーマス J. ワトソン研究センター(1964) ― IBM M44/44X
について - RP Parmelee、TI Peterson、CC Tillman、DJ Hatfield、「仮想ストレージと仮想マシンの概念」、IBM Systems Journal、第 11 巻、 99 ~ 130ページ(1972)
- 追加のオンライン CP/CMS リソース
- febcm.club.fr —情報技術のタイムライン、1964~1974
- www.multicians.org — Tom Van Vleck の短いエッセイ「IBM 360/67 と CP/CMS」
- www.cap-lore.com — Norman Hardy によるIBM 仮想マシンの短い歴史
- www.cap-lore.com — ノーマン・ハーディによる「Blaauw Box」の短い説明
外部リンク
- Bob DuCharme、オペレーティングシステムハンドブック、パート 5: VM/CMS : VM/CMS のかなり詳細なユーザーガイド
- EC Hendricks および TC Hartmann、「仮想マシン サブシステムの進化」、IBM Systems Journal Vol. 18、pp. 111–142 (1979): RSCS の設計と実装
- IBM 社、IBM Virtual Machine Facility/370 入門、GC20-1800、(1972): オリジナルマニュアル
- IBM Redbooks 出版物 – z/VM 教科書
- IBM: z/VM ポータル
- IBM: z/VM マニュアル
- ビットセーバーの VM/PC ドキュメント
