資料編

いきなり水戸黄門

名高い「Lions' Commentary on UNIX」を読めばよい。

おしまい。

↑というわけにはいかない

というのも、Lions本だけでは情報がたりないからである。

何はなくともLions本

情報源としてもっとも充実しているのは間違いないのだが、 読みはじめると「何だこりゃ」と思うかもしれない。 なにせ、四半世紀前の大学の計算機科学科の学生向けに書かれた本(というかテキスト)である。 身のまわりにPDP-11と資料、当時のUNIXの中身がわかっている人などがごろごろしている環境が前提なので、 ギャップを感じるのは当然であろう。 こういうすきまはあなどれないが、 ある程度の根気と時間があれば、それなりに埋められる。

オリジナルのほか翻訳(正誤表)もある。 現在のかたちで出版される以前の伝説については各自調べられたし。

オリジナルは横長で読みにくい。 しかも、ソースコード部分はドットインパクトプリンタの印字をそのまま使っているようで、不鮮明である。

翻訳のほうは縦長で字面はきれいだが、訳にわかりにくいところが少なくない。 誤植も散見される。

原著者のJohn Lionsはオーストラリアの人である。 すっきり意味がとれない個所があるのは、オーストラリア英語のためかもしれない。 訳にも影響しているように思う。

PDP11 Handbooks

Lions本の第2章「基礎知識」には、 「PDP-11シリーズになじみのない読者は、直ちにDECから出版されている『PDP11 Processor Handbook』を参照してほしい」とあるのだが、 DECという企業がそもそもなくなってしまった。

古書店オークションを丹念に探せばそれなりに見つけることはできる。 が、面倒なことにPDP-11のHandbookにはさまざまな種類があるうえ、 1種類だけで必要な情報がすべて揃うわけでもない。

もっとも基本的なのは1969年に編集、1970年に発行された 『PDP11 Handbook』で、 PDP-11の最初のバージョンであるPDP-11/20のプロセッサと周辺機器の一部について記述がある。

これをおぎなうものとして以下があげられる。

PDP11/45 Processor Handbook
UNIXで利用している仮想記憶装置や拡張命令についての記述。 Lions本ではPage Description Registerの具体的な使い方が説明されていない。 すなわち、0626行や0636行で指定する数値の意味がLions本だけではわからない。 また、backupのからくりはSSR1(別名MMR1)をエミュレートしているが、 Lions本には説明がない。
PDP Peripherals Handbook
さまざまな周辺機器についての記述。いくつかのバージョンがある。 デバイスドライバーの踏み込んだ理解には必須。
Handbookにはこのほかずいぶんいろいろある。 PDP-11シリーズは互換性を保つように拡張されたので、 後のバージョンのProcessor HandbookやPeripherals Handbookであってもそれなりに役に立つ。 ただし、あとになるほど分厚くなって余計な情報が増える。

PDP-11のあとの数字が具体的な機種をしめす番号だが、 番号の大きいからといって後発もしくは機能が豊富であることを意味しないので注意。 なお、Software HandbookにはUNIXに関連する話は一切出てこないのでまるきり役に立たない。

UNIX第6版付属のドキュメント

もともとはroffのテキストだが、いろんな形式で流布している。 カーネルのソースコードを読むうえで特に重要なものには「*」をつけてある。 PDFファイルへのリンクがないものは、 現在入手可能なOSのイメージにドキュメントが含まれていないため、 生成できなかった。 経緯は不明。
UNIX Programmer's Manual
DOCUMENTS FOR USE WITH THE UNIX TIME-SHARING SYSTEM

その他の資料

いろいろ見てはみたものの、当時の生の資料にまさるものはない。 懐古的な読み物はあちこちにころがっていてエピソードにはことかかないが、 Dennis Ritchieら当時、実際に現場にいた人々の証言をのぞいては、 UNIX第6版カーネルの理解に役立つものはほとんどないといえる。

↑そうでもなかったりして

大学のOSの講義の資料には結構使えるものもあるが、短期間で更新されてしまう。 適宜、探索されたし。
戻る