Entry

誕生日にはついに自前の悪魔本も購入していたのだった

2007年07月13日

以前から欲しい欲しいと思っていた本を買っていたのだった。でも,でかくて持ち歩けない。

BSDカーネルの設計と実装―FreeBSD詳解
マーシャル・カーク マキュージック ジョージ・V. ネヴィル‐ニール 歌代 和正 砂原 秀樹
アスキー (2005/10/18)
売り上げランキング: 37548
おすすめ度の平均: 5.0
5 FreeBSDの内部構造解説

本書は FreeBSD のカーネル解説本で,その手のスジにとってはいわずもがなのバイブルになっています。これまでは図書館で何度も借りていたんですけれど,いい加減買うことにしました。こんなもん2週間で読めるかっつーの。

カーネルの解説本を見ていると,やはり趣旨によって書かれているレベル(※難易ではない)も違うわけで,ソースコードを丸写ししたような実装寄りのモノ(コード解説みたいなもの)から概念的な説明を中心にするものまで多岐に亘ります。その点,本書はどちらかというと概念的な説明や設計思想を中心にしたもので,具体的な実装の話題は合間にちょこちょこと入っている構成になっています。おそらく,ここら辺からの説明の方が,実際にソースを読む手掛かりとしては丁度いいんじゃないかと思います。

実装寄りの解説本としては,ブートプロセスだけですけど,こちらあたりが参考になるのかな……。

FreeBSDのブートプロセスをみる
白崎 博生
アスキー (2006/03)
売り上げランキング: 246762

カーネルのソースは,この頃ぼちぼち読んでいるんですけれど,普通のプログラムを読むのと異なるところは,ハードウェアも踏まえて何をしたいのかが分かっていないといけないところなんじゃないでしょうか。例えば,仮想記憶のような重要な機能ひとつを取ってみても,「二次記憶を背景にした論理的なメモリ空間が云々……」みたいな,概念的な捉え方では足りないわけで,具体的にハードウェアがどこまでそれをサポートしていて,OS(FreeBSD)がどのようにその資源を扱っているのかとかいったもんを見なくちゃいけないんだと思います。そういうわけで,カーネル本を読むには FreeBSD だけじゃなくて,(例えば)x86系の CPU についても踏まえる必要がある。んでもって,本書(悪魔本)の場合,ハードウェアの話はそこそこで,既知のものとして扱っている,と。

実際,CPU の話を一旦知っておくと,本書はかなり読み易くできていて,割とサクサクと読めてしまいます。あたしは以下のような本をぼちぼち読んでいたんですけど,随分と基礎知識が入りました。

はじめて読む486―32ビットコンピュータをやさしく語る
蒲地 輝尚
アスキー (1994/09)
売り上げランキング: 7337
おすすめ度の平均: 5.0
5 素晴らしい486アーキテクチャ本
5 この本は達者!
5 本当に傑作の一品です。

以前もここで紹介した本。x86系の CPU は下位互換性があるので,486でも十分に現在の CPU を知ることができます。また,本書は具体的に CPU をいぢるコードも紹介されているので,どこのレジスタをいぢって(CPU の)仮想記憶機能を有効にするのか,みたいな話が具体的に分かります。処理系がちょっと古いのでとまどうかもしれませんけど,実際にコーディングするわけではないので,「へぇーこんな風に実装するんだー」みたいな雰囲気が分かればいいんじゃないかと思います。

そういうわけで,これからしばらくは,カーネルを読む日々になりそうな感じ。GLOBAL 入れよっと。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN