VM(オペレーティング システム)
| z/VM | |
|---|---|
| 開発者 | IBM |
| OSファミリー | VMファミリー |
| 作業状態 | 現在 |
| ソースモデル | 1972–1986オープンソース、1977–現在クローズドソース |
| 初回リリース | 1972年 |
| 最新リリース | IBM z/VM V7.4 / 2024年9月20日[1] |
| マーケティングターゲット | IBMメインフレームコンピュータ |
| 入手可能な | 英語 |
| サポートされているプラットフォーム | システム/370、システム/390、IBM Z |
| ライセンス | 1972–1981パブリックドメイン、1976–現在所有権 |
| 公式サイト | www.vm.ibm.com |
| History of IBM mainframe operating systems |
|---|

VM(しばしばVM/CMSと表記される)は、 System/370、System/390、IBM Z、および互換システムを含むIBMメインフレームで使用されている仮想マシン・ オペレーティング・システム(VM)のファミリーです。これは、CP/CMSオペレーティング・システムの基盤となっていた旧式のCP-67の後継です。1972年にS/370向けの無償版Virtual Machine Facility/370として初めてリリースされ、その後、有料アップグレード[a]と新しいハードウェアへのサポートを追加したバージョンがリリースされました[d] 。
VM は、従来のオペレーティングシステムをロードしてユーザープログラムを実行できる仮想マシンを作成します。元々、そのオペレーティングシステムはCMSであり、 DOSに似たシンプルなシングルユーザーシステムでした。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 、 CP/CMSのCambridge Monitor Systemから改名)。ほとんどの仮想マシンは、軽量なシングルユーザーオペレーティングシステムであるCMSで動作します。その対話型環境は、ファイルシステム、プログラミングサービス、デバイスアクセス、コマンドライン処理など、シングルユーザーPCに匹敵します。(CMSの以前のバージョンは「メインフレーム上のCP/M」と不親切にも表現されていましたが、この比較は時代錯誤です。CP/Mの開発者であるGary Kildallは、経験豊富なCMSユーザーでした。)
- GCS(グループ制御システム)は、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 および 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、S/370、およびS/390バージョンのAIX(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ネットワークを提供するサービスマシンのセット
- Db2 Server for VM – SQL データベース システム。サーバーの名前は「SQLMACH」や「SQLMSTR」に似ていることが多い。
- DIRMAINT – 簡略化されたユーザー ディレクトリ管理システム (ディレクトリは、仮想ハードウェア構成、ユーザー パスワード、ミニディスクなど、システム上のすべてのアカウントのリストです)。
- MUMPS/VM — VM/370上でゲストとして実行できるMUMPSデータベースとプログラミング言語の実装。 [4] MUMPS/VMは1987年に導入され、1991年に廃止されました。[5]
- National CSSのCSSやBoston UniversityのVPS/VMなど、ユーザーが作成または変更したオペレーティング システム。
バージョン
以下のバージョンが知られています:
- 仮想マシン機能/370
- VM/370 は 1972 年にリリースされ、以前のCP/CMSオペレーティング システムをSystem/370 で再実装したものです。
- VM/370 基本システム拡張プログラム製品
- VM/BSE (BSEPP) は、VM/370 の機能強化であり、より多くのデバイス (3370 タイプの固定ブロック アーキテクチャ DASD ドライブなど) のサポート、CMS 環境の改善 (エディターの改善など)、および CP の安定性の向上が追加されています。
- VM/370 システム拡張プログラム製品
- VM/SE (SEPP) は、VM/BSE の機能に加え、いくつかの追加の修正と機能を含む VM/370 の拡張機能です。
- 仮想マシン/システム製品
- VM/SPはマイルストーンバージョンであり、VM/370、VM/BSE、VM/SEに代わるものです。リリース1ではEXEC2とXEDITシステムプロダクトエディタが追加され、リリース3ではREXXが追加され、リリース6では共有ファイルシステムが追加されました。[6]
- 仮想マシン/システム製品の高パフォーマンスオプション
- VM/SP HPOはVM/SPに追加のデバイスサポートと機能を追加し、16MBを超える実ストレージ容量(最大64MB)を利用できる特定のS/370マシンで、同様の機能を使用できるようにします。このバージョンは、複数のS/370ゲストを同時に実行するユーザーを対象としていました。[7] [8]
- 仮想マシン/拡張アーキテクチャ移行支援
- VM/XA MAは、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 は、会話型モニター システムを指します。これは、仮想マシンで実行され、 VM 内で 会話型のタイムシェアリングを提供するシングル ユーザー オペレーティング システムである製品のコンポーネントです。
ハイパーバイザーインターフェース
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]使用可能な診断機能には以下が含まれます。
| 16進コード | 関数 |
|---|---|
| 0000 | 店舗拡張識別コード |
| 0004 | 実際のストレージを調べる |
| 0008 | 仮想コンソール機能 - CPコマンドを実行する |
| 0018 | 標準DASD I/O |
| 0020 | 一般的なI/O -テープまたはディスクデバイス上の有効なCCWチェーンを実行します。 |
| 003C | VM/370ディレクトリを更新する |
| 0058 | 3270仮想コンソールインターフェース - IBM 3270端末でフルスクリーンI/Oを実行します |
| 0060 | 仮想マシンのストレージサイズを決定する |
| 0068 | 仮想マシン通信機能 ( VMCF ) |
かつて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では、共有ファイルシステム[18]が導入され、CMSのファイルストレージ機能が大幅に向上しました。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は、UNIX形式のファイルシステムにファイルを保存するために使用されます。主な用途は、CMSのVM OpenExtensions POSIX環境です。CMSユーザー仮想マシン自体は、IUCVメカニズムを介してSFSサーバ仮想マシンと通信します。[20]
歴史


