プログラミングに関するリファレンス書として世界的に有名です。システムプログラミング入門」は、タイトルの通りあくまでも入門書に過ぎません。全体像を俯瞰するには良いのですが、各論が貧弱なため深い知識は得られません。入門書には何が欠落しているのか、具体的に考えてみましょう。関わるものであれば当然知っているべき技術用語のひとつです。「その正確な定義を述べよ」との問いに答えられる人は、意外と少ないのではないでしょうか?「分かっているようで、実は分かっていない」、今のコンピューター教育が孕んでいる問題の本質はここにあると私は考えています。本書はデーモンにまる1章を割いて、詳細な解説を行っています。この章を読めば、デーモンの技術背景が理解でき、結果として正しいコーディング方法が身に付くでしょう。これだけの解説は他書ではお目にかかれないと思います。デーモン以外についても、本書の情報の正確さ、解釈の奥深さは群を抜いています。プログラミングを学ぶのであれば本書以外を購入する必要はありません(ネットワークに関しては同氏の別作を)。英文の質も最高クラスですから、是非とも原書を読みましょう。多くの方が「英文ってこんなに簡単だったの?」と驚かれるのではないかと思います。日本語もそうですが、真に優れた著作は中学生でも読める明快な文章で記述されているのです。プログラミング」として出版されていますが、残念ながら翻訳は不完全です。同じお金を払うのであれば、原書を買いましょう。本書を読むにあたり、ふたつほど注意点を。・本書の内容は極めて高度、かつ詳細です(百科辞典的)。情報の「重い軽い」を判断できるだけの実力を持ったプログラマーには最高のテキストですが、初学者にはお勧めできません。システムプログラミング入門」を参照しましょう。・本書と言えども完全ではありません。私自身、昔この本を読みましたが、途中で消化不良を起こし何度も挫折した苦い経験があります。学習するにはカーネルソースツリーも含めた探索が必要不可欠だからです。本書では具体的なカーネルソースまでは言及しておらず、せいぜいシェーマでカーネル内データ構造を示しているだけです。このため、どうしても「ここ一番」という大事なところで読者の疑問に答えることができません。ソースツリーのダンプリストを横に置いて参照しながら読破するのが、理想的なスタイルと言えるでしょう。プログラミングの教科書を探している人達は日本にも多いでしょうが、残念ながら決定版と言える本を私は知りません。いうテキストを書いていますが、これすら私には今ひとつ・・。プログラミング教科書はおしなべてシステムコールを順を追いながら解説するスタイルをとっていますが、私は何冊読んでも「fork/exec」の意義が全く理解できませんでした。「なんでこんなもって回ったシステムコールがふたつもいるんじゃ?」という訳です。結局、カーネルソースを探索し、仮想メモリ機構まで理解が及んだ時、初めて「なんだ、そういう事だったのね!」と納得がいったことを覚えています。巷に溢れているCプログラミング教科書と同じく、表層的なプログラミングインターフェースを述べるばかりで、システムコールの技術背景まで言及している書籍がないのですね。残念ですが、これが現実です。本書はサブタイトルに「Cシステムプログラミング」を冠した硬派本です。大学などで講義の教科書として採用されているケースもあるようですが、確かにその構成には独特の工夫が見られ、内容も大変良く練られています。この本を教科書に採用した先生方は、かなりのセンスの持ち主と言えるでしょう。私が本書を最も高く評価しているのは、その「独創的で分かりやすい図」です。これまで似たような図は、多くの教科書に掲載されていますが、本書の作図には独自の工夫が見られ、本文やソースリストの理解に大きく役立っています。良質の図を眺めるだけでも価値がありますし、なにしろ値段が2000円というアカデミック・プライスです!解説やソースリストは他書と同程度の内容ですが、文章に味があり教育的な意味合いも織り込まれています。デバイスドライバーに関するリファレンス書です。カーネルの成長に追随できなかったため、昨年夏2.4系列に対応した第二版が登場しました。オライリー・ジャパンから日本語版も出版されていますが、これは初版の翻訳です。第二版は全体的にかなりブラッシュアップされており、初版とは別物と考えた方が良いでしょう。このコーナーを始めた際にバッシングはやめておこうと誓ったのですが、早速禁を犯してしまうことをお許しください。実を言うと、私も大枚4800円をはたいて日本語版を購入した一人です。いうことでしたし、天下のオライリー社ですから、まさか翻訳に問題があるとも思えず「きっと英文に問題があるのだろう」とあきらめていました。English)で記述されていました。文章のリズムが軽快なため、流れるように読み進めることができます。なにげなく書かれている説明も意味しているところが深く、感心させられました。ひとつひとつのテーマが、実に丹念な調査に基づいて解説されており、頭が下がります。氏に似ていると感じたほどです。早くに原著を読むべきだったと、反省することしきり。英語版は間違いなく良書、自信を持ってお勧め致します。残念なことに日本語版はお勧めできません。日本語版には途中で首をかしげてしまうような表現が、多々見受けられます。自分の読解力に問題があるのかと、前に戻り先に進みしながら重ね読みしても、まだ内容が理解できないのです。カーネル2.4が全盛の今にあっては内容が古すぎることと相まって、読者にはかなりの混乱が起きていることでしょう。初版の英文が手元にないので厳密な比較はできないのですが、第二版の英文を読む限り内容に不明瞭な点はほとんどありません。翻訳による影響と思われます。してしまった、訳者と出版社の責任は甚大だと私は考えます。system」を確立すべきでしょう。日本語版の書評は雑誌でもかなり紹介されたはずですが、私が知る限り「翻訳に問題がある」という指摘は見たことがありません。今後雑誌出版社には、書評を依頼する際に「原著と和訳本の2冊を渡す」ぐらいの姿勢が、求められると思います。本書に対して文句を付ける点はさしてありませんが、モジュールをデバイスドライバー実装の手段としてのみ捉えるのは少々寂しい気がします(本書に限りませんが)。モジュールはただ単にデバイスドライバーの動的インストールを目的として開発されたものではありません。ファイルシステムや実行ファイルフォーマットなど、あらゆるカーネルの機能拡張が含まれています。私が考えるモジュール最大のメリットは、その教育的価値にあります。理解するためには、ユーザープロセス空間とカーネル固有空間のふたつを明確に区別することが重要ですが、いくらユーザーモード・プログラミングを経験したところで、カーネルの深部には到達できません。このバリアをモジュールはいとも容易に解決してくれます。カーネルの理解」を念頭におきながら原稿を書いてみました。4月号)で掲載される予定です。その後、第二版の日本語版が出版されました。購入はしたのですが、まだ中身はチェックしておりません。訳者が交代していましたので、日本語訳が適切に修正されていると良いのですが。2002/01/16今回は珍しく和書を紹介しましょう。”はじめて読む486”は私がこれまで購入した和文技術書籍の中で、世界に通用すると思われる数少ない作品のひとつです。初版は今を遡ること8年前、1994年ですが、486プロテクトモード・プログラミングの実例が豊富に掲載され、世界的にも珍しい486解説書に仕上がっています。具体的には下に述べるようなテーマに沿い、ソースコードが丁寧に解説されています(開発環境がDOSベースという問題点はありますが、コードは十分魅力的です)。その内容は8年立った現在でも色褪せることがなく、PC−UNIXが社会に広まった現在、本書はさらにその輝きを増していると言えるでしょう。私はこれまでプロテクトモードプログラミングの具体例が掲載された書籍を、海外も含め随分探してきましたが、本書に匹敵する作品には出会っていません。これだけの名作が未だに英訳されず、極東の地で冬眠状態にあるというのは、かえすがえすも残念。仮想8086モードI/Oモニターなお、本書では「動くコード」の提示に重点が置かれているためか、各論の説明が少々もの足りません。各論については次のバイブルを参照しましょう。論理設計者という最高の執筆陣であり、その内容は他のx86関連書籍の追随を許しません。私が最も感銘を受けたのは、ひとつひとつの命令についてC言語風の「ソースリスト」で386の動作が正確無比に記述されている点です。この他にもセグメンテーション、ページング、割り込み処理、タスク切り替えなど、文章だけでは理解しづらい386CPUのコア部分がソースリストで明快に示されています。従来のx86解説本を読んでも今ひとつスッキリ理解できなかった人達には、福音となることでしょう。岩谷氏の翻訳はさすがです。最高度に難しい内容にもかかわらず、きちんとした日本語になっています。日本ではこのような良心的な翻訳が評価されず、えせ翻訳書ばかりが跋扈し続けるのでしょうか?本書は”はじめて読む486”と併せ、プロテクトモード・プログラマー必読の書ですが、極めて残念なことに原書・邦訳書ともに絶版となってしまいました。ここで一句、「悪書は良書を駆逐する」。2001/12/15私が最近購入した原著の中で、最も手あかがついているのがこの書籍。用いて、パケットフィルタリング式ファイアーウォールの構築方法を紹介しています。注文しましたので、近日中に紹介できるでしょう)。ついて具体的なルール設定例を紹介しています。読めばこれらがいかにいい加減なルールであるか、わかるでしょう。著者が運営しているサイトは必見です。私が自信をもってお勧めできる数少ない原著のひとつです。内容は良く練られており、掲載内容も十二分に吟味されています。この手の書籍は、しばしば本質とは関係のないところにページを割いてしまうものですが、本書籍には「冗長、無駄」と思われる点がほとんど見あたりません。英文は明快で、曖昧な文章がほとんど目につきません。これは私たち日本人にとって、大変ありがたいことです。以前、著者に「あなたの文章は実に明快でわかりやすい」と感想メールを送ったことがあります。この時何度かやりとりをしたのですが、彼が言うには「実は私自身はあの文章はドライすぎて好きじゃない。一人のレビューアー(査読者)が厳しく文体を指導してきたものだから、あのようなスタイルになったんだ。米国で書籍を発刊する際には、学術論文並み、いやそれ以上の厳しい査読が待ち受けているようです。他にも魅力的なタイトルの書籍を揃えています。装丁スタイルもセンスが良いですし、厳しい査読者を課するあたり、今後大いに注目すべき出版社と言えるでしょう。日本の出版社も見習うべし。残念ながら第一版ではそれまでテンポの良かった第3章までとは打って変わって、第4章からは同じ内容が繰り返され眠たい内容になっています。これは後半執筆中に彼を悲しい事件が襲ったことが原因のようですが、第二版では改善されていることを望みましょう。本書は、サーバーの設定は出来るようになったが、次はセキュリティーについて勉強してみたいという人達に、最適の教科書です。最近、ピアソンエデュケーションズから和訳本が出ました。どちらの版に対応しているのでしょう?訳者は大丈夫でしょうか?いずれにせよ、英語力を磨きたいなら迷わず原書を購入しましょう。自分一人で読み進む自信がなければ、仲間を集めて週1回輪読会を開くのも良いでしょう。