9章の理解を深めるために7、8章をざっと読んでみたのですがもやっとしたままに終わってしまったので5章まで戻ってみました。

以前勉強会に出ていたころに5章の途中まで読んで中断したままになっていましたので再挑戦です。

p.164のtimeout()については18行と19行の間にp2--;が必要な気がしますがV6にまさかこんなレベルのバグがあるとも考えにくいし・・・

timeout()と次ページのsslep()を比べると割り込み抑制のためspl7();をしてから必要な処理をした後に後始末としてPS->integ=s;で元に戻す場合とspl0();する場合があるのはなぜか等々疑問は一杯あります。

いや~、いつになったら分かった気になれるんだろう。先は遠いです。

なんとか9章を読み終わりました。

p.302のnamei()の説明で、u.u_offsetは親ディレクトリ中の空エントリのオフセットが入っているとのことですが今一つ何を言ってるのか分かりません。もしかしたら親ディレクトリに最初はファイルが全く無かったが段々作られて行って例えば3個できた、その時点では4番目をさしているが、その後で2番目に作られたファイルが削除されたようなケースではディレクトリファイルの2番目が空になりそこを指している、ということなのかなと想像しますがこれも質問ネタとしてこれ以上一人で考え込むのはやめておきます。

勉強会までまだ時間があるので7章のブロックデバイスサブシステムに戻って読んでみようと思います。7、8章を読めば9章だけ読んでも曖昧だった個所が見えてくることを期待して。

昨年からJavaを勉強し始め入門レベルの知識は身に付いてきました。

その中で感じたことですが、インスタンスフィールドを入力データとして処理をするメソッドを書く時にインスタンスフィールドはメソッドから直接参照できるため引数にしなくて済むのでCで関数を書くのに比べて引数が減ってすっきりするのが嬉しいと思いました。

また処理とデータをまとめたオブジェクトに視点を据えてプログラミングするのに向いておらず手続き型の言語のように処理だけに視点を据える方が自然な場合はJavaでは逆に書きにくいなと思っていたところ、インスタンスフィールドもインスタンスメソッドも全く持たない数学ライブラリのようなクラスもあるとの記述を見つけ、裏に潜む心としては自分が思っていたようなことなのではないかと思いました。

当たり前すぎるからかもしれませんがこのことに陽に触れた文章を見たことがなかったので感覚が新鮮な内に書いてみました。