UNIXカーネルがC言語に書き換えられたのは3rd editionであり1973年のことなので、このバージョンのソースコードはPDP-11のフルアセンブリである。しかし、4221行とコンパクトだし、コメントも満載なので、アセンブリに対するアレルギーがなければ、pre K&R Cの文法に惑わされなくてよい分、V6カーネルよりも読みやすかったりして。どちらにしろPDP-11アーキテクチャの理解がある程度必要だけど。Gordon BellのページにPDP-11 handbookのコピーがあったので、興味がある人はそちらもどうぞ。 まずはシステムコール呼出しから。次のコードは、cat.sのopenシステムコールを呼び出す部分の抜粋だ。 2: mov r0,0f sys open; 0:..; 0システムコールの実現には、sys命令によるトラップを利用する。この際にパラメータをどのようにユーザからカ