出版社内容情報
Windows 2000の内部構造について解説した技術書です。上巻の第1章ではWindows2000の概念、専門用語や内部構造を学ぶ上で重要な情報を提供するリソースキットツールやサポートツールのなどツール類について詳しい説明がされており、Windows 2000をこれから深く学ぼうという読者にもおすすめできます。第2章からは、Windows 2000の設計、アーキテクチャ構造からマシンのスタートアップやシャットダウン時の問題対処の方法、Windows 2000のレジストリ管理、さらにはプロセス、スレッド、ジョブの仕組みやメモリ管理にいたるまで実際に内部構造を見ることができる実験を交えながら詳細に解説しています。難解な内容を平易な文章と、数多くの表や画像、詳しい図を交えながら解説しているため、飽きることなく理解を深めていくことができます。Windows 2000の内部構造について、より深い知識を得たい読者に最適の一冊です。
[目次詳細]
第1章 概念とツール
1.1 基本概念と用語
1.1.1 Win32 API
1.1.2 サービス、関数、ルーチン
1.1.3 プロセス、スレッド、ジョブ
1.1.4 仮想記憶
1.1.5 カーネルモードとユーザーモード
1.1.6 オブジェクトとハンドル
1.1.7 セキュリティ
1.1.8 レジストリ
1.1.9 Unicode
1.2 Windows 2000の内部構造
1.2.1 付属CD-ROMのツール
1.2.2 パフォーマンスツール
1.2.3 Windows 2000サポートツール
1.2.4 Windows 2000リソースキット
1.2.5 カーネルデバッグツール
1.2.6 Platform Software Development Kit(SDK)
1.2.7 Device Driver Kit(DDK)
1.2.8 システム内部ツール
1.3 まとめ
第2章 システムアーキテクチャ
2.1 システム要件と設計目標
2.2 オペレーティングシステムモデル
2.2.1 移植性
2.2.2 対称型マルチプロセッシング
2.2.3 スケーラビリティ
2.3 アーキテクチャの概要
2.4 Windows 2000のプロダクトパッケージ
2.4.1 チェックビルド
2.4.2 マルチプロセッサ固有のシステムファイル
2.5 主要なシステムコンポーネント
2.5.1 環境サブシステムとサブシステムDLL群
2.5.2 Ntdll.dll
2.5.3 Executive
2.5.4 カーネル
2.5.5 ハードウェアアブストラクションレイヤ
2.5.6 デバイスドライバ
2.5.7 ドキュメント化されていないインターフェイス
2.5.8 システムプロセス
2.6 まとめ
第3章 システムのメカニズム
3.1 トラップディスパッチ
3.1.1 割り込みディスパッチ
3.1.2 例外のディスパッチ
3.1.3 システムサービスのディスパッチ
3.2 オブジェクトマネージャ
3.2.1 Executiveオブジェクト
3.2.2 オブジェクトの構造
3.3 同期
3.3.1 カーネルの同期
3.3.2 Executiveの同期
3.4 システムワーカースレッド
3.5 Windows 2000グローバルフラグ
3.6 ローカルプロシージャコール(LPC)
3.7 まとめ
第4章 スタートアップとシャットダウン
4.1 起動プロセス
4.1.1 起動前
4.1.2 ブートセクタとNtldr
4.1.3 カーネルとExecutiveサブシステムの初期化
4.1.4 Smss、Csrss、およびWinlogon
4.2 セーフモード
4.2.1 セーフモードでのドライバの読み込み
4.2.2 セーフモード対応のユーザープログラム
4.2.3 セーフモードでのブートログ
4.3 回復コンソール
4.4 シャットダウン
4.5 システムクラッシュ
4.5.1 Windows 2000がクラッシュする原因
4.5.2 ブルースクリーン
4.5.3 クラッシュダンプファイル
4.6 まとめ
第5章 管理機構
5.1 レジストリ
5.1.1 レジストリのデータ型
5.1.2 レジストリの論理構造
5.1.3 レジストリの内部
5.2 サービス
5.2.1 サービスアプリケーション
5.2.2 サービスアカウント
5.2.3 サービス制御マネージャ
5.2.4 サービスのスタートアップ
5.2.5 スタートアップエラー
5.2.6 起動の承認と最後に認識された正しい制御セット
5.2.7 サービスの障害
5.2.8 サービスのシャットダウン
5.2.9 共有サービスプロセス
5.2.10 サービス制御プログラム
5.3 Windows Management Instrumentation
5.3.1 WMIのアーキテクチャ
5.3.2 プロバイダ
5.3.3 共通情報モデルと管理対象オブジェクトフォーマット言語
5.3.4 WMI名前空間
5.3.5 クラスの関連付け
5.3.6 WMIの実装
5.3.7 WMIのセキュリティ
5.4まとめ
第6章 プロセス、スレッド、ジョブ
6.1 プロセスの内部
6.1.1 データ構造体
6.1.2 カーネル変数
6.1.3 パフォーマンスカウンタ
6.1.4 関連する関数
6.1.5 関連ツール
6.2 CreateProcessの流れ
6.2.1 ステージ1:実行イメージのオープン
6.2.2 ステージ2:Executiveプロセスオブジェクトの作成
6.2.3 ステージ3:初期スレッドの作成とスタックおよびコンテキストの作成
6.2.4 ステージ4:新しいプロセスをWin32サブシステムに通知する
6.2.5 ステージ5:初期スレッドの開始
6.2.6 ステージ6:新しいプロセスのコンテキストでプロセスの初期化を実行する
6.3 スレッドの内部
6.3.1 データ構造体
6.3.2 カーネル変数
6.3.3 パフォーマンスカウンタ
6.3.4 関連する関数
6.3.5 関連ツール
6.4 CreateThreadの流れ
6.5 スレッドスケジューリング
6.5.1 Windows 2000スケジューリングの概要
6.5.2 優先度レベル
6.5.3 Win32スケジューリングAPI
6.5.4 関連ツール
6.5.5 リアルタイム優先度
6.5.6 割り込みレベルと優先度レベル
6.5.7 スレッドの状態
6.5.8 クォンタム
6.5.9 スケジューリングデータ構造
6.5.10 スケジューリングのシナリオ
6.5.11 コンテキストスイッチ
6.5.12 アイドルスレッド
6.5.13 優先度ブースト
6.6 ジョブオブジェクト
6.7 まとめ
第7章 メモリ管理
7.1 メモリマネージャのコンポーネント
7.1.1 メモリマネージャの構成
7.1.2 メモリ使用状況の検査
7.2 メモリマネージャが提供するサービス
7.2.1 ページの予約とコミット
7.2.2 メモリのロック
7.2.3 アロケーショングラニュラリティ
7.2.4 共有メモリとマップトファイル
7.2.5 メモリの保護
7.2.6 コピーオンライト
7.2.7 ヒープ関数
7.2.8 Address Windowing Extensions
7.3 システムメモリプール
7.3.1 ルックアサイドリスト
7.3.2 Driver Verifier
7.4 アドレス空間のレイアウト
7.4.1 ユーザーアドレス空間のレイアウト
7.4.2 システムアドレス空間のレイアウト
7.5 アドレス変換
7.5.1 仮想アドレスの変換
7.5.2 ページディレクトリ
7.5.3 プロセスとシステムページテーブル
7.5.4 ページテーブルエントリ
7.5.5 ページのバイト
7.5.6変換ルックアサイドバッファ
7.5.7 物理アドレス拡張
7.6 ページフォールトの取り扱い
7.6.1 無効PTE
7.6.2 プロトタイプPTE
7.6.3 インページングI/O
7.6.4 コライデッドページフォールト
7.6.5 ページファイル
7.7 仮想アドレス記述子
7.8 ワーキングセット
7.8.1 ページングポリシー
7.8.2 ワーキングセット管理
7.8.3 バランスセットマネージャとスワッパー
7.8.4 システムワーキングセット
7.9 ページフレームナンバーデータベース
7.9.1 ページリストの遷移
7.9.2 変更済みページライター
7.9.3 PFNデータ構造
7.10 セクションオブジェクト
7.11 まとめ
索引
内容説明
Windows2000のしくみを詳細に説明した必携の書。プロセス、スレッド、ジョブを扱うデータ構造とアルゴリズムについて、丁寧に解説。
目次
第1章 概念とツール
第2章 システムアーキテクチャ
第3章 システムのメカニズム
第4章 スタートアップとシャットダウン
第5章 管理機構
第6章 プロセス、スレッド、ジョブ
第7章 メモリ管理
著者等紹介
ソロモン,ディビット・A.[Solomon,David A.]
David Solomon Expert Seminars社代表。1992年以来、Microsoft Windows NTとMicrosoft Windows 2000の内部構造およびシステムプログラミングについてのセミナーを開講。顧客リストには、Microsoft社をはじめ、主要なソフトウェアおよびハードウェア企業すべてが名を連ねている。Digiatl Equipment Corporationの顧問ソフトウェアエンジニア時代に、VMSオペレーティングシステム開発グループでプロジェクトリーダーおよび開発者として9年以上勤務。その後、VMSの顧客ベースにWindows NTを普及させることに専念するためにDECを退社。VMSに精通したプログラマとシステム管理者にWindows NTを説明する自分の最初のセミナーに基づき、最初の著作「Windows NT for Open VMS Professionals」(’96年)を著す。セミナーの立案と講義の仕事に加えて、Microsoft TechEd、Microsoft PDC、WinDev、Software Developmentなどの業界イベントのレギュラー講演者でもある。いくつかのWindows NT会議のテクニカル議長職もこなしてきた。Windows 2000の研究以外の趣味は、ヨット、読書、「宇宙大作戦」と「スタートレック」
ルシノビッチ,マーク・E.[Russinovich,Mark E.]
Microsoft Windows NT、Windows 2000、およびコンシューマWindows向けの高度なシステムソフトウェアを専門に扱うWinternals Software社のチーフソフトウェアアーキテクトおよび共同設立者。Dr.Dobb’s JournalおよびWindows 2000 Magazineの寄稿編集者の1人で、Windows 2000 Magazineのマンスリーコラム「Internals」を担当。WinDev、Software Development、WinSummitなどの主要業界会議で、Windows 2000の内部構造や、デバイスドライバ/ファイルシステムドライバの開発について講演することも多い。コンピュータエンジニアリング分野におけるカーネギーメロン大学の理学士号とRennselear Polytechnic Instituteの理学修士号を持つ。1994年には、やはりコンピュータエンジニアリングの分野でカーネギーメロン大学の博士号を取得。NuMega Technologies(現在はCompuware NuMega Laboratories)で短期間勤務した後、ニューヨークにあるIBMのThomas J.Watson研究センターに2年半在籍し、カーネルモードWebサーバ/アクセラレータ技術の研究と開発に従事。いつもアクセスで混み合うSysiternals Webサイトの創設者で、Filemon、Regmon、NTFSDOS(MS-DOS用NTFSファイルシステムドライバ)、HandleExなど、Windows 2000およびコンシューマWindows向けの多数の人気フリーウェアツールの作者(共作者)でもある。ツールの作成とWindows 2000の内部構造研究以外の趣味は、ハイキング、バイク、妻Susanとの映画鑑賞、スポーツカーの運転
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。