たまには日記の一つでも。

28にしてはじめたバイオリンの記録と、ときどき日曜ハッキング

Darwinのソースを読む・・・準備をする

なんだかんだでずっと避けて通ってきたOSの勉強ですが、とりあえず着手です。とはいってもちょっと前から始めてはいたのですが。

モダン オペレーティング システム 原書 第2版

モダン オペレーティング システム 原書 第2版


これを頭から読んでます。ウソです。読んでるフリしてページをめくってます。それは言い過ぎか。OSを作ろうとしてる訳ではないので、細かいアルゴリズムに関しては流し読みです。これを理解してるほどの余裕はないです。アタクシもちゃんと毎日残業してる身ですから。ちゃんと?・・・まいいやそんなことは。


んーで理論ばっかりだとつまんないので、せっかくマカーになったんだからxnu読まないと!
てわけで、まずは以下をダウンロードして解凍。(注: 要ログイン。Apple IDは持ってるかい?)
http://www.opensource.apple.com/darwinsource/tarballs/apsl/xnu-1228.tar.gz
私はemacs教ですから、etagsします。あと、読む前に敵がどの程度の規模か調査しておきましょう。

[ore@Darwin]$ tar xvzf xnu-1228.tar.gz
[ore@Darwin]$ cd xnu-1228
[ore@xnu-1228]$ etags `find . -name *.[ch]`
[ore@xnu-1228]$ wc -l `find . -name *.[ch]`
....
  949682 total
[ore@xnu-1228]$ 

んー、戦略的撤退(マテ

95万行ですかそうですか。OSって、こんなにでっかいんすか?xnuってコア部分だけですよね。ドライバとかは別パッケージだし。

とりあえず、地図もコンパスも無しにこんなとこ迷い込んだら、白骨死体化必至です。本をとっとと読み終えて、次はこの辺↓を片手に、地道に、攻めるしかなさそうです。
http://developer.apple.com/documentation/Darwin/Kernel-date.html
道のりは遠く険しい。


あー、JBoss Seam 2.0.0.GAがリリースされたのですよね・・・そっちも見たい・・・しくしく