1

サイズが 5 MB のファイルがあるとします。私はそれを C の書き込みモードで開き、ちょうど 5 MB のジャンク データでいっぱいにします。以前に使用された同じディスク セクターが上書きされますか、それとも OS が新しいデータ用に新しいディスク セクターを選択しますか?

4

2 に答える 2

4

ファイルシステムに依存します。

古典的には、答えは「はい、同じセクターが新しいデータで上書きされます」です。

ジャーナリングされたファイル システムでは、答えが異なる場合があります。フラッシュ ドライブ システムの場合、答えはほぼ間違いなく「いいえ」です。現在書き込まれているセクターが消耗するのを避けるために、新しいセクターが書き込まれます。

于 2012-01-08T05:07:49.980 に答える
3

ファイルシステムは、それが望むことは何でもできます。しかし、実際のファイル システムは、データを同じセクターに書き戻します。

なかったら画像。ファイルに書き込むたびに、ファイル システムは新しい空きセクタを見つけ、そのセクタに書き込み、ファイルのファイル システム メタ データを更新して新しいセクタを指すようにする必要があります。連続した 5MB ファイルの途中に 1 つのセクタを書き込むと、ファイルが断片化されるため、これは恐ろしいファイルの断片化も引き起こします。したがって、同じセクターに書き戻す方がはるかに簡単です。

私が思いつく唯一の例外はJFFS2です。これは、フラッシュでのウェア レベリングをサポートするように設計されているためです。

これで、ファイル システムは同じセクターに書き込みますが、ディスク ハードウェアは必要な場所に書き込むことができます。実際、SSD/フラッシュ ドライブでは、ハードウェアがウェア レベリングを処理するために、データを別のセクターに書き込むことがほぼ保証されています。しかし、それは OS/ファイル システムに対して透過的です。(セクタースペアリングにより、ハードドライブでも可能です)

于 2012-01-08T05:15:52.793 に答える