TOPS-20 でUNIX Toolsが動いた!
2018年1月、歴史的に貴重なDEC社 TOPS-20を使用しています。
「DEC社 TOPS-20を使う方法 タイムゾーンの設定編」で「TOPS20:<ROOT.USR.BIN>」にDATEコマンドがあることを発見しました。
また、Panda TOPS-20 distribution のディレクトリ構造ツリーを調べたら気になる部分がありました。
TOPS20: |-- ROOT | |-- BIN | |-- ETC | `-- USR | |-- BIN | |-- DICT | |-- LIB | `-- LOCAL | |-- EMACS | | |-- ETC | | |-- INFO | | `-- LISP | | `-- TERM | `-- LIB @
UNIXのディレクトリ構造に似ています。
「TOPS20:<ROOT.BIN>」のディレクトリの内容を確認します。
@DIRECTORY (OF FILES) TOPS20:<ROOT.BIN> TOPS20:<ROOT.BIN> AR..1 CHGRP.EXE.1 CHMOD.EXE.1 CHOWN.EXE.1 CP.EXE.1 CSH.EXE.1 DD.EXE.1 DF.EXE.1 DIR.EXE.1 DU.EXE.1 ECHO.EXE.1 FALSE..1 HOSTNAME.EXE.1 INSTALL.EXE.1 LN..1 .EXE.1 LS.EXE.1 MKDIR.EXE.1 MKFIFO.EXE.1 MKNOD.EXE.1 MV.EXE.1 PWD.EXE.1 RM.EXE.1 RMDIR.EXE.1 SH.EXE.1 SHOLD.EXE.1 TOUCH.EXE.1 TRUE..1 VDIR.EXE.1 Total of 2396 pages in 29 files @
cp ,mv ,rm ,mkdir ,rmdir ,ln ,ls ,pwd ,chgrp ,chown ,chmod ,dd ,df ,du などUNIXコマンドそのものです。
試しに pwdコマンドを実行してみました。
@pwd /tops20/pi @
PWD(Print Working Directory)コマンドで、カレントディレクトリを表示しました。なんと、TOPS-20の上でUNIX Toolsが動作するのです。
コマンドの標準出力をパイプで接続して次のコマンドに渡すこともできました。慣れたUNIXコマンドが使えるととても便利です。
「TOPS20:<ROOT.USR.BIN>」のディレクトリにも見慣れたUNIXコマンドがありました。
@DIRECTORY (OF FILES) TOPS20:<ROOT.USR.BIN> TOPS20:<ROOT.USR.BIN> ・・・ AWK.EXE.1 ・・・ CAT.EXE.1 ・・・ </pre>
TOPS-20 でbashも動いた!
「TOPS20:<ROOT.BIN>」に、SH.EXEという実行形式がありましたので実行してみました。
@sh bash$ echo $BASH_VERSION 1.12.1 bash$ exit exit @@ @
なんと、bashが動作しました。バージョンを確認すると 1.12.1という古いものです。bashのヒストリー機能も働き、過去のコマンドの再実行が簡単に行えます。
DEC社がVAXシリーズに開発リソースを集中するために、PDP-10製品ラインの開発中止を決定したのが1983年で、1984年には生産終了となっています。また、Bashの初版がリリースされたのは1989年です。年代から考えると、DEC社 SYSTEM-20のマシンで実際にbashが動作していたかは不明です。
TOPS-20 vs UNIX
TOPS-20は、ユーザーフレンドリーなユーザーインターフェイスです。
- 英語名による長いコマンド名
- サブコマンドによる階層的なコマンド体系
- エスケープキーによりコマンド補完やオプション説明(ノイズワード)
- クエスチョンマーク(?)によるヘルプ機能
マニュアルを読まなくても、ESCキーや”?”キーを入力するだけで次に何を入力できるのか調べることができます。
TOPS-20に対してUNIXは、短く省略したコマンド名と「無口な応答」なのでUNIXコマンドを知り尽くしたプロフェッショナルが好むユーザーインターフェイスです。
私は、大学時代に出会ったタイムシェアリングシステムTOPS-20の素晴らしさに感動しました。その後ソフトウェア開発のプロの道を歩んでからは、 CP/M → MS-DOS → Windows → UNIX → Linux などのOSを使っていますので、UNIX系のコマンドが手になじんでいます。
TOPS-20の上でbashやUNIX Toolsを使用していると慣れて使いやすいと思う反面、不親切な応答だと思うことがあります。
このツールは、ケース・バイ・ケースで使うべきと感じました。
TOPS-20に関するブログ
歴史的に貴重なDEC社 TOPS-20を使うためにKLH10エミュレーターをLinuxにインストールして、TOPS-20を実行することができました。
TOPS-20に関するブログを以下に示します。