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がエミュレート機器はたくさんあるが、ドキュメント中の記述から代表的なものを
下記にあげてみよう。
- CPU
S/370,S/390の命令セットや、24,31bitアドレッシング。
Hercules-2.11から、Zアーキテクチャも一部サポートされた模様。
- Storage(*3)
主記憶(CS)、拡張記憶(ES)。
- 370チャネルサブシステム
ドキュメントによるとESCONは未対応なので恐らくパラレルチャネル(並行チャネル)のことかな?
- 入出力装置
3390,3380,3330型DASD
(ただし、3390-3,3390-9型はOSによってはファイルサイズの制限にひっかかる場合があります)
3420型テープ装置,3270,1052端末装置(3174ローカル接続のみ。SNA接続は未対応?)
- ネットワーク
VirtualCTC(Channel To Channel)が、1.63からサポート。
vmnetというツールを使うとホストOSからとはSLIP接続されているイメージになります。
まだ、これらの技術はサポートされていないようです
- ESCON関連
当然EMIF(ESCON Multiplex I???? Facirity)などもまだ
- 並列シスプレックス
結合装置やICF(Inter Cuppring Facirity),Sysplex Timerなどもまだ
- 暗号化機構
S/390は、暗号化専用のCPを組み込むことができる
- その他のネットワーク
OSA, OSA2, OSAE, 3172LCS等
- 論理分割(LPAR)
PR/SM等(VMやVIF for Linuxは未確認)
ここまで、読んだみなさんはお気づきだと想いますが、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があります。
- OS/360
- OS/390
- VM
- VSE
- VIF for Linux
- Linux/390
- TPF
用語解説ならぬ数字解説
普通の人は覚える必要はないが、知らないとメインフレーマーや普通じゃな
い人と会話できない。ようするに全部IBMの製品番号で、メインフレーマーは
製品番号で会話が成り立つ。端から見てるとかなり異様な光景である。
- 3090,9021,9672,2064 etc...
CPU...といっても半導体のゲジゲジのことではなく、メモリと入出力チャネル
を備えた巨大な箱。ちなみにPCなどでCPUと呼ばれている半導体のゲジゲジのことはCPと呼びます。
9672シリーズはこの後に続く数値や文字でモデルやCPUの数が分かる。
(9672-R46 S/390 G5サーバーでCPUは4個)
- 3330,3390,3380
ディスク装置
- 3745(3746)
通信制御装置,3746は3745用の拡張機構。
- 3174,2074
端末制御装置
- 1052,3270,5250
端末(5250はAS/400用)
- 3420,3480,3490,3590
テープドライブ
- 3494, 3484
テープロボット
*1:正確には、感電事故や漏電火災などが発生したときのための、緊急電源遮断スイッチである。
押したらどれぐらい大変なことになってしまうのかは恐ろしくて口にもできない。
しかし、色、形、名前どれをとっても押したくなってしまう条件が揃っている。
*2:DASD(Direct Access Storage Device)。PCやWSでいうハードディスクなどの
ランダムアクセス可能な補助記憶装置のことである。全部不揮発メモリーなDASDもあるので
必ずしもHDDとは限らない。
*3:汎用機の世界ではStorageというと、PC,WSでいうメモリーのことを指すことが多い。
HDDなどのランダムアクセス可能な二次記憶装置のことはDASDという。
戻る
Daisuke Taruki