読書会で再度やるかもしれないので「はじめてのOSコードリーディング」の第Ⅲ部(割り込み)を読み直してみました。

元々仕事の都合で読書会にも一部しか参加しておらず初めて読む箇所も多々ありましたが、読み直した印象としては理解できた割合がそろそろ5割を超えてきたかなという程度です。

それでも以前はさっぱりだったので進歩はしていると思います。

理解ができない理由の1つにPDP11自体を知らないということもあるので、そろそろ「PDP11/40 processor handbook」に挑戦すべきなのかも。

う~ん、でも挫折の可能性はかなり大きいし。どうしたものか。。

gaccoの最終課題にDNSに関する出題があり、おかげで長年の疑問が解けました。

自分は○十年前に某出版社のバッタ本(表紙がバッタの絵)でDNSの勉強をしたのですが、DNSサーバーに名前に対するIPアドレスの問い合わせをすると、キャッシュがあれば直接答えを返すがキャッシュがなければルートサーバーに問い合わせ以下順に次のレベルのDNSサーバーに問い合わせを繰り返して答えを得るというような記述がありました。

この記述だけを読むと、問い合わせをされたサーバーがキャッシュをもっていなければ常にルートサーバーまで質問が行ってしまうように受け取れ、それではルートサーバーの負荷が大き過ぎるのでxxx.co.jpのDNSサーバーのキャッシュがあるならそれに次の問い合わせをする、それもキャッシュがなければco.jpのDNSサーバー、それもキャッシュがなければjpのDNSサーバー、それもキャッシュがなければ最終的にルートサーバーとか少しでもルートから遠いところで解決を図るべきなのになんでそうしないのか疑問に思っていました。

が、最終課題にはまさに自分が思っていたような動作をするとの解説があり、単にバッタ本にそこまで細かく書いてなかっただけのようです。もっともバッタ本を読んだのがかなり前で既に本を持っていないので私の勘違いであればすみませんが。

他にもルートサーバーのIPアドレスだけは最初から知ってないといけない=ルートサーバーのIPアドレスは変更できないし負荷が年々増大するだろうが大丈夫なのか気になっていましたが、この際と思って調べたところ、たまにはルートサーバーのIPアドレスも変更されることがある(2007年にL、2013年にDが変更された)がそれは通知がでるので管理者が手動で変更するらしいこと、ルートサーバーは13あるがその1つのIPアドレスに対して複数のマシンで負荷分散しており全体では数百台で運用されていることが分かりました。

それともう1つ、ルートサーバーがAからMの13なのはUDPパケット1個に入りきる最大数で決まってるんですね。なるほど~

もうシステム管理の仕事はしていないので今さら分かったからどうということもないのですがすっきりしました。これもgaccoのおかげですね。

gaccoの最終課題を提出し、合格しました。

中間課題が10問あるのに気付かず1問しか回答しなかったのでぎりぎりセーフというレベルでしたが、まあ落ちるよりは気分が良いです。

最終課題にこのミッションを持っている組織名は何かという出題が多数ありました。インターネットの運営に関心を持って欲しいから出題したのだろうと思いますが、どうなんだろう、自分としては雑学とか豆知識を問う問題になってしまってあまり意味がないんじゃないかという気がしました。ではどういう出題なら効果的かと言われると難しいのですが。レポート提出させるとなると採点する負荷が大きすぎて無理だろうし。

合格したからといって実利的に得するような性格のものではないし、やはりこういう学習は学習すること自体に価値を見出さないと意味がないんでしょうね。

今のところ他に技術的な講座で興味を引くものはないので、次に受講するとしたらビジネススクールかな。興味はあるけどお金を払ってまで受講することは絶対にない領域なのでgaccoで様子見するのはぴったりな気がしています。