BOOK Preview

インサイドMicrosoft Windows 第4版 下

第10章 ストレージ管理

10.1 ストレージ関連用語
10.2 ディスクドライバ
10.2.1 Ntldr

マイクロソフトプレスの書籍紹介ページ
書籍情報のページ
2005/10/25

 本コーナーは、Windowsシステム管理者向けの書籍から、主要なチャプターをそのまま転載し、その内容を紹介するものです。

 今回ご紹介する『インサイドWindows 第4版』は、Windowsオペレーティング・システムの内部を詳細に解説した決定版です。Windowsカーネルの内部について、ここまで詳しく解説した情報はほかにありません。

 著者の1人であるデビット・ソロモン氏は、Windows NTの開発リーダーだったデビット・カトラー氏とは旧知の仲で、本書の前々版(『インサイドWindows NT 第2版』)を執筆するにあたり、Windowsカーネルのソースコードにアクセスする許可をカトラー氏から与えられました。それだけでなく、デビッド・カトラー氏は、本書の一部(プロセス管理の部分)について、技術校閲も担当しています。

 またもう1人の筆者であるマーク・ルシノビッチ氏は、Windowsオペレーティング・システムの機能を縦横に駆使したツール開発者として著名で、前出のカトラー氏も一目置く存在です。「かゆいところに手が届く」彼のツールは、多くのWindowsエンジニアにとって不可欠な存在となっています(フリー・ツールの入手先はこちら:SysInternals)。

 つまり本書は、Windowsコア・システムの開発責任者と、OS解説のエキスパートが、二人三脚で執筆し、Windowsの歴史とともに改版を重ねてきた希有な書籍なのです。今回の第4版では、Windows XPとWindows Server 2003に加えられたカーネルの変更点や、Windowsの64bitサポートなどについて加筆されています。情報システムの設計者やシステム管理者など、作り手や管理者としてWindowsシステムに接する必要があるなら、本書にまとめられた情報が仕事の随所で役立つはずです。

 本稿は、Windowsの内部構造や仕組みを解説した名著で最新の第4版です。Windows 2000、Windows XP、そしてWindows Server 2003に対応し、マルチプロセッサ、64ビットWindowsまで網羅しています。下巻は、Windowsのセキュリティ構造、I/Oシステムのコンポーネント、ストレージ管理、キャッシュマネージャの主な特徴について、さらにWindowsのファイルシステムとネットワーク構造、クラッシュダンプ解析について詳細に解説しています。

 なお、書籍の詳細については書籍情報のページをご覧ください。

ご注意:本記事は、書籍の内容を改訂することなく、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

 ストレージ管理は、オペレーティングシステムと不揮発性ストレージデバイスや媒体とのインターフェイスを定義しています。「ストレージ」という用語は、テープドライブ、光学式媒体、CD ドライブ、フロッピーディスク、ローカルハードディスク、SAN(Storage area network)などのさまざまなデバイスを含んでいます。Microsoft Windows は、これらのストレージ媒体のそれぞれに対して個別のサポート機能を提供しています。本書の焦点は、Windowsのカーネルコンポーネントに置かれていますから、本章では、Windowsのハードディスクストレージサブシステムの基本を取り上げることにします。取り外し可能な媒体やリモートストレージ(オフラインアーカイブ)の重要なサポートコードは、ユーザーモードに実装されています。

 本章では、カーネルモードデバイスドライバ、システムドライバ、ディスク媒体の相互関係、ディスクパーティション、ボリュームマネージャの動作、およびWindowsに実装されているマルチパーティションディスク管理機能を詳述します。マルチパーティションディスク管理機能は、ファイルシステムデータを複数の物理ディスク間で複製/分割し、信頼性とパフォーマンスを向上させています。本章の最後では、ファイルシステムドライバとボリュームのマウントについても説明します。

10.1 ストレージ関連用語

 本章を理解するには、次のような基本用語の意味を理解しておく必要があります。

  • ディスク ― ハードディスク、3.5インチフロッピーディスク、あるいはCD-ROMなどの物理的なストレージデバイス

  • セクタ ― ディスクの分割単位。セクタは、ハードウェアが決める固定サイズであり、アドレス可能なブロックです。ほとんどのハードディスクセクタは512バイトであり、CD-ROMセクタは基本的には2048バイトになっています。

  • パーティション ― ディスク上の連続したセクタの集合。パーティションテーブルや他のディスク管理データベースは、パーティションの開始セクタ、そのサイズ、および他の特徴を記憶し、パーティションとして同一ディスク上に置かれます。

  • シンプルボリューム ― ファイルシステムドライバが1つの単位として管理する、1個のパーティション内のセクタを表現するオブジェクト

  • マルチパーティションボリューム ― ファイルシステムドライバが1つの単位として管理する、複数のパーティション内のセクタを表現するオブジェクト。マルチパーティションボリュームは、シンプルボリューム以上のパフォーマンス、信頼性、および処理データ量を提供します。

10.2 ディスクドライバ

 特定のストレージデバイスを管理するデバイスドライバは、集合的にストレージスタックと呼ばれています。図10-1は、スタックを構成する個々のドライバタイプとそれぞれの簡単な説明です。本章では、ファイルシステム以下のデバイスドライバの動作を説明します。ファイルシステムドライバ自体は、第12章で取り上げます。

図10-1 Windowsストレージスタック

10.2.1 Ntldr

 第4章で触れたように、NtldrはWindowsブートプロセスの初期の段階を引き受けるWindowsオペレーティングシステムファイルです。Ntldrは、技術的にはストレージスタックの一部ではありませんが、実は、ストレージ管理に関係するファイルです。このファイルは、WindowsI/Oシステムが動作可能となる以前に、ディスクデバイスにアクセスする機能をサポートしています。Ntldrはシステムボリューム上に置かれ、システムボリューム上のブートセクタコードがNtldrを実行します。Ntldrは、システムボリュームからBoot.iniファイルを読み込み、ブートオプションをユーザーに表示します。Boot.ini内に定義されているパーティション名は、multi(0)disk(0)rdisk(0)partition(1)となってます。これらの名前は、Alphaファームウェアと他のRISCプロセッサが採用する標準的なパーティション命名スキームであり、ARC(Advanced RISC Computing)名です。Ntldrは、ユーザーが選択するBoot.iniのブートエントリの名前を適切なブートパーティションに変換し、Windowsシステムファイル(レジストリ、Ntoskrnl.exe、およびブートドライバ)をメモリにロードし、ブート処理を続行します。Ntldrは、コンピュータファームウェアを使って、システムボリュームを含むディスクを読み取りますが、第4章で説明したように、ブートボリュームディスクから読み出すために、ディスクミニポートドライバ内の機能を呼び出すこともあります。

 

 INDEX
  インサイドMicrosoft Windows 第4版 下
  第10章 ストレージ管理
  10.1 ストレージ関連用語/10.2 ディスクドライバ/10.2.1 Ntldr
    10.2.2 ディスククラス、ポート、およびミニポートドライバ/10.2.3 ディスクデバイスオブジェクト/10.2.4 パーティションマネージャ
    10.3 ボリューム管理/10.3.1 基本ディスク
    10.3.2 ダイナミックディスク
    10.3.3 マルチパーティションボリューム管理
    10.3.4 ボリューム名前空間NEW!
    10.3.5 ボリュームI/O処理/10.3.6 仮想ディスクサービス(VDS)/10.3.7 ボリュームシャドウコピーサービス/まとめNEW!
 
インデックス・ページヘ  「BOOK Preview」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間