VM/370 リリース 6 のデフォルトのログイン画面 VM ( VM/CMS と表記されることが多い)は、 System/370、System/390、IBM Z 、および互換システムを含むIBMメインフレーム で使用される仮想マシン オペレーティングシステム のファミリーです。これは、CP/CMSオペレーティングシステムの基盤となった旧式のCP-67 に取って代わりました。1972年にS/370向けの無料版Virtual Machine Facility/370として初めてリリースされ、その後、有料アップグレード[ a ] や新しいハードウェアのサポートを追加したバージョン[ d ]がリリースされました。
VMは、ユーザープログラムを実行できるように、従来のオペレーティングシステムをロードできる仮想マシンを作成します。当初、そのオペレーティングシステムは、 DOS に似たシンプルなシングルユーザーシステムであるCMSでした。VMは、 MVS やVSE のような大規模システムを含む、他の多くのIBMオペレーティングシステムでも使用できます。これらの大規模システムは、VMなしで単独で実行されることがよくあります。その他の場合、VMは、より特殊なオペレーティングシステム、あるいは多くのOS機能を提供するプログラムで使用されることもあります。これには、RSCS [ e ] やMUMPS などが含まれます。
デザイン 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 、旧称:Cambridge Monitor System of CP/CMS)。ほとんどの仮想マシンは、軽量なシングルユーザーオペレーティングシステムであるCMSを実行しています。その対話型環境は、ファイルシステム、プログラミングサービス、デバイスアクセス、コマンドライン処理など、シングルユーザーPCの環境に匹敵します。(CMSの初期バージョンは「メインフレーム上のCP/M」と不当に評されたことがありますが、この比較は時代錯誤です。CP/Mの開発者であるGary Kildall 氏は、CMSの熟練ユーザーでした。) GCS(グループ制御システム)は、MVS APIの限定的なシミュレーションを提供するシステムです。IBMは当初、サービス OS/VS1仮想マシンとVTAM通信ネットワークアプリケーション(VCNA)なしでVTAM を実行するためにGCSを提供しました。RSCS V2もGCS上で動作しました。 主流のオペレーティングシステム。IBM の主流のオペレーティングシステム ( MVS およびDOS/VSE ファミリー、OS/VS1、TSS/370、または VM/370 自体の別のレイヤー (下記参照)) は、変更なしでロードして実行できます。VM ハイパーバイザは、ゲスト オペレーティングシステムを特別な権限を持つアプリケーション プログラムとして扱います。つまり、アプリケーションが特権命令 (アプリケーションがシステム全体またはその重要な部分を乗っ取ることができる命令) を直接使用することを防止しますが、代わりに特権命令をシミュレートします。ほとんどのメインフレーム オペレーティングシステムは、オペレーティングシステムの権限を奪おうとする通常のアプリケーションを終了させます。VM ハイパーバイザは、ハードコピー ライン モード 3215、グラフィカル3270 ファミリー、および新しい System/390 および IBM Z マシンの統合コンソールなど、ゲスト オペレーティングシステム用のいくつかのタイプのコンソール端末をシミュレートできます。その後、他のユーザーはログオン画面でDIALコマンドを使用して実行中の仮想マシンにアクセスできます。これにより、端末は利用可能な最初のエミュレートされた3270デバイスに接続されます。ユーザーがタイプライター端末からDIALしている場合は、利用可能な最初の2703デバイスに接続されます。 VM の別のコピー。VMの第 2 レベル のインスタンスは、仮想マシン内で完全に仮想化できます。これは、VM の開発とテストが行われる方法です (第 2 レベルの VM は、ハードウェアの異なる 仮想化を実装する可能性があります)。この技術は、S/370 ハードウェアが利用可能になる前に S/370 ソフトウェアを開発するために使用され、IBM の新しいハードウェア開発で引き続き役割を果たしています。文献には、5 レベルの深さの 仮想化の実例が挙げられています。[ 2 ] 最上位より下の VM のレベルもアプリケーションとして扱われますが、特別な権限が付与されます。 メインフレーム版のAIX またはLinux のコピー。メインフレーム環境では、これらのオペレーティングシステムは多くの場合 VM 上で動作し、他のゲストオペレーティングシステムと同様に扱われます。(ベアメタルハードウェア上で「ネイティブ」オペレーティングシステムとして動作させることもできます。)また、短命に終わった IX/370 や、AIX の S/370 および S/390 バージョン (AIX/370 および AIX/ESA) もありました。専用のVMサブシステム。VM-CP仮想マシン内では、CMS以外の複数のシステムが動作し、スプーリング、プロセス間通信、特殊デバイスのサポート、ネットワークなどのサービスをCMSユーザーに提供します。これらのシステムはバックグラウンドで動作し、VM-CP制御プログラムに負荷をかけることなく、CMSで利用可能なサービスを拡張します。個別の仮想マシンで動作するため、他のVMユーザーと同様のセキュリティと信頼性保護を受けられます。例としては、以下のものがあります。 RSCS (リモートスプーリングおよび通信サブシステム、別名VNET) – 仮想マシンと他のシステム間の通信および情報転送機能[ 3 ] RACF (リソースアクセス制御施設)—セキュリティシステム共有ファイルシステム(SFS)は、共有ファイルをディレクトリツリーに整理します(サーバー名は一般的に「VMSERVx」です)。 VTAM (仮想通信アクセス方式) – システムネットワークアーキテクチャ ネットワークをサポートする機能PVM(VM/パススルー機能) – 他のVMシステムへのリモートアクセスを提供する機能 TCPIP、SMTP、FTPSERVE、PORTMAP、VMNFS – VM/CMSにTCP/IPネットワークを提供する一連のサービスマシン VM 用 Db2 Server – SQL データベース システムであり、サーバー名は「SQLMACH」や「SQLMSTR」などと類似していることが多い。 DIRMAINT – 簡略化されたユーザーディレクトリ管理システム(ディレクトリには、仮想ハードウェア構成、ユーザーパスワード、ミニディスクなど、システム上のすべてのアカウントが一覧表示されます)。 MUMPS/VM — VM/370 上でゲストとして実行できるMUMPS データベースとプログラミング言語の実装。 [ 4 ] MUMPS/VM は 1987 年に導入され、1991 年に廃止されました。[ 5 ] ユーザーが作成または変更したオペレーティングシステム。例えば、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 では共有ファイルシステムが追加されました。[ 6 ] 仮想マシン/システム製品 高性能オプション VM/SP HPO は VM/SP に追加のデバイス サポートと機能を追加し、16 MB を超える実ストレージを利用できる特定の S/370 マシンが最大 64 MB まで利用できるようにします。このバージョンは、複数の S/370 ゲストを同時に実行するユーザーを対象としていました。[ 7 ] [ 8 ] 仮想マシン/拡張アーキテクチャ移行支援ツール VM/XA MAは、MVS/370とMVS/XAを同じプロセッサ複合体上で同時に実行できるようにすることで、MVS/370からMVS/XAへの移行を容易にすることを目的としている。[ 9 ] 仮想マシン/拡張アーキテクチャシステム機能 VM/XA SFは、機能とパフォーマンスが向上したアップグレード版のVM/XA MAです。[ 10 ] 仮想マシン/拡張アーキテクチャシステム製品 VM/XA SP は、機能とパフォーマンスが向上したアップグレード版の VM/XA SF であり、S/370-XA をサポートするマシン上の VM/SP HPO の代替として提供されます。これには、S/370 モードまたは S/370-XA モードのどちらでも実行できるバージョンの CMS が含まれています。[ 11 ] 仮想マシン/エンタープライズシステムアーキテクチャ 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 は、実際には ESA/390 バージョンの VM/ESA とは別のバージョンでした。S/370 バージョンは古い VM/SP HPO コードベースに基づいており、ESA/390 バージョンは新しい VM/XA コードベースに基づいているためです。[ 12 ] z/VM z/VM は、メインフレーム市場向けの主要な完全仮想化 ソリューションの1 つとして現在も広く使用されている最後のバージョンです。z /VM 4.4 は ESA/390 モードで実行できる最後のバージョンであり、それ以降のバージョンは z/Architecture モードでのみ実行されます。[ 13 ] 名称にあるCMSは、会話監視システム(Conversational Monitor System)の略で、製品の構成要素の一つであり、仮想マシン上で動作するシングルユーザーオペレーティングシステムで、仮想マシン内で会話型のタイムシェアリング 機能を提供する。
ハイパーバイザーインターフェース IBMは360/65 [ 14 ] のためにハイパーバイザー という用語を作り出し、後にCP-67のDIAGハンドラーにもそれを使用しました。
診断命令('83'x - ニーモニックなし)は、IBMが元々「組み込みの診断機能、またはその他のモデル依存機能」を実行するために意図した特権命令です。 [ 15 ] IBMは DIAGを「仮想マシンとCP間の通信」のために再利用しました。[ 16 ] [ 17 ] この命令には、RxとRyと呼ばれる2つの4ビットレジスタ番号が含まれており、これらは「DIAGNOSEインターフェースに渡されるオペランド格納アドレスまたは戻りコード」を格納できます。また、CPが実行するDIAGNOSE機能を決定するために使用する2バイトのコードも含まれています。[ 16 ] 利用可能な診断機能には、次のものがあります。
かつて、CMSはベアメタルマシン 上で真のオペレーティングシステムとして動作することが可能でした(ただし、そのような構成は一般的ではありません)。現在は、VM上のゲストOSとしてのみ動作します。これは、CMSがファイルシステム操作を実行したり、他のVMサービスを要求したりするために、VM-CPへのハイパーバイザインターフェースに依存しているためです。この 準仮想化 インターフェースは次のとおりです。
VM-CPへの高速なパスを提供し、完全なシミュレーションに伴うオーバーヘッドを回避します。 当初はCP/CMSリリース2.1のパフォーマンス改善として開発され、CPの効率化における重要な初期のマイルストーンとなった。 CMSとCP間の信号として、仮想化されていないモデル依存のマシン命令(DIAG(診断))を使用します。
ミニディスク ユーザーMAINT(システム管理者)がログインした後、CMSが起動します。 VM/370上のCMSエディタでCOBOLプログラムのソースファイルを編集している。 CMS やその他のオペレーティングシステムでは、DASD の要件が実際のボリュームのサイズよりもはるかに小さいことがよくあります。このため、CP では、インストール時にデバイスの容量までの任意のサイズの仮想ディスクを定義できます。CKD ボリュームの場合、 ミニディスクはフル シリンダで定義する必要があります。ミニディスクは、通常はサイズが小さく、各ミニディスクの開始位置がシリンダまたはブロック 0 にマッピングされる点を除いて、基となる実際のディスクと同じ属性を持ちます。ミニディスクには、実際 の ディスク と同じチャネル プログラムを 使用してアクセスできます。
CMSファイルシステムで初期化されたミニディスクはCMSミニディスクと呼ばれますが、CMSだけがそれを使用できるシステムではありません。
ボリュームを特定の仮想マシンに割り当てるのではなく、z/OSなどのゲスト オペレーティング システムで使用するためにボリューム全体を定義するのが一般的ですDEDICATE。専用の DASD を使用すると、CP のオーバーヘッドが一部削減されるため、ゲスト オペレーティング システムのパフォーマンスがわずかに向上する可能性がありますが、他の仮想マシンによる同時アクセスは許可されません。「フル パック リンク」は、システム上のすべての DASD に対して定義されることが多く、MAINT ユーザー ID が所有します。これらは、DASD ダンプ/リストア プログラム (DDR) を使用してシステムをバックアップするために使用され、DASD の内容全体がテープまたは別の DASD に正確に書き込まれます。
共有ファイルシステム VM/370 CMS上でSystem/360 COBOLコンパイラを起動し、プログラムをロードして実行する。 最新のVMバージョンでは、システムの大部分をSFSにインストールでき、残りのミニディスクはシステムの起動に絶対に必要なものと、ファイルプールサーバーマシンが所有するものに限られます。
VM/370上で動作する非CMSゲストオペレーティングシステムの例:DOS/VSリリース34。DOS/VSシステムは、ロードを続行するために、オペレーターにスーパーバイザー名を入力するように促しています。 VM/SP リリース 6 では、CMS ファイルのストレージ機能を大幅に向上させた共有ファイルシステム[ 18 ] が導入されました。CMS ミニディスクファイルシステムはディレクトリ (フォルダ) をまったくサポートしていませんが、SFS はサポートしています。SFS は、よりきめ細かなセキュリティも導入しています。CMS ミニディスクでは、システムを構成して、ユーザーがディスクに対して読み取り専用または読み書きアクセスを許可または拒否することができますが、個々のファイルに同じセキュリティを適用することはできません。SFS はこの問題を緩和し、パフォーマンスを大幅に向上させます。
SFS はサービス仮想マシンによって提供されます。最新の VM システムでは、通常 3 つのサービス仮想マシンが必要です。VMSERVR は、実際にはファイルを提供しない「リカバリ マシン」です。VMSERVS は VMSYS ファイルプールのサーバーです。VMSERVU は VMSYSU (ユーザー) ファイルプールのサーバーです。[ 19 ] ファイルプール サーバー マシンは、通常、CMS A ディスク (仮想デバイス アドレス 191、ファイル プール構成ファイルを含む)、制御ディスク、ログ ディスク、およびユーザー ファイルを実際に保存する任意の数のデータ ディスクを含む、複数のミニ ディスクを所有しています。
ユーザー アカウントが SFS のみを使用するように構成され (ミニ ディスクを所有していない場合)、ユーザーの A ディスクは となりFILEPOOL:USERID.、ユーザーが作成する以降のディレクトリは、FILEPOOL:USERID.DIR1.DIR2.DIR3同等の UNIX ファイル パスが であるディレクトリになります/dir1/dir2/dir3。SFS ディレクトリは、ミニ ディスク (前述のように、読み取りパスワード、書き込みパスワード、および複数書き込みパスワードしか設定できない場合が多い) と比較して、はるかにきめ細かいアクセス制御が可能です。SFS ディレクトリは、2 人のユーザーが同時に同じ CMS ミニ ディスクに書き込む場合に発生する可能性のある問題も解決します。これにより、ディスクの破損が発生する可能性があります (書き込みを実行している CMS VM は、別の CMS インスタンスもミニ ディスクに書き込んでいることに気づかない可能性があるため)。
ファイルプールサーバーマシンは、密接に関連するファイルシステムであるバイトファイルシステム(BFS)も提供します。BFSは、UNIXスタイルのファイルシステムにファイルを保存するために使用されます。その主な用途は、CMS用のVM OpenExtensions POSIX環境です。CMSユーザー仮想マシン自体は、IUCVメカニズムを介してSFSサーバー仮想マシンと通信します。[ 20 ]
歴史 OS/VS1はVM/370で起動します。 DASDダンプ/リストア(DDR)を使用してVM/370システムをバックアップする VM/370 は CP/CMS の再実装であり、1972 年に IBM の System/370 Advanced Function 発表の一部として提供されました ( System/370シリーズに仮想メモリ ハードウェアとオペレーティングシステムが追加されました)。VM の初期リリースから VM/370 リリース 6 までは1981 年までオープンソースとして提供され、現在では パブリック ドメイン とみなされています。この方針は、有料の VM/SE および VM/BSE アップグレードで 1977 年に終了し、VM/System Product (VM/SP) で 1980 年に終了しました。ただし、IBM は、無料ベース以外のすべてのアップグレードにはライセンスが必要でしたが、既存のコードのソース フォームでの更新を長年にわたって提供し続けました。CP-67 と同様に、仮想マシン内の特権命令はプログラム割り込みを引き起こし、CP は特権命令の動作をシミュレートしました。
VMはIBM社内では オペレーティングシステムの開発やタイムシェアリングに利用される重要なプラットフォームであり続けましたが、顧客にとってはIBMの「もう一つのオペレーティングシステム」という位置づけでした。OSとDOSファミリーはIBMの戦略的な製品であり続け、顧客にVMの利用は推奨されませんでした。VMを利用した顧客は緊密な協力関係を築き、初期のCP/CMSユーザーのコミュニティサポートモデルを継続しました。一方、このシステムはIBM社内で、他のIBMの取り組みと比較して、このプロジェクトにどれだけの資源を割り当てるべきかという政治的な対立に苦しみました。IBMの営業担当者レベルでは、このシステムの根本的な問題が明らかになりました。VM/CMSは、一定数のタイムシェアリングユーザーをサポートするために必要なハードウェアの量を大幅に削減したのです。結局のところ、IBMはコンピュータシステムを販売するビジネスを営んでいたのです。
メリンダ・ヴァリアンは、VMの予想外の成功を示す興味深い引用をしています。[ 21 ]
VM/370のマーケティング予測では、製品ライフサイクル全体を通してVMが稼働する168はせいぜい1台だろうとされていた。実際、顧客に納入された最初の168はCPとCMSしか稼働していなかった。10年後には、ポキプシーから出荷される大型プロセッサの10%が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 オペレーティングシステムを実行できました)。
IBMは、基本VM/SPリリースに加えて、VM/SP HPO(ハイパフォーマンスオプション)も導入しました。このアドオン(基本VM/SPリリースにインストールされる)は、サポート対象モデル (IBM 4381など)で16MBを超えるストレージ(RAM)の使用を可能にするなど、いくつかの主要なシステム機能を改善しました。VM/SP HPOをインストールすると、新しい制限は64MBになりました が、1人のユーザー(または仮想マシン)は16MBを超えることはできませんでした 。スプールファイルシステムの機能も改善され、システム全体で9900個ではなく、ユーザーごとに9900個のスプールファイルを作成できるようになりました。スプールファイルシステムのアーキテクチャも強化され、各スプールファイルには一意のユーザーIDが関連付けられ、リーダーファイル制御ブロックは仮想ストレージに保持されるようになりました。システムは、(ユーザーディレクトリエントリを使用して)特定のユーザーがベクター機能にアクセスできないように構成することもできます。[ 7 ]
VM/SP リリース 1 以降の VM のリリースでは、マルチプロセッサ システムのサポートが提供されています。System/370 バージョンの VM (VM/SP や VM/SP HPO など) では、最大 2 つのプロセッサがサポートされ、システムは UP (ユニプロセッサ) モード、MP (マルチプロセッサ) モード、または AP (アタッチド プロセッサ) モードのいずれかで動作します。[ 22 ] AP モードは MP モードと同じですが、2 番目のプロセッサには I/O 機能がありません。System/370-XA リリースの VM (VM/XA など) では、より多くのプロセッサがサポートされました。System/390 リリース (VM/ESA など) では、制限がほぼ完全に撤廃され、最新の z/VM システムでは最大 80 個のプロセッサを搭載できます。[ 23 ] 定義済みプロセッサの VM ごとの制限は 64 です。
IBMが3081 でSystem/370拡張アーキテクチャを導入した際、顧客はMVS/XAをテストしながら、本番環境のMVS/370システムを同じマシン上で稼働させる必要に迫られました。IBMの解決策はVM/XA移行支援ツールで、これは新しいStart Interpretive Execution(SIE)命令を使用して仮想マシンを実行しました。SIEは一部の特権命令を自動的に処理し、処理できない場合はCPに処理を戻しました。後の3090の プロセッサリソース/システムマネージャ(PR/SM)もSIEを使用しました。VM/XAは、最終的にVM/ESAとz/VMに取って代わられるまで、いくつかの製品がリリースされました。
IBMはRSCS ネットワークに加えてVTAM ネットワークもユーザーに提供しました。VM用のACF/VTAMはMVSおよびVSE上のACF/VTAMと完全に互換性がありました。[ 24 ] RSCSと同様に、VM上のVTAMは専用のGCSオペレーティングシステム上で動作しました。ただし、VMはTCP/IPネットワークもサポートしていました。1980年代後半、IBMはVM/SPおよびVM/XA用のTCP/IPスタックを開発しました。[ 25 ] このスタックはIPv4ネットワークと、さまざまなネットワークインターフェイスシステム(メインフレーム間のチャネル間リンク、またはトークンリング やイーサネットネットワークにトラフィックを中継する専用のIBM RT PCなど)をサポートしていました。このスタックは、単純なラインモード端末エミュレータまたはVT100互換エミュレータ、あるいは適切なIBM 3270端末エミュレータからの Telnet 接続をサポートしていました。このスタックはFTPサーバーも提供していました。IBMはVM用のオプションのNFSサーバーも開発しました。初期バージョンはかなり原始的でしたが、最新バージョンははるかに高度になっています。[ 26 ]
また、VM/パススルー機能(または一般的にはPVMと呼ばれる)として知られる4番目のネットワークオプションもありました。PVMはVTAMと同様に、リモートのVM/CMSシステムや他のIBMシステムへの接続を可能にしました。[ 27 ] 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 の役割は、ハードウェアの進化によりプロセッサ アーキテクチャに大きな変化が生じた際に変化しました。後方互換性は、初代 System/360で導入された基本命令セットを今でも使用するIBM メインフレーム ファミリーの基盤であり続けましたが、64 ビットzSeries を効率的に使用する必要性から、 VM のアプローチがはるかに魅力的になりました。VM は、DOS/VSE から MVS に移行するデータ センターでも使用され、メインフレームAIX やLinux を実行する際にも役立ちます。これらのプラットフォームは、ますます重要になっていきます。現在のz/VMプラットフォームは、VM ユーザーが長年当然の権利だと感じていた評価を、IBM 内でようやく獲得しました。一部の z/VM サイトでは、1 つのシステムで数千の仮想マシン ユーザーが同時に稼働しています。z/VM は 2000 年 10 月に初めてリリースされ[ 28 ] 、現在も活発に使用および開発されています。
IBMおよびサードパーティ各社は、VM上で動作する多くのアプリケーションとツールを提供してきました。例としては、RAMIS 、FOCUS 、SPSS 、NOMAD 、DB2 、REXX 、RACF 、OfficeVisionなどが挙げられます。現在、VMは HTTP サーバー、データベースマネージャ、分析ツール、エンジニアリングパッケージ、財務システムなど、メインフレームアプリケーション全般を網羅しています。
CPコマンド リリース6の時点で、VM/370コントロールプログラムには、ユーザーの仮想マシンの定義と制御に関する一般ユーザー向けのコマンドが多数あります。コマンドの小文字の部分は省略可能です[ 29 ]。
OpenEdition拡張機能 VM/ESA バージョン 2 以降、IBM は有料オプション機能OpenEdition for VM/ESA Shell and Utilities Feature [ 30 ] を導入し、CMS の POSIX 互換性を提供しました。際立った機能は、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/ /その後、 を使用してシェルを起動できます。通常の SFS とは異なり、BFS ファイルシステムへのアクセスは POSIX パーミッション ( chmod およびchown OPENVM SHELLを使用) によって制御されます。
z/VM バージョン 3 以降、IBM は OpenEdition を z/VM [ 13 ] に統合し、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 ]
注記 ↑ 仮想マシン施設/370 基本システム拡張プログラム製品 (VM/BSE、BSEPP) および VM/370 上にインストールされた仮想マシン施設/370 システム拡張プログラム製品 (VM/SE、SEPP) ↑ XAモードにはESA対応ハードウェアが含まれます。 ↑ ESA/390モードにz軸対応ハードウェアを含める。 ↑ プロセッサアーキテクチャの要件は S/370 VM/370、VM/BSE、VM/SE、VM/SP、VM/SP HPOのいずれか。 S/370-XA [ b ] VM/XA MA、VM/XA SF、VM/XA SPのいずれか。 ESA/370 VM/ESA z/アーキテクチャ[ c ] z/VM ↑ VM/370 リリース 2 で導入されました。 ↑ CMSは、CMSファイルシステム上でのI/OにDIAGを使用できます。
参考文献 ↑ 「IBM z/VM 7.4 のご紹介」。2024年8月6日。 ↑ Varian, Melinda (1991年4月)。 「VMとVMコミュニティ:過去、現在、未来」 (PDF) 。p. 55。 2022年8月23日にオリジナルから アーカイブ (PDF) 。 2022年 6月9日 に取得 。 ↑ Creasy、前掲書、 483ページ — RSCSの役割。 ↑ 「MUMPSの2つのバージョンがリリース」 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 日 に取得 。 ↑ エリオット、ジム (2004 年 8 月 17 日)。IBM メインフレームと VM の進化 (PDF) 。 SHARE 2004 年 8 月。S /390 用 Linux、ビッグアイアン用 Linux 。 SHARE 。セッション 9140。2006 年 10 月 13 日のオリジナルから アーカイブ (PDF) 。2007 年 10 月 21 日 取得 。 1 2 仮想マシン/システム製品ハイパフォーマンスオプションリリース5ガイド (PDF) 。IBM 。 1987 年7月。SC23-0189-3。 2022年6月17日にオリジナルから アーカイブ (PDF) 。 2021年 8月19日 取得 。 ↑ VM/SYSTEM 製品の高性能オプションが発表されました 。発表レター。IBM。1981 年 10 月 21 日。ZP81-0805。2025 年 8 月 20 日 取得 。 ↑ 仮想マシン/拡張アーキテクチャ移行支援 。発表レター。IBM。1981 年 10 月 21 日。ZP81-0811。2025 年 8 月 20 日 取得 。 ↑ 仮想マシン/拡張アーキテクチャ (VM/XA) システム施設 。発表レター。IBM。1985 年 2 月 12 日。285-044。2025 年 8 月 20 日 取得 。 ↑ 仮想マシン/拡張アーキテクチャシステム製品 (VM/XA SP) リリース 1。 発表レター。IBM。1987 年 6 月 11 日。287-239。2025 年 8 月 20 日 取得 。 ↑ 仮想マシン/エンタープライズ システム アーキテクチャ バージョン 1 リリース 1.0 およびバージョン 1 リリース 1.1 。発表レター。IBM。1990 年 9 月 5 日。290-499。2025 年 8 月 20 日 取得 。 1 2 z/VM V3R1 が 64 ビット アーキテクチャに対応しました 。アナウンス レター。IBM。2000 年 10 月 3 日。200-358。2025 年 8 月 14 日 取得 。 ↑ Gary R. Allred (1971 年 5 月). System/370 の OS および DOS 下での統合エミュレーション (PDF) . 1971 年 春合同コンピュータ会議 . Vol. 38. AFIPS Press. p. 164. doi : 10.1109/AFIPS.1971.58 . 2018 年 7 月 25 日にオリジナルから アーカイブ (PDF) 。2022 年 6 月 12 日 に取得 . ハイパーバイザの概念は比較的単純でした。それは、エミュレータ プログラムへの追加と、互換性機能を備えた Model 65 のハードウェア変更で構成されていました。ハードウェア変更により、Model 65 はパーティションに分割され、各パーティションは 0 ~ n のアドレスでアクセス可能になりました。プログラムの追加は、システムのプログラム ステータス ワード (PSW) を独自のものの上に重ね合わせ、システム全体の割り込みハンドラになりました。割り込みの原因となったイベントを開始したパーティションを特定した後、それに応じて制御が移されました。ハイパーバイザは各パーティションごとに専用のI/Oデバイスを必要としたため、I/O構成は通常非常に大規模になり、したがって大多数の用途にとって実用的ではなかった。 ↑ IBM System/370 操作原理 (PDF) . IBM . 1987. pp. 10–5 . 2019年9月29日にオリジナルから アーカイブ (PDF) 。 2019年 8月17日 に取得 。 1 2 「仮想マシンにおける 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概要」 。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 リファレンス概要バージョン 3 リリース 3 (MVS、VM、および VSE/ESA 用) (PDF) 。 IBM 。 1990 年 9 月。 LY43--0047-1。 2021 年 8 月 19 日にオリジナルから アーカイブ (PDF) 。 2021 年 8 月 19 日 に取得 。 ↑ IBM 9370 LAN 第 2 巻 - IEEE 802.3 サポート (PDF) . IBM . 1988 年 4 月。GG24-3227-0。2021 年 8 月 19 日にオリジナルから アーカイブ (PDF) 。2021 年 8 月 19 日 に取得 。 ↑ 「VM TCP/IP NFS Server サポート」 . 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 日 に取得 。 ↑ 「提供開始:VM/ESA バージョン 2 リリース 1.0 (OpenEdition for VM/ESA 付き)」 。発表レター。IBM。1995 年 6 月 12 日。295-240 ページ。2025 年 8 月 20 日 取得 。 ↑ "IBM z/VM: OpenExtensions POSIX 適合性文書 (GC24-6298-01)" . www.ibm.com . 2020 年 8 月 21 日。2024 年 2 月 28 日のオリジナルから アーカイブ済み。2022 年 7 月 31 日 取得 。 ↑ 「VMウェブGIFギャラリー」 。IBM z/VMサイト 。2001年9月13日。 2006年10月18日に オリジナル からアーカイブ済み。 ↑ ヴァリアン、前掲書、 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月)、 483~490ページ 、PDF ― CP-40 プロジェクトリーダーであり、CTSSの 著者でもある人物によるCP/CMSとVMの歴史に関する見解 EW ピュー、LR ジョンソン、ジョン H. パーマー著、『IBM の 360 および初期の 370 システム』、 MIT プレス、マサチューセッツ州ケンブリッジおよびロンドン、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 コーポレーション、ケンブリッジ科学センター レポート No. 320‐2007 (1966 年 5 月) ― 仮想マシン コンセプトの実装を記述した画期的な論文であり、カスタマイズされた CSC S/360-40 とCP-40 の 設計についても記述されている。 インターナショナル・ビジネス・マシーンズ社、CP-67/CMS 、プログラム360D-05.2.005、IBMプログラム情報部(1969年6月)―IBMリファレンスマニュアル R.A. MeyerとL.H. 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・デニング、「仮想メモリ」、コンピューティング・サーベイズ 第2巻、 153~189ページ (1970年) JB Dennis、「セグメンテーションとマルチプログラムコンピュータシステムの設計」、JACM Vol. 12、pp. 589–602 (1965) ― GE 645 向けのプロジェクトMACの仮想メモリ要件 C.R. ホア、R.H. ペロット編『オペレーティングシステム技術』 、アカデミック・プレス社、ニューヨーク(1972年) T. キルバーン、DBG エドワーズ、MJ ラニガン、FH サムナー、「ワンレベルストレージシステム」、IRE Trans. Electron. Computers EC-11、pp. 223–35 (1962) ― マンチェスター/フェランティアトラス R.A.ネルソン、「マッピング装置と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 —情報技術年表( 2006年10月7日、Wayback Machineに アーカイブ済み、1964年~1974年) www.multicians.org — トム・ヴァン・ヴレックの短いエッセイ「IBM 360/67とCP/CMS」 www.cap-lore.com — ノーマン・ハーディによるIBM仮想マシンの短い歴史 www.cap-lore.com — ノーマン・ハーディによる「ブラウボックス」の簡単な説明
外部リンク ボブ・デュシャーム著『オペレーティングシステムハンドブック』第5部:VM/CMS :VM/CMSのかなり詳細なユーザーガイド EC HendricksおよびTC Hartmann、「仮想マシンサブシステムの進化」、IBM Systems Journal Vol. 18、pp. 111–142 (1979): RSCSの設計と実装 IBMコーポレーション、IBM仮想マシン施設/370入門 、GC20-1800、(1972):オリジナルマニュアル IBM Redbooks出版物 – z/VM教科書 IBM: z/VMポータル IBM: z/VM マニュアル BitsaversのVM/PCドキュメント