@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

前回のアクセス時刻

Google で検索したら発見できたので、引用しておきます。

【Fsutil : behavior、disablelastaccess {1|0} を使用する】より引用ここから
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/fsutil_behavior.asp

NTFS ボリュームのファイルとフォルダには、それぞれ、"前回のアクセス時刻" という属性が含まれています。この属性は、ユーザーがフォルダを一覧表示したとき、ファイルをフォルダに追加したとき、ファイルを読み取ったとき、ファイルを変更したときなど、ファイルまたはフォルダが最後にアクセスされた時刻を定義します。最新の "前回のアクセス時刻" は、メモリに格納され、最終的にはディスク上の異なる 2 か所に書き込まれます。1 か所はファイルの属性で、これはこのファイルの MFT レコードの一部です。もう 1 か所は、ファイルが含まれているディレクトリのインデックスです。

ディスク上の "前回のアクセス時刻" は、最新でない場合があります。この時間差は、フォルダの内容の一覧表示やフォルダのファイルの読み取り (変更なし) など、ユーザーまたはプログラムがファイルまたはフォルダに対して読み取り専用操作を実行しているときに、NTFS が "前回のアクセス時刻" のディスクへの書き込みを遅らせるために発生します。読み取り操作のたびにディスクの "前回のアクセス時刻" を最新に維持すると、すべての読み取り操作が書き込み操作になるため、NTFS のパフォーマンスに影響を与えます。

すべてのディスク上の値が最新でなくても、ファイル ベースで照会した "前回のアクセス時刻" は正確です。正確な値はメモリに格納されているため、NTFS では照会に対して最新の値が返されます。

NTFS は、通常、メモリ上にある最新の "前回のアクセス時刻" とディスクに格納されている "前回のアクセス時刻" が 1 時間以上異なるか、そのファイルへのすべてのメモリ内参照がなくなるかのどちらかが発生した場合に、ディスク上のファイルの属性を更新します。たとえば、ファイルの現在の "前回のアクセス時刻" が午後 1 時で、そのファイルを午後 1 時 30 分に読み取った場合、"前回のアクセス時刻" は更新されません。同じファイルを午後 2 時に読み取ると、ファイルの属性の "前回のアクセス時刻" が午後 2 時を反映するように更新されます。これは、ファイルの属性が午後 1 時を示し、メモリ上の "前回のアクセス時刻" が午後 2 時を示しているためです。

NTFS は、ファイルの "前回のアクセス時刻" を更新したときに、ディレクトリのインデックスに格納されている "前回のアクセス時刻" と 1 時間以上異なっていることを検出し、ファイルが含まれているディレクトリのインデックスを更新します。この更新は、通常、プログラムがディレクトリ内のファイルにアクセスするために使っているハンドルを閉じた後に発生します。ユーザーが長時間ハンドルを保持したままにしていると、ディレクトリのインデックス エントリに変更が反映される前に、時間差が生じます。

NTFS でディスク上の "前回のアクセス時刻" の更新を遅らせることができる最大時間は、1 時間です。NTFS が、"前回の更新時刻" などの他のファイル属性を更新するときに、"前回のアクセス時刻" の更新が保留されていると、他の更新と同時に "前回のアクセス時刻" も更新されます。この場合は、パフォーマンスへの影響はありません。

引用ここまで
いやぁみつかってよかったよかった(笑)
しかし、Last Access Time を"前回のアクセス時刻" と訳されるとわかりにくいきがするのは私だけでしょうか?