IBMのメインフレームをDockerで起動、VM/370 CEで遊ぶ
Fun things to do with your VM/370 CE machine – Fun with big computers

VM/370 Community Editionは、IBMがライセンス制限なしで公開した最後のVM/370に多数の改良を加えたOSだ。Dockerコマンド一発で起動でき、3270端末エミュレータ経由でCMSにログオン。PROFILE EXECの編集、BASICやFORTRANのコンパイルと実行まで、往年のメインフレーム環境を手軽に体験できる。
もしLinuxと比較するなら、VM/370 R6(CEのベースとなったリリース)はLinusが自室で公開したLinux 1.0、VM/370 CEは最新のFedora(お好みの最大主義ディストロを入れてください)に相当する。
HNでの議論
32- sprior
RDRLISTで自分のIMAPメールを確認したいな。
- j_seigh
当時のCMSには面白い機能がいくつかあった。Rexxとexec2はサブコマンド環境をサポートしていた。システムコマンドの代わりに編集コマンドを使って、Rexxでxeditマクロを書くことができたんだ。
ミニディスクの文字はコマンド検索順序、つまりUnixのパスみたいなものだった。でも内部的にはリンクリストだったから、望むなら順序を並べ替えることができた。
ファイルモード0のファイルは建前上プライベートで、ディスクを読み取り専用でアクセスした場合には見えなかった。でもアクセスコマンドはトランジェント領域から実行されたので、それをロードして文字'0'のテストをNOPに変え、実行すれば読み取り専用ディスク上のファイルモード0のファイルにアクセスできた。
ミニディスクはスパースファイルをサポートしていた。だからオペレーションがミニディスクを正しく移行しなかった場合、5MBのミニディスク(70年代の話だ)に100MBのファイルを置けて、それで彼らを止められた。
3270端末の画面をフィールド属性文字込みで読み取るdiagnoseコマンドがあり、それをマークアップタグに置き換えればドキュメント用のスクリーンショットが得られた。
当時のIBMでは多くのハッキングが行われていた。ただ公開されていなかっただけだ。Peter CapekのVMNewsletterや内部ディスカッショングループのいくつかが公開されていれば、君にも分かるだろう。
- whartung
大学時代、私たちはNOSを動かすCDC Cyberを使っていた。
プログラミングに関しては、XEDITラインエディタ、Fortranコンパイラ、ディレクトリ用のCATLISTを使うのに十分なことを教わった。
これらをお決まりの手順で適用し、目標はプログラミングの授業を乗り切ることだった。OS設計やコンピュータアーキテクチャの授業ではなく、「Fortranで復活祭の日曜日を計算する」授業だった。
私たちのFortran(F77)はコンソール入出力にチャネル4と5を使っていた(おそらく何らかのコマンドでリダイレクトできたはずだ。実際にそうだったかは知らない。NOSの仕組みか、私たちが使ったFortranの仕組みか)。
しかし、コミュニティで少しギークっぽくやっていると触れることになる他のものもあった。ATTACHコマンドを使ったDirect Storage(それが何をしたかはともかく)、PROCファイル(スクリプト)、PROCファイルライブラリ、DAYFILE(基本的にジョブ/コマンド履歴)などだ。
そのOSがどう動いていたか、どんな設計上の選択が必要だったかなど、そうした概念についてもっと深く理解したいものだ。
今日では「すべて」がUNIXだ。少なくともUNIXの眼鏡を通して見られている。Windowsでさえ今日ではUNIXだ。
- AKSF_Ackermann
メインフレームOSの中でVMが一番取っつきやすいと思う。ミニディスクとs390のデバイスアドレッシングの仕組みさえ理解すれば、ちょっと不格好なDOSみたいなものだ。2.4 VM ADCDも見てみることを勧める。興味深いソフトウェアがほぼ全部入ったパッケージで、探せば出回っているよ。
- EmX_3000
昔、私の大学にはIBMのマシンがあって、確かにそこで多少の時間を過ごした。AIXはそれ自体が独特で、もう少し認知度を上げるためにホビイスト版を提供しないのが少し不思議だ。経験上、誰も進んで選ぶものではない。IBMのマシンに付いてくるもので、おそらくチップも付いてきて、レガシープログラムがあってLinuxをただ動かせないなら使うだろう。そのせいで資格を持つ管理者を確保するのが難しくなるが、もしかしたらそれが狙いなのかもしれない。IBMから雇えばいいだけだから。