S/390で遊ぶぞ

S/390(eServer zSeries)って何?

IBM製の汎用機System/360が起源の大型汎用計算機(いわゆるメインフレーム)。 パラレルシスプレックスによるMPP型並列システムや、PR/SMによる複数のOSの 並行稼働など萌え萌えな技術てんこもりのシステム。 数億円という価格(構成にもよる)、巨大電源設備(CPUだけで200V 100A)、 魅力的な周辺機器のサポート(ライトペン,穿孔テープ,パンチカード,オープンリールテープ) 空調設備(カタログには排気量、発熱量が記載されている)が必要な上に 自爆ボタン付き(*1)というどれをとっても漢ゴコロをハァハァさせる大物である。 しかし、その大物さ故に一般の人が手を出せる代物ではないが、 ついに個人ユーザーが自宅で手軽にS/390の世界を楽しむことができることができるようになったの。 日本アイビーエムのS/390情報はこちら

Hercules

Herculesとは、LinuxなどのUNIXで稼働するS/370,S/390エミュレータである。 S/390は、CPU(本体)だけでは何もできないので、DASD(*2)やテープ装置、コンソールなどが 必要なのだが、Helcuresではこれらの機器もソフトウェアでエミュレーションする。 Herculesがエミュレート機器はたくさんあるが、ドキュメント中の記述から代表的なものを 下記にあげてみよう。 まだ、これらの技術はサポートされていないようです ここまで、読んだみなさんはお気づきだと想いますが、PCやWSしか触ったことが無い人には、 聞いたことがない用語がたくさんでてきてわけわかめだと思うが、まあ気が向いたら解説も 追加していきます。

ソフトウェア(OS)

S/390は、当然ハードウェアだけなので、動かすにはOSなどのソフトウェアが必要です。 S/390には、OS/390, VM, VSEなどの多くのOSがありますが、すべて天文学的な 値段ですので、当然入手することなんてできません。そこで、IBMが移植したLinux/390を 動かしてみることにしましょう。 自分より遥かにハイスペックなコンピューターをエミュレートするわけですから、速度は恐ろしく低速です。 しかも、メインフレームはIOのお化けですから、MIPSよりIOの速さが重要になってきます。 CPUは、PCの進化の速度を考えるとテスト程度ならなんとかなるかもしれませんが、 IOや可用性に関しては逆立ちしても勝てません。(だから高いんです) 現在、Athlon1.1Ghzで最新の2.11を試してみたところ、5MIPSのパフォーマンスがでました。 最新のS/390が、最小構成でも100MIPSぐらいの速度が軽くでることを考えれば、実用性は皆無です。 しかし、数十億のメインフレームと同じ世界を体験したくありませんか?

とりあえず、突っ込んでみよう

まず、Herculesをダウンロードします。
http://www.hercules-390.org/
What's Newを見ればわかるようにかなり頻繁に更新されていますので、こまめにチェックすることを おすすめします。

コンパイル

いわゆるmake一発ってやつで簡単にコンパイルできます。 x86名を使っている人は、makefileの最初あたりにあるコメント部分をこのように変更して、 最適化オプションを追加すると心持ち早くなったような気になれます。(2.11ではこの作業は不要です)
CFLAGS   = -O3 -Wall -fPIC -DVERSION=$(VERSION) -DARCH=390  \
           -march=pentium -malign-double -mwide-multiply
CFL_370  = -O3 -Wall -fPIC -DVERSION=$(VERSION) -DARCH=370  \
           -march=pentium -malign-double -mwide-multiply
無事コンパイルが終了すると、hercules-370とhercules-390というエミュレーター本体と 仮想DASDや仮想テープのイメージファイルを操作するためのツールができあがります。 名前の通り、hercules-370がS/370のエミュレーターで、hercules-390がS/390のエミュレーターです。 hercules-390は、S/390のzSeriesまでの命令セットをサポートしているそうです。 (100%全ての命令セットをサポートしているわけではないと思いますが...)

ゲストOS

S/370,S/390にはこのようなOSがあります。

用語解説ならぬ数字解説

普通の人は覚える必要はないが、知らないとメインフレーマーや普通じゃな い人と会話できない。ようするに全部IBMの製品番号で、メインフレーマーは 製品番号で会話が成り立つ。端から見てるとかなり異様な光景である。

*1:正確には、感電事故や漏電火災などが発生したときのための、緊急電源遮断スイッチである。 押したらどれぐらい大変なことになってしまうのかは恐ろしくて口にもできない。 しかし、色、形、名前どれをとっても押したくなってしまう条件が揃っている。

*2:DASD(Direct Access Storage Device)。PCやWSでいうハードディスクなどの ランダムアクセス可能な補助記憶装置のことである。全部不揮発メモリーなDASDもあるので 必ずしもHDDとは限らない。

*3:汎用機の世界ではStorageというと、PC,WSでいうメモリーのことを指すことが多い。 HDDなどのランダムアクセス可能な二次記憶装置のことはDASDという。


戻る
Daisuke Taruki