11.メインフレーム・コンピューターのオペレーティング・システム

「メインフレーム入門」の最後にOSについて紹介します。IBM,富士通および日立のメインフレーム・コンピューターに関してです。上っ面だけさらっと紹介しただけなので、興味のある方はメーカーのページや、ウィキペディア(Wikipedia)などを見てみてください。MVS(MSP、VOS3を含む)に関しては別のカテゴリーで詳細に触れたいと思います。ここに述べたもの以外にも、NECのACOS『ウィキペディア(Wikipedia)の記事』など他にもあります。

MVS(OS390,z/OS)

言わずと知れたメインフレーム・コンピューターの代表的オペレーティング・システム。世界的に見れば、IBM社のハードウェア+MVSの組み合わせが事実上のデファクトスタンダードでしょう。仮想記憶によるフラットなメモリー空間、多重アドレス空間(メモリー空間)、マルチ・タスキングが採用されており、UnixやWindowsなどでも標準的に採用されているメモリー制御、タスク制御方式の原型でもあります。

対応するハードウェアであるシステム370のCPUは32ビットでしたが、当初のMVSでは24ビット・アドレッシングが採用され、メモリー空間は16MBの大きさを持ちました。それでも当時(1970年代)は十分な大きさでした。もちろん実記憶装置であるメモリーはもっと小さな大きさが一般的で、今となっては過去のものになったMS-DOSやWindows3.1を動かす程度のメモリーで、企業の基幹業務システムを担っていたのです。

やがてオンラインシステムが一般的になり、処理しなければならないトランザクション量が増えるにつれ、16MBの仮想メモリーでは十分とは言えなくなり、MVS/XAで31ビットアドレッシングが採用され、仮想メモリーは2GBへ拡張されました。さらにMVS/ESAではデータ専用のメモリー空間など水平方向への拡張も行われ、約10年毎のサイクルでMVS自身は大きな変革を遂げてきました。

現在ではCPUもメモリーも64ビットアドレッシングに拡張され、名称もz/OSと変わりましたが、OSの基本部分に関しては「MVS」として実装されています。ハードウェアやOSがどんなに拡張されてきても、初期のMVSで動作していたプログラムが何の変更もなく、そのまま動くレベルの互換性を維持しているのがMVSを含めたIBM製メインフレームOSの大きな特長で、故に現在でも多くの企業が膨大な基幹業務のソフトウェア資産をメインフレームで利用できているのです。実メモリーも今ではGB単位で実装されていますが、ハイグレードなPC並みの大きさで膨大な量のトランザクションを制御する能力と機能を持ちます。z/OS『ウィキペディア(Wikipedia)の記事』

VSE

MVSと並ぶ同じIBM社のメインフレーム・オペレーティング・システム。一般的には比較的大規模なシステムでMVS、小中規模なシステムでVSEが採用されました。個人的にはこれは現在のハードウェアで区別する規準ではなく、初期のメインフレーム・システムであるS/360、S/370当時のハードウェア・ランクによって結果として選択されたものと思っています。確かにVSEはMVSに比べると動作は軽いです。当時ハードウェアの値段は非常に高価で、企業によってはそれこそ社運を掛けるほどの価格でした。よって規模の小さい企業では低グレードのCPUを導入したので、結果としてOSにVSEを利用したのでしょう。最初にVSEでシステムを構築した企業がその後成長し、システム規模が大きくなっても引き続きVSEを利用している例は少なくありません。なので現在ではVSEだから必ずしも小さいシステムとは限りません。もっともVSEの利用数は日本では比較的少数です。正確な数は知りませんが、汎用機のパッケージ製品に長年携わった経験からそう思います。

VSEはプログラムを実行する仮想メモリー・スペースやジョブの管理など、MVSとは異なる方法で制御を行っていて、ジョブ制御もJES2ではなくPOWERと呼ばれる独自のものが使われます。JCLも異なるし、コンソールも含めOSの操作に関してはMVSと互換はありません。なおVSEにはMVSのTSOと同等のものはなく、VSE単品でなくCICSと組み合わせて使うのが基本です。z/VSE『ウィキペディア(Wikipedia)の記事』

TPF

TPFは、Transaction Processing Facilityの略。その名の通り、トランザクション処理に特化したIBM社のメインフレーム・オペレーティング・システム。1960年代に米国の航空会社向けに開発されたACP(Airline Control Program)の後継。ACPは基本的にエアライン向けシステムですが、それをトランザクション処理(オンライン・リアルタイム)システムに特化したOSとして登場したものです。金融機関などでも大規模なトランザクション処理システムをMVSとIMSなどで構築していますが、TPFはそれらのシステムを遙かに凌ぐ性能を持っています。日本ではJALやJTBなどで利用されている(いた?)と記憶しています。

