1. 第1章 Windowsを支える基礎概念
    1. 1.1 Windowsのバージョンについて
    2. 1.2 基本概念と用語
      1. 1.2.1 Windows API
      2. 1.2.2 サービス,関数,そしてルーチン
      3. 1.2.3 プロセス,スレッド,そしてジョブ
      4. 1.2.4 仮想メモリ
      5. 1.2.5 カーネルモードとユーザーモード
      6. 1.2.6 ターミナルサービスとマルチセッション
      7. 1.2.7 オブジェクトとハンドル
      8. 1.2.8 セキュリティ
      9. 1.2.9 レジストリ
      10. 1.2.10 Unicode
    3. 1.3 Windows内部の世界
      1. 1.3.1 パフォーマンスツール
      2. 1.3.2 Windowsサポートツール
      3. 1.3.3 Windowsリソースキット
      4. 1.3.4 カーネルデバッギング
      5. 1.3.5 Platfrorm SDK
      6. 1.3.6 デバイスドライバキット(DDK)
      7. 1.3.7 Sysinternalsツール
  2. 第2章 システムアーキテクチャ
    1. 2.1 要求と設計目標
    2. 2.2 オペレーティングシステムモデル
    3. 2.3 アーキテクチャ概要
      1. 2.3.1 移植性
      2. 2.3.2 対称型マルチプロセッシング
      3. 2.3.3 スケーラビリティ
      4. 2.3.4 クライアントとサーバー間の違い
      5. 2.3.5 チェックビルド
    4. 2.4 キーシステムコンポーネント
      1. 2.4.1 環境サブシステムとサブシステムDLL
      2. 2.4.2 Ntdll.dll
      3. 2.4.3 エグゼキュティブ
      4. 2.4.4 カーネル
      5. 2.4.5 ハードウェア抽象化層(HAL)
      6. 2.4.6 デバイスドライバ
      7. 2.4.7 システムプロセス
  3. 第3章 Windowsシステムメカニズム
    1. 3.1 トラップディスパッチ
      1. 3.1.1 割り込みディスパッチ
      2. 3.1.2 例外ディスパッチ
      3. 3.1.3 システムサービスディスパッチ
    2. 3.2 オブジェクトマネージャ
      1. 3.2.1 エグゼキュティブオブジェクト
      2. 3.2.2 オブジェクトの構造
    3. 3.3 同期
      1. 3.3.1 高IRQL同期
      2. 3.3.2 低IRQL同期
    4. 3.4 システムワーカスレッド
    5. 3.5 Windowsグローバルフラグ
    6. 3.6 LPC(Local Procedure Call)
    7. 3.7 カーネルイベントトレーシング
    8. 3.8 Wow64
      1. 3.8.1 Wow64プロセスアドレススペースレイアウト
      2. 3.8.2 システムコール
      3. 3.8.3 例外ディスパッチング
      4. 3.8.4 ユーザーコールバック
      5. 3.8.5 ファイルシステムリダイレクション
      6. 3.8.6 レジストリリダイレクションとリフレクション
      7. 3.8.7 I/Oコントロール要求
      8. 3.8.8 16ビットインストーラアプリケーション
      9. 3.8.9 プリント処理
      10. 3.8.10 各種の制限
  4. 第4章 Windows管理メカニズム
    1. 4.1 レジストリ
      1. 4.1.1 レジストリの表示と変更
      2. 4.1.2 レジストリの使用
      3. 4.1.3 レジストリのデータ型
      4. 4.1.4 レジストリの論理構造
      5. 4.1.5 レジストリ問題のトラブルシューティング
      6. 4.1.6 レジストリの内部
    2. 4.2 Windowsサービス
      1. 4.2.1 サービスアプリケーション
      2. 4.2.2 サービスアカウント
      3. 4.2.3 サービスコントロールマネージャ(SCM)
      4. 4.2.4 サービスのスタートアップ
      5. 4.2.5 開始エラー
      6. 4.2.6 ブート処理とLast Known Goodの受け入れ
      7. 4.2.7 サービスの異常終了
      8. 4.2.8 サービスのシャットダウン
      9. 4.2.9 共有サービスプロセス
      10. 4.2.10 サービスコントロールプログラム(SCP)
    3. 4.3 WMIの概要
      1. 4.3.1 WMIアーキテクチャ
      2. 4.3.2 プロバイダ
      3. 4.3.3 CIMとMOF
      4. 4.3.4 WMI名前空間
      5. 4.3.5 クラス関連
      6. 4.3.6 WMIの実装
      7. 4.3.7 WMIセキュリティ
  5. 第5章 スタートアップとシャットダウン
    1. 5.1 ブートプロセス
      1. 5.1.1 x86とx64のプリブート処理
      2. 5.1.2 x86/x64ブートセクタとNtldr
      3. 5.1.3 IA64のブートプロセス
      4. 5.1.4 カーネルとエグゼキュティブサブシステムの初期化
      5. 5.1.5 Smss, Csrss, そしてWinlogon
      6. 5.1.6 自動開始されるイメージファイル
    2. 5.2 ブート問題の解決
      1. 5.2.1 前回正常起動時の構成情報
      2. 5.2.2 セーフモード
      3. 5.2.3 回復コンソール
      4. 5.2.4 一般的なブート問題と解決策
    3. 5.3 シャットダウン
  6. 第6章 プロセス,スレッド,そしてジョブ
    1. 6.1 プロセスの内部構造
      1. 6.1.1 データ構造体
      2. 6.1.2 カーネル変数
      3. 6.1.3 パフォーマンスカウンタ
      4. 6.1.4 プロセス関連関数
    2. 6.2 CreateProcessの動作フロー
      1. 6.2.1 ステージ1: EXEを開き,セクションオブジェクトを作成する
      2. 6.2.2 ステージ2: Windowsプロセスオブジェクトを作成する
      3. 6.2.3 ステージ3: Windowsスレッドオブジェクトを作成する
      4. 6.2.4 ステージ4: 新規プロセスの作成をWindowsサブシステムに通知する
      5. 6.2.5 ステージ5: 初期スレッドの実行を開始する
      6. 6.2.6 ステージ6: 新規プロセスのコンテキスト内での初期化処理
    3. 6.3 スレッドの内部構造
      1. 6.3.1 データ構造体
      2. 6.3.2 カーネル変数
      3. 6.3.3 パフォーマンスカウンタ
      4. 6.3.4 スレッド関連変数
      5. 6.3.5 スレッドのライフサイクル
    4. 6.4 スレッド動作の調査
    5. 6.5 スレッドスケジューリング
      1. 6.5.1 Windowsスケジューリング入門
      2. 6.5.2 優先度レベル
      3. 6.5.3 WindowsスケジューリングAPI
      4. 6.5.4 関連ツール
      5. 6.5.5 リアルタイム優先度
      6. 6.5.6 スレッドの状態
      7. 6.5.7 ディスパッチャデータベース
      8. 6.5.8 タイムスライス
      9. 6.5.9 スケジューリングシナリオ
      10. 6.5.10 コンテキスト切り替え
      11. 6.5.11 アイドルスレッド
      12. 6.5.12 優先度ブースト
      13. 6.5.13 マルチプロセッサシステム
      14. 6.5.14 マルチプロセッサスレッドスケジューリングアルゴリズム
    6. 6.6 ジョブオブジェクト
  7. 第7章 メモリ管理
    1. 7.1 メモリマネージャの復習
      1. 7.1.1 メモリマネージャコンポーネント
      2. 7.1.2 内部同期
      3. 7.1.3 メモリマネージャの構成
      4. 7.1.4 メモリ使用状況の調査
    2. 7.2 メモリマネージャ提供サービス
      1. 7.2.1 大きなページと小さなページ
      2. 7.2.2 ページの予約とコミット
      3. 7.2.3 メモリのロック
      4. 7.2.4 割り当て粒度
      5. 7.2.5 共有メモリとマップ度ファイル
      6. 7.2.6 メモリ保護
      7. 7.2.7 実行禁止ページ保護
      8. 7.2.8 コピーオンライト
      9. 7.2.9 ヒープマネージャ
      10. 7.2.10 アドレスウィンドウ拡張(AWE)
    3. 7.3 システムメモリプール
      1. 7.3.1 プールサイズの構成
      2. 7.3.2 プール使用量の監視
      3. 7.3.3 ルックアサイドリスト
      4. 7.3.4 ドライバ検証ツール
    4. 7.4 仮想アドレス空間のレイアウト
      1. 7.4.1 x86ユーザーアドレス空間レイアウト
      2. 7.4.2 x86システムアドレスっ空間レイアウト
      3. 7.4.3 x86セッション空間
      4. 7.4.4 システムページテーブルエントリ(PTE)
      5. 7.4.5 64ビットアドレス空間レイアウト
    5. 7.5 アドレス変換
      1. 7.5.1 x86仮想アドレス変換
      2. 7.5.2 変換ルックアサイドバッファ
      3. 7.5.3 物理アドレス拡張(PAE)
      4. 7.5.4 IA64仮想アドレス変換
      5. 7.5.5 x64仮想アドレス変換
    6. 7.6 ページフォールト処理
      1. 7.6.1 無効PTE
      2. 7.6.2 プロトタイプPTE
      3. 7.6.3 ページインI/O
      4. 7.6.4 ページフォールトの衝突
      5. 7.6.5 ページファイル
    7. 7.7 仮想アドレス記述子
    8. 7.8 セクションオブジェクト
    9. 7.9 ワーキングセット
      1. 7.9.1 デマンドページング
    10. 7.10 ロジカルプリフェッチャ
      1. 7.10.1 メモリ配置ポリシー
      2. 7.10.2 ワーキングセットの管理
      3. 7.10.3 バランスセットマネージャとスワッパ
      4. 7.10.4 システムワーキングセット
    11. 7.11 ページフレーム番号(PFN)データベース
      1. 7.11.1 ページリストと状態繊維
      2. 7.11.2 変更ページライタ
      3. 7.11.3 PFNデータ構造体
      4. 7.11.4 メモリ通知