Windowsでメインフレーム(MVS)を動かす

By 神居 - Posted: 2008/09/19 Last updated: 2016/09/13 - Leave a Comment
印刷用ページの表示 印刷用ページの表示

メインフレーム・コンピュータに関して言えば、例え仕事で携わることになったとしても、勉強のために同じ機械とOSを個人で買うことは無理です。職場にあるシステムを業務の合間にこっそり(あるいは堂々と)使うしかありません。私自身も含め多くのメインフレーム技術者は、マニュアルや書籍(基本的には洋書、和書に関しては昔はいろいろあったが、今ではほとんどが絶版で入手困難)を基に机上で学び、仕事の合間に実機で動かし覚える、と言ったことを伝統的に行ってきました。勉強でマシンを使うために会社に徹夜して使った、などの涙ぐましい努力などもしてきたものです。しかし古き良き時代では、そんなことも出来ましたが、今は多くの企業では経費節減やセキュリティ上の理由で、時間外でのシステムの利用は難しくなってきました。また業務時間中でも業務として規定されたプログラムやジョブ以外の実行が認められなかったり、そのために面倒な申請手続きを要したりと、それだけで勉強する気が失せてしまうようなことも多々あるようです。自由に使えるシステムを利用できる幸せな方はともかく、そうでないのに今さらメインフレームに携わることになってしまったような方、特に前向きに自己啓発をしたいと思う人は不便なことと思います。
しかし世の中には凄い人達がいるもので、何とIBM社のS/370、S/390、zアーキテクチャ・マシンをWindowsやLinux上でエミュレーションしてしまう、ハードウェア・エミュレーターを作り、しかもフリーで配布してしまうと言う、素晴らしいソフトウェアを作っています。


