home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2009/11/15/「作りながら学ぶOSカーネル」読了・・・一応。

日記/2009/11/15/「作りながら学ぶOSカーネル」読了・・・一応。

日記 / 2009 / 11 / 15 / 「作りながら学ぶOSカーネル」読了・・・一応。
id: 473 所有者: msakamoto-sf    作成日: 2009-11-15 04:20:04
カテゴリ: Assembler 

ようやく読み終わりました。

アセンブラや、C言語とアセンブラの連携は何となく分かる・・・その上で、OSやカーネルに興味があるけどそもそもx86アーキテクチャを知らない・・・という自分には丁度良い入門書だったと思います。

ただ不満点というか・・・個人的に理解しきれなかったというか。

  • 7章のタスク切り替え以降、一つのサンプルコードの実行に必要なコード量が増えると共に、1-6章までの機能を詰め込んだ形になってきたため、コード理解がきつかった。というか理解しきれなかった。
  • サンプルコードが動かない?7章と9章で、サポートサイトからDLしたオリジナルのコードですら、動かなかった。正確に言えばユーザープロセスとして動作するはずのコードが動いていないっぽい。ブートコードやタイマー割り込みのコードなどは動いている。

1-4,5章くらいまでは、x86の機能を一つずつ取り上げて、「小さなコードでサンプル実行」→「あ、なるほど~」と理解できました。しかし7章になって、1-6章までの機能+7章でのタスクスイッチングの機能の全部入りのソースコードになってしまい、追いづらく+弄りづらく+デバッグしづらくなってしまいました。7章以降はタスクスイッチングやページングなど重めの機能を取り上げている事もあるので、どうしてもサンプルコードが複雑になるのは仕方ないとは思うのですが、もうちょっと「小さく作って実験→理解してから大きく作る」という流れは維持できなかったかなぁ~とその点が残念です、というか理解しきれなかった自分が悔しいなぁと。

ただ、こちらの本を併せて読めば、↑で理解しきれない部分もとりあえず図入りで解説されていたりします。まさに「あわせて読む」で効果が実感できた本です。

こちらのサンプルコードは、MS-DOS時代のものなので今や動かせません。ただし「作りながら学ぶ~」の方は9章を除く全てがアセンブラで書かれているのに対し、こちらはアセンブラとCの混在、ということで、C言語の部分は若干読みやすく・理解しやすくなっているように思われました。動かす事はできませんが、「あ、『作りながら学ぶ~』で全部アセンブラで書かれていたところが、こっちの本ではこんな風にアセンブラとC言語に分けて書いてあるんだな~」という読み方をして楽しむ事はできると思います。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-11-16 13:47:26
md5:ffe549aa82b921dff1372419103c65a9
sha1:f095e6d57f9b94a0ccc40ffc2e2cd546009cc203
コメント
コメントを投稿するにはログインして下さい。