MVSのようにオールマイティな機能を持っていないことや、アプリケーションもアセンブラー言語での開発が基本だった(とにかく性能を追求したシステムなので)ので、日本ではレアーな存在です。個人的には非常に興味深かったが、仕事として携わる機会はありませんでした。Transaction Processing Facility『ウィキペディア(Wikipedia)の記事』

VM

IBM社の仮想計算機プログラム。今日大流行りの「仮想化技術」の原点とも言えます。VMの名称もVirtual Machineの頭文字。1970年代後半から80年代前半には、1つのハードウェア・システム(CPU、チャネル、DASDなど)で複数のOSを稼働させる目的でよく使われました。お金のある企業はOS毎にCPUを並べることができましたが、そうでない企業ではVMによってソフト的にハードを分割(仮想化)して複数のOS(本番業務用、テスト用など)を運用できました。その後、ハードウェアそのものでハードウェア資源を分割するPR/SMに替わられて行きますが、現在でもz/VMとして進化しています。

VMは基本的にCPとCMSに分かれ、CPが仮想計算機そのものを実現する機能、CMSが仮想計算機内でのユーザー利用環境を提供する機能です。1つのCMSは1人のユーザーで専有され、主に対話型のシステムを必要な人数分同時に利用させることができます。簡単に言えば1台のメインフレームの中に個人個人が使う仮想のパソコンを何百何千と動かすようなイメージです。今のようにインターネットなどない時代に、企業内の情報検索システムやメーリング・システムなどを構築する際にも利用されました。複数のMVSなどを動かすCP主体の使い方でも、ゲストOSのリソース定義などを行うためにCMSは使われます。

歴史も古くS/360が登場した頃からVMの前身であるCP-67がすでに登場していました。富士通と日立でも同様のプログラムはあり、それぞれAVM、VMSと呼ばれています。ただし、CMSに相当する機能はなくVM/CPと同等です。z/VM『ウィキペディア(Wikipedia)の記事』

Linux

いわゆるLinuxでUnix互換のOS。System zで動作するのがLinux on IBM System zと呼ばれるもの(通称z/Linux)。詳細に関しては割愛しますが、OS/390から提供されたOE(Open Edition)やUSS(Unix System Service)のようにMVSの中に仮想のUnix環境を作るものではなく、メインフレームCPUの上でLinuxを直接走らせるものです。今ではWebSphereなどでz/OS上でもWebアプリケーション・サーバーを実現できますが、すでに動いている既存のWebシステムなどをOS毎持ってきてしまえ、と言うことすらできるわけですね。これによってメインフレームはハードウェアは残るが、MVSを始めとする従来のレガシーOSと言われるものがなくなるのでしょうか?それともMVSはMVSで使い続けられ王座は揺るがない、となるのでしょうか?興味深いものです。20年後には答えが出るでしょう。

MSP

富士通のメインフレーム・オペレーティング・システム。IBMのMVSとの互換OSとして1970年代に開発され今日に至ります。富士通は日立製作所と協同して当時のIBM社のシステム/370互換アーキテクチャーを持つメインフレーム・コンピューターであるMシリーズを開発し、OSについても互換性を持つOSIV/F4(後にOSIV/F4 MSPとなる)を開発しました。機能面でも操作面でもコマンドなどの一部のインプリを除けば、当時のMVSとほぼ同じでした。

ジョブ管理機能を補完するジョブ・エントリー・サブシステムにはJES2互換のJES、JES3互換のJES/Eがありましたが、後にJES/Eは廃止されました。OSだけでなくネットワーク機能であるVTAMに関しても、APIレベルで互換を持ち、MVSとMSPをネットワークで相互に接続することができるほどでした。これはネットワーク・プロトコルであるSNAに関しても互換のあるFNAと言うプロトコルを開発していたためでもあります(現在のVTAMでは単純な相互接続ができる互換性はない)。

MVSがXAになり31ビット・アドレッシングと動的チャネル・サブシステムを採用した際は、31ビット・アドレッシングに関しては外部仕様の一部に非互換があったものの、AEオプションとして追従されました。さらにMVSがESA(MVS/SPバージョン3)になった後は、MSPも名称からF4がなくなりOSIV/MSP(通称MSP/EX)としてエンハンスされました。MSP/EXでは動的チャネルサブシステム、データ専用空間もサポートされ、31ビット・アドレッシングにおける外部仕様もMVSと同様になりました。

OSの基本機能とVTAMによるネットワーク・プログラミングAPIに関しては、MVSとMSPは互換性を持ち、両OSとも当時から踏襲されているコンポーネントに関しては現在でも互換を維持しています。もっとも両OSは現在でも基本部分は変えていませんから、互換性も結果として維持されている、と言うことになります。OS/390以降に実装されたMVSの各種機能に関しては追従していないか、しても互換を前提ではなく独自のやり方での実装となっています。一例を上げればTCP/IP通信機能がそれにあたります。TCP/IPはプロトコルとして共通しているし、TELNETやFTPなどは機能がRFCなどで決まっているため、その意味では同じであるし、相互にシステムを繋ぐこともできます。しかし、プログラミング用のAPIなどはVTAMと異なり、全く違う形で実装されており互換性はありません。

