30日でできる! OS自作入門

30日でできる! OS自作入門
川合 秀実
毎日コミュニケーションズ (2006/03)
売り上げランキング: 1423

Linuxカーネルを自在にいじりまわせるようになるまでには、いろいろな方法があるのだろうが、どんな方法だとしても、それなりにギャップがある。だから書籍やネットを活用するのであり、関連図書やネットの情報源

もかなりの量存在する。よく聞くLinuxカーネルの勉強方法としては、目的を持って(たとえば既

存のモジュールに新機能を追加したいなど)、その部分を詳細に調べる、というものがあるが、そのココロは「習うより慣れろ」ということではないだろうか。しかし一方で、その目的すら定かではない場合はどうするの

だろう。目的を持てるということは、Linuxでないが、ほかのOSのことはある程度わかっている、ということではないだろうか。そういう意味では、経験者、上級者向けの方法だと思う。

やはり初心者には、レベルにあった参考文献が必要である。「30日でできる! OS自作入門」は、著者も巻末で言っているように、ページングやファイルシステムなどのOS中でも重要な機能についての記述を欠いていたり、

一方でビデオ関連の話題はかなりしつこく解説しているなど、OSの教科書としてのバランスを欠いている(教科書じゃないからこれはアリなのだが)。

しかし、教科書で理論を学ぶのではなく、カーネルをいじりまわせるようになるための方法として、この本のアプローチも、また「習うより慣れろ」のもう一方の端点に位置づけることもできると思う。少し回りくどいのだ

が、毎日少しずつ継続し、楽しみながら学べるのは良い方法である。それに、割り込みコントローラー等のハードの扱いも、シンプルなコードで説明があるので、こちらへの最初の足がかりとしてもよい。Linuxカーネル

だと、過去の歴史を引きずる部分と、新しい技術を取り入れていく部分を共存させたり、ポータビリティのために少し複雑になっている。もちろん優れたコードなのだが、とっつきにくいのは仕方がない。制限がある代わ

りにシンプルなコードを示す方法は、最初の理解にはとても有効である。

当然ながら、これ一冊でLinuxカーネルがわかるようにはならない。むしろLinuxとは無関係だから、Linuxカーネル関連図書は必読となる。でも、OSってどんなもの?どうやって作ったり、拡張していくもの?という点に

ついて、少なくとも雰囲気くらいはつかめると思う。

また、読者の興味を優先し、我田引水になっていない点は、とてもよい。