PDP-11PDP-11についてLions本の頃はPDP-11は(すくなくとも大学の計算機科学科にいるような人にとっては)ポピュラーなものだったようである。今日、PDP-11を理解するのは単純な話ではない。資料があっても実感としてつかむことは困難だからである。当時の貴族の生活を知らなければ物語を楽しむのはおぼつかないのと同じことである。本物のPDP-11を使う機会があれば最高なのだが、これは事実上不可能である。したがって、資料からあれこれ想像するよりない。ながめることにしよう。PDP-11とは何であったかPDP-11誕生の経緯については詳しいサイトが存在するのでそちらを参照されたい。日本語でもトラ技コンピュータの記事をもとにしたおもしろいページがある。端末とは現在利用されている端末といえばxtermやktermのようなウィンドウシステム上の端末エミュレーターくらいだろうか。これらがエミュレートしているのはVT100などの仮想端末である。初期のPDP-11ではもっぱらテレタイプ端末であった。テレタイプ端末というのはプリンターとキーボードからなる端末である。応答が印字されるわけである。端末をさすのにttyという略語が使われるのはテレタイプ(TeleTYpe)からきている。第6版のころのUNIXにはmoreやlessのようなページャーがない。画面ごとに出力を区切るという発想そのものがなかったのであろう。行を直接編集する機能がない。これは、後戻りできないというプリンターの特性に合わせて作られていたためである。edの編集機能を強化したエディターemはベル研の外からやってきた。emのソースコードを含めたおもしろいページがある。emに影響を受けてexが誕生する。のちにexに加わった画面編集モードviは非常な人気を得ることになる。なかでも標準的だったのがRK05である。ドライブ自体は50cmx30cmx75cmということは、大型のPCくらいの大きさである。容量は2Mbyteほどで、UNIX第6版はこのRK05メディア3巻か磁気テープで配布されていた。ここに直径30cmあまりの円盤をがっちょんとはめて使う。RK05の資料を集めたページにその様子が収録されている。電子レンジに分厚いピザを入れてスイッチを押すとか、そんなような感じである。いう資料こそ貴重である。その性質自体は特に理解が困難ということはない。PDP-11で一番難しいのは量である。いう感覚が当時と現在とではまるきり違う。初期のPDP-11が「メインメモリ最大256kbyte」と言われてもさっぱり感覚がつかめない。速度についても同様である。このへんは「適当に想像する」のがせいぜいである。PDP-11/45、PDP-11/70である。このほか、ドキュメントやソースコードには歴史的な事情により最初のPDP-11であるPDP-11/20への言及もみられる。PDP-11/40、PDP-11/45はメモリー保護機構や拡張命令などがオプションである。UNIXを動作させるにはこういったオプションを組み込んでいることが前提になっている。アドレスが拡張されているほか、キャッシュを搭載している。細かい話をはじめるときりがないのでUNIXに直接関係のない話ははしょる。中断した命令を再開するための機構がそなわっていない。いった違いはアセンブラーのルーチンや変数cputypeを見て吸収するよう記述されている。cputypeを参照している個所(main.cとbio.cにある)を見ると違いがわかる。そこまでする必要があるか、というと正直なところよくわからない。「些末なことだから」と馬鹿にせずに丁寧に調べていくのがPDP-11の感覚をつかむコツのような気もする。実機にまつわる煩悩PDP-11がまったく入手できないかというとそうでもない。状態はともかくあるにはあるのだ。大型冷蔵庫のようなキャビネットがいくつも並ぶことになる。そのうえ電力をやたらと食うのでおよそご家庭むきではない。部屋が丸ごと占拠されてしまうようなものだったのだから無理もない。後期のものならば、本体はフルタワーのPCとさしてかわらないサイズである。結局コンパクトとはなかなかいかない。それほど難しいことではないようだ。baudで!)データを転送してブートストラップするツールが存在する。