gnotの由来

gnotはPlan 9端末のデフォルトホスト名であり、この名前は何に由来しているかと疑問に思っていたのだが、意外なところからわかった。

事の発端は、@__ciruzzo__さんからAT&Tのターミナル630を使ったことがあると聞いたことだ。630というのはRob Pikeがベル研で作ったグラフィカルターミナルBlitの後継機である。次の写真は630のカタログから拝借したものだが、赤いマウスがなんともかわいい。と思ったらボタンが日本人にはとても重すぎて使えたものではなかったそうな。

Blitの名前はグラフィックオペレーションbitblit*1に由来する。BlitはMC68000、256KB RAM、24KB ROM、800x1024のポートレート型のディスプレイとマウス、キーボードを持ち、UNIXとはRS-232Cで接続されていた*2。Blitにはmpxtermと呼ばれる小さいOSが動作し、UNIX側のmpxというホストプロセスと通信することでターミナルの制御を行っていたようだ。下の図を参照。UNIX側のシェルプロセス(の属するプロセスグループ)とBlit側のターミナルは一対一対応している。mpxの実装はUNIXのIPC機構の変遷に伴い変わったようだが、8th editionではSTREAMSの疑似端末機構(/dev/pt)とselectを使って多重化を実現している。

次の動画は1982年のBlitのデモである。1982年と言うことはMacintoshの発売より2年前と言うことだ。Plan 9/rioのテイストを感じるが、なによりRob Pikeが若い!

Blitについては論文「The Blit: A Multiplexed Graphics Terminal」に詳しいが、同じくRob Pikeの「Program Design in the UNIX System Environment」には、コマンドラインヒストリやページャ、対話的処理は個々のプログラムではなく端末が持つべきであるという説が述べられている。Plan 9へと至る思想の流れを感じることができて興味深い。また、Blitのグラフィックス周りは「Graphics in overlapping bitmap layers」に詳しい。

閑話休題。BlitはAT&Tによって商品化され、5620*3、630、730などの端末が世に出ている。で、これらの端末の末裔がgnotらしいのだ。gnotは630ベースになるが、CPUはMC68030へ、ソフトウェアもmpxtermではなくPlan 9rioの前身であるウィンドウシステム8 1/2へ置き換えられたものらしい。この時期にグラフィックのファイル抽象化が練られ、2nd editionにフィードバックされたようだ。gnot自体はすでに入手は不可能だろうけど、Plan 9のホスト名として残っていると。

8 1/2の名前はフェリーニの映画「8 1/2」に由来するというのが通説だけど、8 1/2の論文にはその前に7 1/2があったとの記述もある。当初は特に名前がなくて、論文書く際にしゃれで7 1/2と書いた可能性もあるが、真相はわからないな。

余談だがblitやgnotをやっていたBart Locanthiも今はGoogleなのね。

(追記:2010-10-29)@shitaさんに教えてもらったのだが、AT&T3B2と5620や630をつなげてワークステーションとして使っていたのね。あのシグマプロジェクトで出てくるSystem Vのワークステーションってこれだったのかな。5620関連は、Eric Smith氏のRetrocomputingのページに詳しい。ROMのソースコードも公開されていたりする。

*1:bitblitは元々Xerox PARCでSmalltalk-72システム用に開発された。

*2:このころのUNIXマシンというとVAXやAT&Tの3B20あたりだそうな。

*3:5620の値段は5620ドルだったとか。