800 万ドルのメインフレームを自宅で無料で実行しましょう!

1970年代半ば、父はミシガン州のアメリカの自動車産業で働いていました。幼い頃、父の職場を訪ねました。父は私を「コンピュータルーム」(当時データセンターはそう呼ばれていました)に連れて行き、当時地球上で最大かつ最強のシステム、IBM System/370の端末の前に座らせました。そこには点滅するランプ、スイッチ、インジケーターがずらりと並んでいました。キーボードで何かを入力するかスイッチを入れるように指示されると、システムの点滅ランプが変わり、本物のプログラマーたちが仕事に戻りました。
System/370は、コンピュータの歴史における大きな転換点の一つとなった前身のSystem/360の後継機でした。父の勤務先がどのモデルを所有していたかは正確には覚えていませんが、おそらく303xシリーズのいずれかだったでしょう。1978年、IBMは303xシリーズにマルチプロセッサ版をリリースすると発表しました。このバージョンでは2つのコアが利用可能になり、これは今日私たちが考えるマルチプロセッサシステムの先駆け、あるいはその一つだったと思います。当時は24ビットコンピューティングで、31ビットはまだ数年前のことでした。
このデュアルコアのホットロッドを手に入れるには、48ヶ月契約で8MBなら月額約154,130ドル、16MBなら182,130ドルかかります。あるいは、7,160,000ドルまたは8,050,000ドルの小切手を切って、完全に所有することもできます。その場合、CPU、RAM、コンソール2台、電源/冷却装置が付属します。ディスク、追加の端末(現代的な意味での「LANネットワーク」は存在しません)、カードパンチリーダー、フロッピーディスクなどは別途必要です。
2022年なら、16MBのRAMなんて大抵の人は笑ってしまうでしょう。しかし、私が話を聞いたベテランたちは、CPUが1つとRAMがわずか8MBしかなくても、数百(数百! )ものログインユーザーが日常的にアクティブな作業を行いながら、バッチ処理、数十台のプリンターへの同時接続、SNA端末や通信マルチプレクサといった無数の旧式I/O機器との通信をこなしていたと言っていました。彼らはアプリケーションの実行、コンパイル、ジョブの送信などを行い、企業の業務を担っていました。これは「クライアント/サーバー」モデルが登場する前の話です。全員が同じシステムにログインしていました。メインフレームの動作原理がUnixやWindowsとは根本的に異なるため、これほど少ないメモリでこのような処理が可能なのです。
メインフレームのルーツはオペレーティングシステム以前の時代にまで遡ることを覚えておいてください。実際、1960年代には青いスーツを着た(いや、白黒の)IBMのオタクたちが「モニタープログラム」(OS)とは何かを説明しているのを見ることができます。なぜなら、OSは当時新しい概念だったからです。メインフレームは、コンピューターが主に紙の束を通す高度なカードソーターであった純粋に機械的な時代(第二次世界大戦前)から、「常に何かが動いている」(60年代の用語ではOS、または「モニター」)仮想世界までを網羅しています。1940年代と1950年代には、コンピューティングは「電子回路を組み立てる」ことからそれほど変わりませんでしたが、50年代から60年代にかけて、メインフレームは現代のコンピューティングへと進化しました。
過去と現在で状況がいかに異なっていたかを示す例として、IBMは当初不揮発性RAMを使用していました。システムの電源を切って移動し、再び差し込むだけで、元の状態と全く同じ状態に戻ることができました。ブートなどは一切不要で、電源を切った瞬間の状態がそのまま維持されます(現在はダイナミックRAMが使用されています)。多くのハードウェアコンポーネントはサブユニットに分割されました。例えば、多数のメインフレームが相互に通信できるようにしたり、数百台の端末の複雑な通信を処理したりするための専用コンポーネントが存在します。
メインフレームは非常にバッチ指向で、対話型セッションでさえミニバッチセッションのように感じられます。オンラインアプリケーションは数多くありますが、作業の多くは「このプログラムとこのデータセットを取得してこのジョブを実行し、出力をここに配置」といった類の作業です。環境全体がこれをサポートしています。高度なジョブ制御サブシステムがあり、OSの多くはファイル指向ではなくレコード/データセット指向です。もちろん、すべてのシステムに共通する概念もいくつかあります。たとえば、「システムのブート」という概念はメインフレームの世界では「初期プログラムロード(IPL)」と呼ばれ、「構成領域」(Unixでは/etc、メインフレームではPARMLIB)の概念などがあります。しかし、根本的に環境は異なります。
今日の最新メインフレームは、ギガバイト/テラバイト規模のメモリを搭載し、高速SSD/NVMe SANストレージを使用し、TCP/IPに対応し、ウェブサイトをホストするなど、様々な機能を備えています。IBMは2008年からメインフレーム上でLinuxを提供しています。メインフレームのもう一つのイノベーションは仮想化であり、メインフレームは1970年代からオペレーティングシステムの仮想化を進めてきました。最新メインフレームは、数百のLinuxインスタンスを同時に実行でき、同時に必要な数のz/OS(現在のオペレーティングシステム)も実行できます。メインフレームは依然として物理的に大きい傾向にありますが、冷蔵庫ほどの大きさに縮小され、一部のハイエンドUnix機器(Sun E15000、HP SuperDomeなど)やオープンシステムのラックほどの大きさではありません。
ちなみに、ソフトウェアを共有するという概念もメインフレーム コミュニティから生まれました。
メインフレームは今でも高価ですが、1970 年代には、建物のフロア全体を占めるほどの莫大な電気代、巨大な冷却要件、そしてこの強力なシステムを管理する大勢の信者を必要としていました。
そして、WebSite の読者の皆さんは、この 800 万ドル相当のコンピューター史の一部を無料で手に入れることができるのです。
まあ、そうですね。
確かに、IBM 3033 を無料で入手することはできません (入手できたとしても実行する余裕はありません!) が、最新のハードウェアでエミュレートして、当時のシステムよりもはるかに高速に実行することができます。
IBMは31ビット時代以前のOSをパブリックドメインとしています…というか、米国政府がIBMのソフトウェア開発が政府との契約に基づいており、法律上パブリックドメインであると指摘したため、そうせざるを得ませんでした。しかしながら、IBMはこうしたコンピューティングの歴史については概ね寛容であり、数十年も販売されていないシステムのマニュアルやダウンロードをウェブサイトで提供し続けています。
Herculesエミュレータを使えば、あらゆるメインフレームOSを実行できます。合法ではありませんが、z/OS(現在のメインフレームOS)も実行できます。実行可能な最新の無料(パブリックドメイン)OSは、1981年のMVS 3.8jです。
個人的には、何年も前にメインフレームに触れようとしたのですが、あまりにも馴染みのない環境でした。まず、SSHでログインできず、TN3270エミュレータが必要でした。TN3270はどのプラットフォームでも使えるのですが、まるで外国に来たかのような感覚です。接続してみると、まるで初めてUnixを使うような感覚です。何を入力すればいいのか、特殊キーは何なのか、どうやって「移動」すればいいのか、などなど。例えば、スクロール操作のような「プロンプト」がないので、すぐに少し戸惑ってしまいます。
しかし近年、メインフレームの起動から実行までを解説するYouTubeチャンネルが数多く登場しています。また、作業を大幅に簡素化するソフトウェアパッケージも登場しています。これは、BSDコミュニティがNET/2で行った作業や、Linuxディストリビューションがカーネルで行っている作業に非常に似ています。Linuxを一からダウンロード、コンパイル、ビルドしなければならないとしたら、それを実行できる人は多くないでしょう。しかし、すべてがセットアップされているディストリビューションをインストールするのは非常に簡単です。TK4パッケージに表現されているように、MVS 3.8jの最新のパッケージングも同様です。
Hercules でメインフレームを起動して実行するには、次の 2 つのチュートリアルのいずれかに従うことをお勧めします。
Moshixがステップバイステップで解説し、「人生で一度もメインフレームにログインしたことがない」状態から「素数を計算するCOBOLプログラムを送信し、バッチジョブの出力を確認できた」状態まで、わずか1時間で実現します。Hercules、TN3270エミュレータ、そしてMVS 3.8jシステムのセットアップ済みですぐに使えるTK4-「turkey MVS」キットをインストールします。これは、Linuxシステム管理者を雇ってLinuxのインストール、セットアップ、起動/シャットダウンの権限設定、ユーザー設定などを任せたようなものです。それがTK4-です。自由にカスタマイズできますが、TK4-は堅牢で、プロがセットアップしたシステムなので、すぐに使い始めることができます。

ここでの「エコシステム」を他のオペレーティングシステムと比較すると興味深いです。
- プログラミング: COBOL、アセンブラ、高水準アセンブラ、FORTRAN、PL/I、その他当時の多くの言語
- ジョブ/スクリプト: JCL、REXX
- エディタ: vim や emacs はありませんが、RFE および RPF 環境には洗練されたエディタが組み込まれています。
言うまでもなく、パワーに関してはお持ちの機種であれば何でも問題なく動作します。エミュレータ自体の最低スペックは、エミュレートする対象よりもはるかに高くなっています。Herculesは1GBのRAMで最も快適に動作し、必要なコア数だけ使用できます。1.5GHz以上のプロセッサが推奨されています。
WebSiteが近いうちにz/OSやMVS 3.8jのオファーを多く目にするとは思えませんが、過去を振り返るのは楽しくて魅力的な体験です。また、z/OS関連の人材は現在非常に不足しているため、もし興味があれば、IBMの「z/OS Practitioner」 認定資格を取得して2022年までステップアップすることも可能です。