VM の初期の歴史については、記事CP/CMSおよびCP/CMS の歴史で説明されています。VM/370 は CP/CMS の再実装であり、1972 年に IBM の System/370 Advanced Function 発表 ( System/370シリーズに仮想メモリハードウェアとオペレーティング システムを追加) の一部として利用可能になりました。VM/370 リリース 6 までの VM の初期リリースは、 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の予想外の成功を示す興味深い引用文を次のように述べている。[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 オペレーティング システムを実行できました)。
ベースVM/SPリリースに加えて、IBMはVM/SP HPO(High Performance Option)も導入しました。このアドオン(ベース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 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と完全な互換性がありました。[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の役割は変化した。下位互換性はIBMメインフレーム・ファミリーの基礎であり続け、オリジナルのSystem/360で導入された基本命令セットを今でも使用している。しかし、64ビットのzSeriesを効率的に使用する必要性から、VMアプローチがより魅力的なものとなった。VMはDOS/VSEからMVSに移行するデータ・センターでも利用され、ますます重要になるプラットフォームであるメインフレームのAIXおよびLinuxを実行する際にも有用である。現在のz/VMプラットフォームは、VMユーザーが長らく当然だと感じていたIBM社内での評価をようやく獲得した。一部のz/VMサイトでは、単一システム上で数千の仮想マシン・ユーザーを同時に実行している。z/VMは2000年10月に初めてリリースされ[28]、現在も活発に利用・開発されている。
IBMとサードパーティは、VM上で動作する多くのアプリケーションとツールを提供しています。例としては、RAMIS、FOCUS、SPSS、NOMAD、DB2、REXX、RACF、OfficeVisionなどがあります。現在、VMはHTTPサーバー、データベースマネージャー、分析ツール、エンジニアリングパッケージ、金融システムなど、メインフレームアプリケーションのあらゆる範囲をカバーしています。
CPコマンド
リリース6以降、VM/370制御プログラムには、一般ユーザー向けに、ユーザーの仮想マシンの定義と制御に関するコマンドがいくつか用意されています。コマンドの小文字部分はオプションです[29]
| 指示 | 説明 |
|---|---|
| #CP | ユーザーがブレーク キーを押した後にコマンド環境または他の仮想マシンから CP コマンドを発行できるようにします (デフォルトは PA1) |
| アドストップ | 特定の命令で仮想マシンを停止するためのアドレス停止を設定します |
| 宛先 | 注意の中断を引き起こし、CPがコマンド環境で制御できるようにします。 |
| 始める | ユーザーの仮想マシンの実行を、オプションで指定されたアドレスで継続または再開します。 |
| 変化 | スプールファイル(複数可)の属性を変更します。例えば、出力クラスやファイル名を変更したり、プリンタ固有の属性を設定したりできます。 |
| 近い | 開いているプリンタ、パンチ、リーダー、またはコンソール ファイルを閉じて、スプール システムに解放します。 |
| カップル | 仮想チャネル間アダプタ(CTCA)を別のアダプタに接続します。また、シミュレートされたQDIOイーサネットカードを仮想スイッチに接続するためにも使用されます。 |
| CP | CMS環境でCPコマンドを実行する |
| 定義する | 現在の仮想マシン構成を変更します。仮想デバイスを追加するか、利用可能なストレージサイズを変更します。 |
| 取り外し | 現在の構成から仮想デバイスまたはチャネルを削除します |
| ダイヤル | ログオン画面の端末を、ログオンしたマルチアクセス仮想マシンのシミュレートされた3270またはタイプライター端末に接続します。 |
| ディスコネン | 仮想マシンの実行を継続しながらターミナルを切断します |
| 画面 | 仮想マシンのストレージまたは(仮想)ハードウェアレジスタを表示する |
| ごみ | 仮想スプールプリンタで現在の仮想マシンのスナップショットダンプを印刷します。 |
| エコー | 仮想マシンに入力した行をエコーするように設定する |
| 外部の | 仮想マシンに外部割り込みを発生させる |
| 示す | 現在のシステム負荷またはリソース使用量を表示します |
| IPL | 仮想マシン上でオペレーティング システムを IPL (ブート) する |
| リンク | 別の仮想マシンの定義で共有が許可されている場合は、その仮想マシンからデバイスを接続する |
| ロードVFCB | 仮想プリンタのフォーム制御バッファ(FCB)を指定する |
| ログアウト ログアウト | 現在の仮想マシンの実行を終了し、システムから切断します |
| ログオン ログイン | システムにサインオンする |
| メッセージ MSG | システムオペレータまたは他のユーザーに1行のメッセージを送信する |
| 準備ができていない | 仮想デバイスが準備ができていないように見えるようにする |
| 注文 | 閉じたスプールファイルをIDまたはクラスで並べ替える |
| パージ | クラス、m ID、またはすべてを指定して、デバイスの閉じたスプールファイルを削除します。 |
| クエリ | 仮想マシンのステータス情報、今日のメッセージ、ログインしているユーザーの数や名前を表示します。 |
| 準備ができて | デバイスのデバイス終了割り込みを発生させる |
| リクエスト | 仮想コンソールで割り込みを発生させる |
| リセット | デバイスの保留中の割り込みをすべてクリアする |
| 巻き戻し | 実際の(仮想ではない)磁気テープ装置 を巻き戻す |
| セット | メッセージングやターミナルファンクションキーなど、仮想マシンのさまざまな属性を設定します。 |
| 寝る | 仮想マシンを無期限または指定期間休止状態にする |
| SMS | 別の仮想マシンに 1 行の特別なメッセージを送信します (通常は仮想マシンの動作を制御するために使用され、RSCS でよく使用されます) |
| スプール | スプールされた仮想デバイス(プリンタ、リーダー、パンチ)のオプションを設定する |
| 店 | 仮想マシンのレジスタまたはストレージの内容を変更する |
| システム | 仮想マシンをリセットまたは再起動するか、ストレージをクリアします |
| タグ | スプールされたデバイスまたはファイルに関連付けられたタグを設定します。タグは通常、VMのリモートスプール通信サブシステム(RSCS)によってファイルの宛先を識別するために使用されます。 |
| ターミナル | 端末の特性を設定する |
| トレース | 指定された仮想マシンのアクティビティのトレースを開始または停止します |
| 移行 | スプールファイルを他のユーザーへ、または他のユーザーから転送する |
| VMダンプ | 仮想マシンを、インタラクティブ問題制御システム (IPCS)プログラム製品で読み取り可能な形式でダンプします。 |
OpenEdition拡張機能
VM/ESAバージョン2から、IBMは、CMSにPOSIX互換性を提供する有料オプション機能のOpenEdition for VM/ESA Shell and Utilities Feature [30]を導入しました。際立った機能は、CMS用のUNIXシェルでした。このUNIX環境のCコンパイラーは、C/370またはC for VM/ESAによって提供されます。CMSファイルシステムも標準のVM共有ファイルシステムも、UNIXスタイルのファイルとパスをサポートしていません。代わりに、バイトファイルシステムが使用されます。 BFSエクステントがSFSファイルプールに作成されると、ユーザーはを使用してマウントできますOPENVM MOUNT /../VMBFS:fileservername:filepoolname /path/to/mount/point。ユーザーはルートファイルシステムもマウントする必要があり、これはでOPENVM MOUNT /../VMBFS:VMSYS:ROOT/ /行います。その後、を使用してシェルを開始できます。通常のSFSとは異なり、BFSファイルシステムへのアクセスは、POSIX権限( chmodおよびchownOPENVM SHELLを使用)によって制御されます。
z/VMバージョン3以降、IBMはOpenEditionをz/VM [13]に統合し、OpenExtensionsに名称を変更しました。OpenEditionとOpenExtensionsは、CMSにPOSIX.2準拠を提供します。[31] OpenExtensionsシェルで実行するようにコンパイルされたプログラムは、標準のCMS実行可能モジュールと同じ形式で保存されます。viなどのビジュアルエディタは、 3270端末ではサポートされていないため使用できません。ユーザーはviの代わりにedまたはXEDITを使用できます。
マーケティング
1980年代初頭、SHARE(IBMユーザーグループ)内のVMグループは、コミュニティで採用できるマスコットまたはロゴを探していました。これは、IBMのMVSユーザーが七面鳥をマスコットに選んだことへの反響でもありました(伝説によると、MVSの初期、パフォーマンスが大きな話題となっていた当時、MVSパフォーマンスグループが七面鳥を選んだそうです)。1983年、SHARE 60でテディベアがVMの事実上のマスコットとなりました。「愛くるしいベテラン」の名札にテディベアのステッカーが貼られ、新参者が「近づいてもフレンドリー」だとわかるようにしたのです。このテディベアは人気を博し、すぐに広く普及しました。[32]テディベアは、コミュニティに「有益な貢献」をした個人である「VM騎士団」の入会者に授与されました。[33] [34]
注記
- ^ VM/370 上にインストールされた仮想仮想マシン機能/370 基本システム拡張プログラム製品 (VM/BSE、BSEPP) および仮想仮想マシン機能/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、前掲書、p. 483 — RSCSの役割。
- ^ “Two versions 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 と Big Iron 用 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/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日閲覧。
- ^ ab z/VM V3R1 64ビットアーキテクチャー対応。発表レター。IBM 。2000年10月3日。200-358 。2025年8月14日閲覧。
- ^ Gary R. Allred (1971年5月). System/370 integrated emulation under OS and 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(プログラムステータスワード)を自身のPSWでオーバーレイしたプログラム追加部分は、システム全体の割り込みハンドラとなった。どのパーティションが割り込みの原因となったイベントを開始したかを判断した後、それに応じて制御が移された。ハイパーバイザーでは、各パーティションに専用の I/O デバイスが必要であり、このため、I/O 構成が通常は非常に大きくなり、ほとんどの用途には適していませんでした。
- ^ IBM System/370 Principles of Operation (PDF) . IBM . 1987. pp. 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リファレンス・サマリー・バージョン3リリース3(MVS、VM、および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 Command Reference for General Users (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 Web GIFギャラリー」IBM z/VMサイト. 2001年9月13日. 2006年10月18日時点のオリジナルよりアーカイブ。
- ^ Varian, op. cit., 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が限定的に扱われていることは、 - メリンダ・バリアン、「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、Cambridge Scientific Center レポート 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, 「仮想メモリ」, Computing Surveys Vol. 2, pp. 153–89 (1970)
- JB Dennis、「セグメンテーションとマルチプログラムコンピュータシステムの設計」、JACM Vol. 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 —情報技術年表 2006年10月7日アーカイブ、Wayback Machine、1964–74
- www.multicians.org — Tom Van Vleck の短いエッセイ「IBM 360/67 と CP/CMS」
- www.cap-lore.com — ノーマン・ハーディによる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 Introduction』、GC20-1800、(1972年):オリジナルマニュアル
- IBM Redbooks 出版物 – z/VM 教科書
- IBM: z/VM ポータル
- IBM: z/VM マニュアル
- ビットセーバーのVM/PCドキュメント
| → 派生 >> 強い影響力 > ある程度の影響力/先行性 | ||
| CTSS | ||
| > IBM M44/44X | ||
| >> CP-40/CMS → CP[-67]/CMS | → VM/370 → VM/SE バージョン → VM/SP バージョン → VM/XA バージョン → VM/ESA → z/VM | |
| → VP/CSS | ||
| > TSS/360 | ||
| > TSO for MVT → OS/VS2 → MVS → ... → z/OS用 | ||
| >> MULTICSおよび他のほとんどのタイムシェアリングプラットフォーム | ||