わこう

テスト読者。OSASK ファン。

普段はほとんど linux しか使っていないので、はりぼてOS も linux 上で動作させながら読みました。linux に移植する過程で書いたメモが Linux/wako_memo で公開されています。環境は Debian GNU/Linux 3.1 (sarge) です。

覚え書きには書き忘れましたが、バイナリエディタには bvi を使いました。キーバインドがほとんど vi なバイナリエディタです。vi 使いにはお薦め。ただし、ファイルのバイト数を変えるような操作をする場合は ':set memmove' というコマンドを打つ必要があります。詳しくはマニュアルを見てください。

本の感想

以下の内容は、テスト読者として読んだ際に川合さんに宛てて書いたものです。なので、内容の一部が現在出版されているものとは食い違っている可能性があります。また、章によって感想があったりなかったりします。

  • chapter 04 (C言語と画面表示の練習)
    • ポインタの説明が分かりやすいです。あまりにも簡単で、抵抗なく読めるので「ふーんそうなんだ」程度ですんでしまいました。今ではポインタを理解できたつもりになっています。少なくとも、ソース中にポインタが出てきても抵抗を感じなくなりました。
  • chapter 05 (構造体と文字表示とGDT/IDT初期化)
    • 作業が段々軌道に乗ってきて、ツールをいじっているときは楽しいです。少しずつ OS らしくなっていくのも良い感じです。文字が表示されるのでメッセージを少し変えて遊んでみました。
  • chapter 07 (FIFOとマウス制御)
    • やっと終ったという感じです。理解しなくてはいけないことがたくさんあったので、読むのに2、3日かかりました。本の中でも特に難しい所だという説明が前もってあったので、何とか頑張れました。つらくなってきた時に0-8の2週目以降を読んで希望をつなぎました。4章でC言語が入って来るので少し楽になりましたが、5、6、7章の割り込み関係は大変でした。
  • chapter 09 (メモリ管理)
    • 話そのものは分かりやすく、すらすら読めましたが、何のためのメモリ管理かピンと来ない所がありました。まあこういうことも必要なんだと思って読みました。話がOSらしくなって来たので、この後が楽しみになってきました。
  • chapter 16 (マルチタスク-2)
    • レベルがでてくるまでは理解できましたが、レベルの所が難しかったです。レベルを導入する必要性は理解できるのですが、タスクがどういう順番で切り替わるのか、例にあげられたケース以外では良く分かりませんでした。内容を完全にフォローできてないので、後でまた読みかえさないといけないと思います。
  • chapter 17 (コンソール)
    • コンソールを少しずつ作って行くのが面白かったです。普通ならあれもこれもと一気に色々やりたくなる所を丁寧にやるのがこの本の良い所だと思いました。コンソールといっても案外簡単なものなんだなという感想を持ちました。この調子で少しずつやればそのうちちゃんとしたコンソールになりそうな気がします。
  • chapter 18 (dirコマンド)
    • コンソールを改良して少しずつOSらしくなってくるのが面白いです。色々な部分がエセっぽいですが、直観的だし、とりあえず動くのでそれほど気になりません。最初から凝る必要は無く、むしろ動くならそれでも良いのかと思わされました。また、普段改行コードを送った後、どんな風に処理されるのか考えたことが無かったので、新しい発見がありました。
  • chapter 19 (アプリケーション)
    • この章はかなり楽に読めました。アプリを起動するためには、要するにsegmentを用意し てfarjmpすれば良いんですね(追記:これは勘違い。先を読むとちゃんとしたアプリの起動方法が出てくる)。この調子でどんどんアプリが出来そうな気がします。この先を読むのが楽しみです。
  • chapter 20 (API)
    • 最後が確かにすっきりしませんが一日分の分量としてはちょうど良い感じです。アセンブラがたくさんでてくる割には分かりやすかったです。次はどうなるのかという感じです。
  • chapter 21 (OSを守ろう)
    • 内容自体はそれほど難しくなかったですが、CPUの仕組みの話が多かったので少し退屈で した。OSの保護というのも必要なのは分かりますが、それほど必要性を感じないので我 慢して読みました。やはり、機能が目に見えて増えていく様な章の方が楽しいですね。
  • chapter 22 (C言語でアプリケーションを作ろう)
    • OSに攻撃を仕掛けるというのがそれなりに面白かったです。この章と前章を通して、IDT とか割り込みについて、ちゃんとやっておいて良かったと思いました。おかげで、新しい 概念なしで進み、すんなり理解できました。APIについてもだんだん分かってきました。
  • chapter 23 (グラフィックいろいろ)
    • 実に楽しい章でした。やっぱり絵がでてくるとぐっと楽しくなりますね。この章ではwalk が特に楽しかったです。やっぱりインタラクティブなものは良いですね。この章にでてき たものを組み合わせれば、タイマを使って絵を動かしたりできそうで夢が広がります。
  • chapter 25 (コンソールを増やそう)
    • 音が鳴ったり、中間色が使えるようになったり、目新しい話でOSの基盤整備と言う感じで 面白かったです。ようやく、task_aがなくなってスッキリしました。
  • chapter 26 (ウィンドウ移動の高速化)
    • 後半の内容そのものは出来そうなことをひたすらやっていくという感じで、それほど面白 いものではなかったです。あえて言うならポインタの値を0にすることで必要に応じて処 理をさせる仕組みになるほどと思いました。ただ、実際にできた「はりぼてOS」を動かし てみると、いよいよちゃんとしたOSらしくなっているので、完成度が高まってきたのを感 じます。
  • chapter 27 (LDTとライブラリ)
    • ライブラリを導入するくだりが面白かったです。必要性を読者に認識させつつきちんと説 明していて、わかりやすい内容だと思います。こういった天下りにならない姿勢はこの本 の特徴になっていると思います。自分も同じような状況に直面してライブラリを作ったこ とがあるので、共感しながら読みました。
  • chapter 30 (高度なアプリケーション)
    • 後半のソースはちゃんと読めてないですが、この章のプログラムは普通のプログラムと言 う感じで実に読み易いです。読んでいてホッとします。バイナリでマシン語を打つ所から 始めて、ようやく自分の住んでいる世界につながった気がして感慨深いです。
  • ここまでの2〜3章を読んでいてOSの完成度が高くなり、APIや関数が充実してきたことを 感じます。読んでいてこれらを自分でも使ってみたいという気になりました。このあとに あとがきを書くのであれば、ぜひこのはりぼてOSの具体的な改良点をいくつか指摘して欲 しいです。きっとそれに刺激されてはりぼてOSを改良する人がいるはずです。また、こん なアプリを作ったら面白そうという提案もあると良いと思います。(追記:このコメントが川合さんに届く前に、すでに要望が完璧に満たされたあとがきが出来上がっていました)
  • chapter 31 (開発を終えた後で)
    • あとがきとして十分に読みごたえのある内容でした。これまで一緒に頑張ってきた川合さ んと最後のお別れという感じです。僕はこういう思い入れのこもったあとがきは大好きで す。お別れの曲まで流れてとても良い終わり方だと思います。
  • ようやくこの長い本も終わりですね。一読者としては色々な知識が吸収できたので、とて も有意義な時間を過ごせました。OSのユーザとしても今まで見えていなかった部分が見え るようになり、この本によって多くの事を学びました。内容が難しい部分だったり、読む 余裕がなかったりして大変だったこともありましたが、最後まで全うできてよかったと思 います。このような機会を与えて頂いた事に改めてお礼を言いたいと思います。ありがと うございました。

コメント欄

  • こめんと欄設置をありがとうございます。・・・とりあえずはこのままでもいいですが、一通りupし終わった後で、実際の本の内容に即した感想に直してもらえると幸いです(そうでないといくつかの感想については、むしろ他の人を混乱させるだけになってしまいますので)。 -- K 2006-03-10 (金) 03:18:53
  • 本の感想は、わこうさんとほぼ同じ様な結果となりました。わこうメモはとても参考になりました。感謝 -- hanpen 2006-08-30 (水) 23:07:19
  • 役立てて頂けたようで嬉しいです。コメントありがとうございます。 -- わこう 2006-09-01 (金) 23:36:54

コメントお名前NameLink

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2006-09-01 (金) 23:36:54 (4647d)