Herculesメインフレーム・エミュレーター(http://www.hercules-390.eu/)

「Hercules」(ヘラクレス:英語読みならハーキュリーズか?)はLinuxおよびWindows上でIBMのシステム/370,390およびzの各アーキテクチャをエミュレーションするソフトウェアです。オープンソースのソフトウェアであって誰もが無料で利用することができます。Hercules自身のハードウェア・エミュレーションは非常に完成度が高く、CPU(MP構成も可)とチャネル、DASD、TAPE、カードリーダー、カードパンチャー、ディスプレイ、プリンターなど各種のデバイスを仮想ハードウェアとしてサポートします。ただしエミュレーションするのはあくまでもメインフレーム用ハードウェアに関してであって、ソフトウェアであるOSそのものは本物を使うことがHerculesの特徴です。サポートされるOSはMVSだけでなく、初期のOS/360 MVTやDOS、さらにVMやVSE、MVS/ESA,OS/390から現在の最新OSであるz/OSでさえもその本物をPC上で動かすことができる(*1)、まさにパーソナル・メインフレームを実現するソフトウェアです。
*1PDS(Public Domain Software)として公開されているOS以外は、技術的に動作してもライセンスなど営業上の問題がありますから実際に使用できるかどうかはわかりません。実機とOSを正式に購入しているユーザーが、テストやバックアップ目的で動作させる程度であれば目くじら立てられることはないとも思いますが、正式には認められることはないでしょう。必要であればIBM社の営業さんにでも聞いてみてください。


MVS R3.8(http://www.bsp-gmbh.com/turnkey/)

ハードウェアだけあってもOSがなければ何もできません。でも会社のz/OSを持ってきてはいけません。そこで非常に古いバージョンではありますが、IBM社の一部のメインフレーム用OSがPublic Domain Softwareとして公開されていますから、それを使用するのが個人で使う現実的な方法です。OS/360、VM/370、MVS 3.8などがあります。VM/370などは昨今流行りの仮想化技術の原点のようなものです。これらがPDSになっているのは米国の著作権法によります。1980年より前はコンピューターのソフトウェアは著作権で保護されなかったのです。なのでそれまでに作られたOSは公開されているのだそうです。もちろん1980年以降のOSは公開されてません。個人的にはMVS/ESA、せめてMVS/XAぐらいでないとあまりにも現在のOSと離れすぎてしまうので…と思いますが、公開されることはないでしょう。

MVSは、今から30年以上も前の1974年に発表され、現在のOS/390やz/OSの原型となったOSです。OSとしての機能や構造はこのバージョンで採用されたものが、現在でもほとんどそのままの形で受け継がれています。細かなユーザー・インタフェースやいくつかの機能は現在のものとは多少異なる部分はあるものの、このOSで実習することはほぼそのまま現在の最新OSにもあてはまると考えていいでしょう。また富士通のMSPと日立のVOS3はIBM互換機としてのOSですが、そのモデルとなったのがこのMVSです。ですからMSPとVOS3でもこのMVSで実習することは、細かな用語の違いはあっても同様に最新のMSP/EXやVOS3/LSなどにあてはめることができます。

公開されているのはMVS自身だけなので、メインフレームOSの基本を学び実習するには十分ですが、それ以上のことは職場などのシステムを利用しなければなりません。
プログラミングに関してはアセンブラー言語のプログラミング学習用のOSとしてなら十分に利用価値があります。メインフレームの世界ではアセンブラーも結構現役だったりします。z/OS用のシステム系のプログラムでは後から追加された新しいハード命令やMVSのAPIや内部構造に影響されるので仕事のプログラムのデバッグにはきびしいですが、プログラミングの基本を身につけることはできます。COBOLも使えますのでアセンブラー同様COBOL言語の基本を学習する用途で利用できます。ただコンパイラーがかなり古いので今のCOBOLのマニュアルを見ても、後から追加されたり拡張された命令?や機能は使えないものが結構あるかも知れません。


メインフレームのシステム・プログラマーや、OSのインストールとカスタマイズの経験があって、Windowsもそこそこいじれる方なら、上記のサイトからHerculesとMVSシステムを入手して、セットアップやカスタマイズをすることは容易なことと思います。しかしこれから汎用機に携わる、あるいはシステム寄りのことなど経験してない、という方には少々敷居が高いかも知れません。そこでそんな方向けに、MVSの基本的なしくみや動きを実際に操作しながら学習するための、教材としてカスタマイズしたOSとHercules一式を用意しました。
OSはもちろんフリーになっているMVS R3.8、Herculesは少し古いバージョン(3.04)にしています。後はやはりフリーで配布されている3270エミュレーター。最新のHerculesはVC++2005で書き換えられているようで、少々インストールが面倒で使っていません。興味のある方はご自分でアップグレードしてください。でもMVS 3.8で使うなら古いバージョンのHerculesでも何ら不都合はありません。



3270エミュレーター

MVSを始めとするメインフレームOSや、メインフレームのアプリケーション・プログラムの操作には3270エミュレーターを使います。3270とはメインフレームと接続する端末装置間での通信に使用されるネットワーク・プロトコルで、3270データストリームと呼ばれます。端末装置のエミュレーションを行うソフトを3270エミュレーターと呼びます。このソフトは基本的に高価で日本語版の場合、最低でも4?5万円はします。ただしフリーのMVS3.8はまだ日本語を扱える時代のものではないため、英語版のエミュレーターで十分です。海外のWebサイトからなら$40前後で購入できます。私が個人的に購入し愛用していたのは、「Vista tn3270」と言う有料($30)のソフトです。ディスプレイ・セッションのみのエミュレーターですが、コンパクトで動作が軽く、非常に使いやすい機能のエミュレーターです。Windowsでは無料で使えるものは少ないですが、「wc3270」と言うコマンドライン・ベースのエミュレーターがあります。無料なので機能やカスタマイズ面で有償ソフトに劣りますが、贅沢は言えませんね。配布サイトではLinux(X Window)で動くx3270と言うGUIエミュレーターも利用できます。

Posted in メインフレーム・エミュレーター • • Top Of Page