【書評】「インサイドWindows第7版」上下巻ついに完結
以前に「インサイドWindows」という書籍を紹介した(【本の特盛り】インサイドWindows)。最後に「第7版の続刊はまだか」と書いたが、ようやく出版された。
著者の入れ替わりは結構あったようだが、第3版から参加し、第4版以降の中心著者であるMark Russinovichが今回も全体を監修している。
第3版以降の特徴である「実習」も健在である。今回も各種のツールを駆使してWindowsの内部構造を調べ、読者の理解を助けている。これにより、抽象的になりがちなOSの内部を体験できる。
使用されるツールは、マイクロソフトが開発者向けに配布しているものや、著者らが独自に開発したものが中心で、すべて無償公開されている。
しかし、ツールがそろったからといって、そう簡単に中身が理解できるわけでもない。しかも、書籍の内容は、版を重ねるごとに高度化している。
たとえば、CPUがメモリ内容をキャッシュする(一時的に保存する)メカニズムとして、「ダイレクトマッピング」「4ウェイ(nウェイ)セットアソシエイティブ」「フルアソシエイティブ」について解説されている。ほとんどの人にとって、これが直接何かの役に立つことはないだろう。それでもOSの構造を理解するには必要な技術であり、これが書籍になっていることは大きな意味がある。
書籍の内容を完全に理解するには、仮想記憶やマルチタスクなど、計算機科学の基礎知識は必要だろう。もし、純粋に知的好奇心から本書を読むのであれば、分からない部分は素直に読み飛ばした方がいい。そうでないと、途中で読むのが嫌になる。全体の情報量が多いので、少々読み飛ばしても、面白く読める部分はたくさんあるはずだ。
Windows NTの開発プロジェクトを率いたDavid Cutlerが、前職で開発していたOS「VAX/VMS」には『VAX/VMS Internals and Data Structures』という有名な書籍がある。サポートエンジニア向けの書籍だが、「インサイドWindows」もこれを目指したと序文に書いてあった。道理で内容が高度なわけだ。
初版の「Inside Windows NT」は、著者がエンジニアではなくテクニカルライターだったため、非常に読みやすく全体が理解しやすかった。しかし、説明は浅く、内部構造を深く知るのは難しかった。それに比べると、第7版は実に高度で、詳細な説明が行なわれている。
これはこれで良いのだが、上下巻あわせて1,800ページを読み通すのは難しい。「Inside Windows NT」は400ページ、追補版として出版された「Inside Windows NT File System」を含めても500ページしかない。これくらいなら通読できる分量だが、内容も高度になった1,800ページはなかなかハードルが高い。概要だけを知りたい人に向けて「Inside Windows NT」レベルの解説書も1冊欲しいところだが、どなたか書いてもらえないだろうか。
出版の経緯
「インサイドWindows第7版(上)」が2017年(日本語版は2018年)に出版されたが、続刊が出ていなかった。今回、4年の歳月を経てようやく「インサイドWindows第7版(下)」が登場した(英語版は2021年)。
下巻序文には、出版が遅れた経緯も書かれている。第2版の著書であり、第3版でも中心的な存在だったDavid Solomonは現役をリタイアしていた。第3版から参加したMark RussinovichはマイクロソフトでAzure最高技術責任者(CTO)となり、執筆時間が取れなくなった。第4版から参加したAlex IonescuはCrowdStrike社を起業して多忙になった。第7版(上)で参加したPavel Yosifovitchは第7版(下)には参加できなかった。
言い訳のような記述が目立つ序文だが、本業を持ちながら書籍を執筆することの難しさは日本も米国も変わらないようだ。
Mark Russinovichは、依然として著者の中心にいるようで、序文も彼の手によるものだ。しかし
私の名前がまだ本書の著者名に記載されていることを誇りに思います。
と書いてあるので、加筆した部分は決して多くないのかもしれない。
続刊はあるか?
ところで、英語版タイトルは「上下」ではなく、「Windows Internals, Part 1」「Windows Internals, Part 2」である。Part 3が出版されることはないのだろうか。
断言はできないが、おそらく「ない」と言っていいと思う。
Windows 10から、OSの開発は継続的に行なわれており、Windows 10がWindows 11になって大きく変わった部分はない。そのため「インサイドWindows」の続刊が出るとしたら、OSの変更や拡張を反映した改訂版になるだろう。
Windows 11では、[スタート]ボタンがまん中にきたり、ウィンドウの外観が微妙に変わったりはしているが、OSの基本部分(カーネル)には変更がない。正確にはWindows 11になる前から徐々に変わっており、Windows 11になってからもも徐々に変わりつつある。
では、なぜ「上下」ではなく「Part 1,2」なのか。これは、単に英語では「上下巻」に相当する言葉がないだけの理由だろう。深読みする必要はない、と思うのだが、Part 3が出たらごめんなさい。