現在ではMSPはOSとしての基本部分はMVS互換ではあるものの、1990年代後半以降に追加された新しい機能に関しては互換ではなく同等なもの、対抗するもの、として提供されるようになっています。ただし、z/OSに実装されている64ビット仮想記憶には対応していません。

VOS3

日立製作所のメインフレーム・オペレーティング・システム。IBMのMVSとの互換OSとして1970年代に開発され今日に至ります。歴史的な経緯は富士通のMSPと同じです。ハードウェアに関しては当初富士通同様Mシリーズとして発売されました。OSに関しては日立ではVOS3の名称で提供され、MVS互換のOSがVOS3(後にVOS3/SPとなる)です。ネットワークも富士通のFNAに対しHNAとしてSNA互換のものを採用し、VTAMについても同様でした。OSやネットワークの互換のレベルもMSPと同様です。ジョブ・エントリー・サブシステムはJES2互換のJSS3、JES3互換のJSS4があります。

MVS/XA追従に関しては、31ビットアドレッシングのみに対応したM/EAアーキテクチャ、動的チャネルサブシステムもサポートしたM/EXアーキテクチャがあり、OSはVOS3/ES1となりました。MVS/ESAレベルでの互換は、M/ASAアーキテクチャとVOS3/ASで行われました。

1990年代後半以降の新たな機能に関しては富士通のMSPと同様、同等なもの、対抗するもの、として提供されるようになりました。特にネットワークに関してはVTAMの後継であるXNFが標準となり、プログラミングに関してはAPIもプロトコルも互換性がなくなりました。TCP/IPに関してはプロトコルを除き、APIに関してはMSP同様互換はなくやはり独自の形式で実装されています。また、現在の日立製メインフレームはM/64アーキテクチャとして64ビットに拡張されていますが、仮想記憶に関しては従来の31ビットアドレッシング方式が採用されています。VOS3『ウィキペディア(Wikipedia)の記事』

MSPもVOS3も互換を持っているのはOSおよびVTAMの基本部分であって、CICS、IMSやDB2と言ったトランザクション処理システムを構築するためのミドルウェアと呼ばれるソフトウェアに関しては当初から互換はありません。メインフレームでよく利用される開発言語であるCOBOLも言語としては共通ですが、コンパイルされたオブジェクト・プログラムは、それぞれのOSに依存する機能を使用するモジュール群が展開されてしまうため実行プログラムとしての互換性は基本的にない、と考えた方がいいです。それでもどれか1つのOSを知っていれば、それぞれのOSを利用するための知識の習得は比較的容易で、基礎知識はそのまま生かせることは現在でも変わりありません。

XSP

富士通のメインフレーム・オペレーティング・システムです。MSPがMVS互換であるのに対しXSPは独自のものであってVSE互換のOSではありません。元はMSPの前身であるOSIV/F4 MSPの1ランク下の規模に位置するOSIV/X8 FSPでした。さらに小規模システム用にESPと呼ばれるOSもありましたが、これを統合してX8 FSPをベースにXSPとなりました。タスク管理ではMSPと共通点も多いですが、ジョブ管理が全く異なるため、ジョブとシステムの操作に関しては見た目も含め互換性はないです。JCLも同様です。コンソールは、ライトペンを使用することを前提にしたユニークなユーザー・インタフェースを持っています。データ管理は、データセットの編成方式やアクセス法(API)には互換がありますが、DASDボリューム内の構造や、区分データセットの内部構造などは異なります。対話処理はTSS互換のAIF、操作もほぼ同じのPFD、ネットワークはVTAMとTISP、トランザクション処理とDBはAIMでMSPと同じです。

OS内部の機能に依存する制御系のシステム・ソフトウェアは簡単ではありませんが、一般のユーザー・プログラムに関してはMSPとXSP間では可搬性(移植性)は比較的高いです。IBM社のVSE同様に現在では単にシステムの規模で使い分けられることはなく、大規模なシステムでもXSPを利用しているユーザーはいます。OSそのものの仕様は似ていませんが、位置付けや役割などの点で見ればXSPはVSEに相当するものとも言えるでしょう。利用ユーザー数で言えば日本国内に限りますが、圧倒的にVSEより多いと思われます。

VOS1

日立製作所のメインフレーム・オペレーティング・システムです。VOS3がMVS互換であるのに対しVOS1は独自のものであって富士通のXSP同様VSE互換のOSではありません。中型機用OSとして発展し、現在ではVOS1/LSとして提供されています。位置付けとしては富士通のXSPと同じような立場にあるOSですが、ユーザー数の比率をMSP対XSPと比較すれば、VOS1はVOS3のユーザー数に比べればかなり少ないのかな、と個人的には思います。