インサイド Windows 第 7 版 上
インサイドウィンドウズダイナナハンジョウ
システムアーキテクチャ、プロセス、スレッド、メモリ管理、他
- 著者:
- Pavel Yosifovich / Alex Ionescu / Mark E. Russinovich / David A. Solomon / 山内 和朗(パーベルヨシフォビッチ / アレックスイオネスク / マークイールシノビッチ / デビッドエーソロモン / ヤマウチカズオ)
- 出版社:
- 日経 BP
- 出版日:
- 2018年04月28日頃
- ISBN:
- 9784822253578
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Microsoft Press の「インサイド Windows (Windows Internals)」シリーズは、1992 年に原書の初版が『Inside Windows NT』として発行されました (訳書の発行は 1993 年)。それ以来、Windows のバージョンアップのたびに改訂を続け、Windows の内部構造を解き明かすバイブルとして開発者・システム管理者に永く読み継がれてきました。そして初版から 25 年目の 2017 年、待望の第 7 版の原書"Windows Internals, Seventh Edition, Part 1: System architecture, processes, threads, memory management, and more"が満を持して発行されました。本書はその日本語翻訳版です。
本書は Windows のアーキテクチャと内部構造を掘り下げ、コアコンポーネントが背後でどのように動作するのかを明らかにします。また、ハンズオンの実習を通して、Windows の内部的な挙動を実際に体験でき、アプリケーション設計やデバッグ、システムパフォーマンス、およびサポートの改善に活用できる知識を得ることができます。第 7 版では Windows 10 および Windows Server 2016 に対応したうえ、スレッドの章が独立し、メモリ管理の章と I/O システムの章が下巻から上巻に移動しました。
訳書の制作にあたっては、日本語版 Windows 環境で動作確認を行い、原書発行後に行われた Windows の更新をできる限り反映しました。2017 年 10 月にリリースされた Windows 10 バージョン 1709 (Fall Creators Update) についても、できるだけ訳注で補足しています。
【ご注意】本書 (日本語翻訳版) の制作時点で、下巻の原書"Windows Internals, Seventh Edition, Part 2"はまだ発行されておらず、発行時期に関する公式情報も公開されておりません。下巻の訳書の発行は、原書の発行後になることをご了承ください。
第 1 章 概念とツール
第 2 章 システムアーキテクチャ
第 3 章 プロセスとジョブ
第 4 章 スレッド
第 5 章 メモリ管理
第 6 章 I/O システム
第 7 章 セキュリティ
技書の森解説
Windows 上で起きている挙動を、API のドキュメントではなくカーネルの実装から説明できる技術者は限られます。『インサイド Windows 第 7 版 上』 (Pavel Yosifovich、Alex Ionescu、Mark E. Russinovich、David A. Solomon 著、山内和朗 訳、日経 BP、2018 年刊) は、Microsoft Press の Windows Internals シリーズ第 7 版の Part 1 を日本語に翻訳した専門書で、原題は "Windows Internals, Seventh Edition, Part 1: System architecture, processes, threads, memory management, and more" です。版元の紹介文によれば、このシリーズは 1992 年に原書の初版が『Inside Windows NT』として発行され (訳書の発行は 1993 年)、Windows のバージョンアップのたびに改訂を続けて、Windows の内部構造を解き明かすバイブルとして開発者 / システム管理者に読み継がれてきたとされます。第 7 版の原書は初版から 25 年目の 2017 年に発行されました。
全 7 章の構成、概念とツールからセキュリティまで
構成は全 7 章です。第 1 章「概念とツール」と第 2 章「システムアーキテクチャ」で Windows を理解するための用語と全体像を置き、第 3 章「プロセスとジョブ」、第 4 章「スレッド」、第 5 章「メモリ管理」、第 6 章の I/O システム、第 7 章「セキュリティ」と、OS の中核機能を一つずつ掘り下げます。版元の紹介文は、本書が Windows のアーキテクチャと内部構造を掘り下げてコアコンポーネントが背後でどのように動作するのかを明らかにし、ハンズオンの実習を通して内部的な挙動を実際に体験できると説明しています。得た知識の使い道として版元が挙げるのは、アプリケーション設計やデバッグ、システムパフォーマンス、サポートの改善です。上巻の副題「システムアーキテクチャ、プロセス、スレッド、メモリ管理、他」が示すとおり、この巻だけで Windows の実行モデルの根幹を扱います。
第 7 版の変更点、Windows 10 対応とメモリ管理 / I/O の上巻移動
第 7 版では Windows 10 および Windows Server 2016 に対応したうえで、スレッドの章が独立し、メモリ管理の章と I/O システムの章が下巻から上巻に移動しました。旧版では下巻を待たなければ読めなかったメモリ管理と I/O が上巻に収まったことで、プロセス、スレッド、メモリ、I/O という実行モデルの主要素を一巻で通読できる構成になった点が、第 7 版の上巻を選ぶ実利です。訳書の制作では日本語版 Windows 環境で動作確認を行い、原書発行後の Windows の更新をできる限り反映し、2017 年 10 月にリリースされた Windows 10 バージョン 1709 (Fall Creators Update) についても訳注で補足していると版元は説明しています。一方で版元は、翻訳版の制作時点で下巻の原書 "Windows Internals, Seventh Edition, Part 2" が未発行だったことを注記しており、上巻は下巻を待たずに単独で先に刊行された巻です。
カーネルの内部構造を学ぶ意味、デバッグ / 性能解析 / 脆弱性調査
アプリケーションから見える Windows は API とクラスライブラリの層ですが、その下ではユーザーモードとカーネルモードの境界を システムコール で越え、カーネルがプロセス、スレッド、仮想メモリ、I/O 要求を管理しています。ハングやクラッシュのダンプ解析では、スレッドが何を待っているのか、どのプロセスがどのアドレス空間を持つのかを知らなければ、スタックトレースは読めても原因には届きません。性能問題では、ページフォールトや I/O 完了の仕組みを知ることで計測値の解釈が変わり、セキュリティでは、アクセス制御とプロセス分離がカーネルのどこで担保されているかを知ることが、脆弱性調査や防御製品の理解の土台になります。著者陣の顔ぶれもこの三方向に対応しています。版元プロフィールによれば 2018 年の刊行時点で、Mark E. Russinovich は Microsoft Azure の CTO で Windows Sysinternals ツールの主な作成者、Alex Ionescu は CrowdStrike 社の EDR 戦略担当バイスプレジデント、Pavel Yosifovich は Microsoft MVP でオンライン教育訓練サービス Pluralsight の講師、David A. Solomon は第 2 版以降のシリーズの著者 (第 3 版以降は共著) です。
ドライバー開発者とセキュリティ技術者に向く前提知識、向かない読者
版元は本書の知識をアプリケーション設計、デバッグ、システムパフォーマンス、サポートの改善に活用できると位置づけており、想定される読者は Windows の振る舞いを実装レベルで説明する必要がある人です。デバイスドライバーやシステムサービスを開発する人、クラッシュダンプや性能問題を解析する人、マルウェア解析や脆弱性調査で OS の防御機構を理解したい人が中心になります。読むにあたっては、プロセスとスレッドの違い や仮想メモリといった OS の一般概念を把握していることが望ましく、OS 論の教科書を終えた後に位置する本です。逆に、Windows アプリケーションの作り方や PowerShell による管理手順を学びたい人にとって、本書は目的に対して深すぎます。また 2018 年刊で Windows 10 バージョン 1709 までを訳注で追った本なので、それ以降の Windows の変更は対象外として読む必要があります。
英語の原書をそのまま読むよりも、日本語版 Windows 環境での動作確認と訳注が付いた本書の方が、業務で参照する際の負担は小さくなります。Windows を対象にドライバー開発、障害診断、セキュリティ調査のいずれかを本業にする人にとって、上巻だけでも投資に見合う一冊で、OS / 低レイヤー本の選び方 で他の低レイヤー本と組み合わせれば、Windows 固有の実装と OS 一般論を往復しながら理解を深められます。
言及した記事 (1 件)
この本に興味がある方におすすめ
関連する本
Pavel Yosifovich の他の書籍
関連記事
関連用語
AWS Copilot
コンテナアプリケーションを ECS / Fargate にデプロイするための AWS CLI ツール。2026 年 6 月 12 日にサポート終了
ECS
AWS のマネージドコンテナオーケストレーションサービスで、Docker コンテナを実行 / 管理する
コネクションドレイニング
ロードバランサーがインスタンスを切り離す際に、処理中のリクエストを完了させてから切断する仕組み
Lambda
AWS のサーバーレスコンピューティングサービスで、コードをイベント駆動で実行する
コンテナオーケストレーション
コンテナのデプロイ、スケーリング、ネットワーキングを自動管理するプラットフォーム
Docker Compose
複数のコンテナをまとめて定義 / 起動するツールで、ローカル開発環境の構築に使われる