UNIX version6のKernel Source Codeを気軽に読めるようにした

UNIX version6のKernel Source CodeはMinnie's Home Pageにある以下のarchiveを展開した/usr/sysの下にある。

https://minnie.tuhs.org/Archive/Distributions/Research/Dennis_v6/v6root.tar.gz

これについては一見ありふれた情報であるように見えるのだけれども解説本に載っているSource Codeに辿り着くための情報はそこまで多くない(気がする)。事前知識がないとOSをbuildするためのShell Script(この時代のUNIXにmakeはない)である/usr/source/runを見て初めて気がつくことになるのでここに書き留めておく。

 

Kernel Source Codeは以下のURIから一つ一つLinkを手繰っていくことで見られることは見られるが, あまり親切とは言えないUIであるため, これだけでSource Codeを読んでいこうとするとなかなか厳しい。

https://minnie.tuhs.org/cgi-bin/utree.pl?file=V6

どうせならGlobalなどの道具を使ってCode間の関連を把握したいと思うのが人情というもの。FreeBSDでserverを立ち上げてnginxとfcgiwrap, globalを入れ, 上記のarchiveを展開したものから/usr/sysだけを取り出し,

gtags; htags --alphabet --auto-completion --form --frame --line-number

としてSource CodeをHTML化。nginxのdocument root以下に展開して完成。長いこと中断していたLion's Commentary on UNIXを再度読み進める準備ができた。

 

SIMHでPDP-11 emulatorも立上げてみたのでいざとなったら実験もできる…がSource Codeの編集はLine Editorでしかできないのでなかなか厳しそうな気もする。