知識マップ: Windows I/Oの深層(第5回) ── NTFSの内部構造:MFTから理解するファイルシステム

記事「Windows I/Oの深層(第5回) ── NTFSの内部構造:MFTから理解するファイルシステム」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

NTFSの中心はMFT(マスターファイルテーブル)で、全ファイルがMFT内のレコードとして台帳管理されます。小さいデータはレコード内に常駐し、大きいデータはクラスター列(データラン)への参照だけを持つ非常駐になり、これが小ファイル大量処理の遅さや断片化の正体です。複数データストリーム・ハードリンク・8.3短縮名はいずれも「属性の集合」という同じ仕組みの応用で、リパースポイントはシンボリックリンクからOneDriveのファイルオンデマンドまでを支える「開く」への公式フックです。$LogFileが守るのは構造の整合性であり、データ内容の耐久性は第4回のキャッシュ制御の道具で別途作り込む必要があります。

NTFS内部構造とMFTの知識マップNTFS、MFT、ファイルレコード、常駐・非常駐属性、データラン、断片化、複数データストリーム、Zone.Identifier、ハードリンク、8.3短縮名、リパースポイント(シンボリックリンク・ジャンクション・OneDriveファイルオンデマンド)、$LogFileとUSNジャーナル、スパースファイルとNTFS圧縮の関係を示す図利用する利用する前提とする軽減する利用する利用する両立しない利用する原因になり得るで確認できる利用するに保存されるで確認できるで確認できる原因になり得る利用する前提とする利用するで構成できる利用するで確認できる実装を担う実装を担う実装を担う利用する防止する利用する利用するで確認できる利用する原因になり得る利用する原因になり得る両立しないで確認できるNTFSMFT(マスターファイルテーブル)MFTファイルレコードMFTゾーン断片化(NTFS)常駐属性(resident)非常駐属性(non-resident)データランfsutil代替データストリーム(ADS)Zone.Identifier(Mark of the Web)streams(Sysinternals)論理サイズとディスク使用量の乖離ハードリンク8.3短縮名リパースポイントシンボリックリンクジャンクション(マウントポイント)OneDriveのファイルオンデマンド$LogFile(NTFSトランザクションログ)ボリューム破損キャッシュマネージャーUSNジャーナル(変更ジャーナル)スパースファイルNTFS圧縮非同期I/OProcess Monitor(procmon.exe)

概念間の関係(全35件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

NTFS
現行のWindowsが標準で使うファイルシステム。MFT(マスターファイルテーブル)などの構造でボリューム上のファイルを管理する。
MFT(マスターファイルテーブル)
NTFSボリューム上のすべてのファイルについて少なくとも1つのエントリ(ファイルレコード)を持つ、NTFSの中心的な台帳。MFT自身のエントリも含まれる。
MFTゾーン
MFTを連続的に保つためにボリューム上にあらかじめ予約される領域。ボリュームが埋まってくると予約が食われ、MFT自体の断片化が始まる。
MFTファイルレコード
MFT内の1ファイルぶんのエントリ。標準情報・ファイル名・セキュリティ・データなどの属性のリストとして構成される。
常駐属性(resident)
データ本体がMFTファイルレコード内に直接収まる格納形式。数百バイト程度までの小さいデータで使われ、読み出しはMFTアクセスだけで完結する。
非常駐属性(non-resident)
ファイルレコードには「クラスター列への参照(データラン)」だけが記録され、実データはMFT外のユーザーデータ領域に置かれる格納形式。大きいデータで使われる。
データラン
非常駐属性が持つ、「どこから何クラスター」という連続クラスター区間の並びを表す情報。数が増えるほど断片化が進む。
断片化(NTFS)
ファイルのデータランが連続領域として取れず複数箇所に分散し、読み出しに必要なシークが増える現象。
Zone.Identifier(Mark of the Web)
ブラウザーなどでダウンロードしたファイルに付与される代替データストリーム。ファイルの出所(インターネット由来など)を記録し、SmartScreenや保護ビューの判定材料になる。
代替データストリーム(ADS)
NTFSの1ファイルが持てる、名前のない既定ストリーム以外の追加のデータストリーム。「ファイル名:ストリーム名」の構文で読み書きする。
ハードリンク
同一ボリューム内で、複数のパスが単一のファイル(同じMFTレコード)を参照するファイルシステム上の表現。CreateHardLinkやmklink /Hで作成する。
8.3短縮名
歴史的互換性のためNTFSが長いファイル名に対して自動生成できる、REPORT~1.DOCのような形式の短縮名。
リパースポイント
ファイルやディレクトリに付けられる「タグ+ユーザー定義データ」という属性。ファイルシステムが開こうとした際に、タグに応じた処理へ乗っ取られる公式のフック。
シンボリックリンク
別のファイルやディレクトリへのリンク先パスを保持し、透過的なリダイレクトとして機能するリパースポイント。別ボリュームやリモートパスも指せる。
ジャンクション(マウントポイント)
ディレクトリを別のローカルボリュームの位置へつなぐ、古参のリパースポイント応用の仕組み。
OneDriveのファイルオンデマンド
実データが手元にないクラウド上のファイルをプレースホルダー(リパースポイント)としてローカルに見せ、アクセス時にクラウドフィルターが実体を取得する仕組み。
$LogFile(NTFSトランザクションログ)
NTFSのメタデータ操作を実行前に記録する先行ログ。システム障害後の次回起動時に再生され、ファイルシステムの構造的な整合性を自動回復する。
USNジャーナル(変更ジャーナル)
ボリューム内のファイル・ディレクトリへの変更のたびに、変更内容と対象の名前を記録する台帳。バックアップや検索インデクサーが全走査なしで差分を把握するために使う。
スパースファイル
ゼロが続く範囲に実領域を割り当てず「穴」として管理するファイル。論理サイズが実際の割り当てより大きく見える。
NTFS圧縮
データを圧縮ユニット単位で圧縮して格納するNTFSの透過的な圧縮機能。読み書きのたびに展開・再圧縮のコストが伴う。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。