UNIXv6のプロセス周りは勉強しても勉強しても中々理解が進まないと書いたとたんに進み始めました。以前は3割位しか理解できなかったのが6割になったような感触です。

もちろんまだまだなのですが、この調子なら将来に希望が持てます。

それとUNIXv6カーネルの全ソースコードを1つのテキストファイルにして、勉強したら自分なりのコメントを埋め込むことにしました。理解できた点、まだ疑問の点等を書いています。Lions' commentary ならぬ embit's commentary です。このようなことをする気になれるのもUNIXv6カーネルが10000行以下とコンパクトだからです。

UNIXv6は本当に貴重ですね。
「はじめてのOSコードリーディング」第14章 システムの起動 にはUNIXが起動する時に作られる最初の2つのプロセスについて書いてあるので、プロセスの生成について復習しています。もう3度目かな。

読む度に前よりは理解度が上がっていますが相変わらず「よし、分かった!」と言うレベルには程遠いです。逐一質問できる人がいれば一発で疑問が氷解しそうなのですが自分一人で考えていても中々前に進みません。まあそれが勉強にはなっているのでしょうが。

今度こそ分かるだろうという期待はとっくに捨てて1mmでも前進すれば良いという気持ちで読んでいますが中々しんどいですね。
PDP11/40 processor handbook の chapter 5 プログラミングテクニック を読んでみました。

事前に想像していたほど具体的な話ではなく概論っぽかったです。大体は分かったかなというところです。

インターネットでPDP11の情報を検索したところ多数見つかりました。やはりPDP11は偉大ですね。それらも読むことで小さな疑問が解消したりすることもありました。

多少知識がついたところで「はじめてのOSコードリーディング」の14章を読み直してみるつもりです。さらにプロセスや割り込み等、既に何回か読み直していますが十分理解できていない章も読み直してみようと思っています。効果が出ると嬉しいのですが。