ファイルは常に$ BLOCKSIZE単位でキャッシュされますか?

ファイルは常に$ BLOCKSIZE単位でキャッシュされますか?

4KBブロックサイズが与えられた場合、1KBファイルをディスクから読み込み、メインメモリにキャッシュするときに、そのファイルを含む4KBブロック全体がキャッシュされますか?

同様に、100 KBファイルを開き、その中で50 KBを見つけてから1 KBのデータを読み取ると、完全なファイルではなく1 KBの読み取ったデータを含む4 KBのブロックのみがメインメモリにキャッシュされますか?

私はext4ファイルシステムを想定していますが、それに固執しません。

ベストアンサー1

はい。

権威あるLinuxページキャッシュの基本状態

文書彫刻ページキャッシュは、書き込み中だけでなくファイルを読み込むときにも書き込まれます。

そして

自動的にファイルを保存彫刻ページキャッシュでは一般に非常に有利です。

これは、次のようにブロックベースのファイルシステム(たとえば、ccfs、ext?、gfs、ifs、xfs)で機能します。彼の写真。これも確認されましたページキャッシュ、メモリ、ファイルの関係、これは次のように明確に説明されています。

ファイルから単一バイトを読み取ると、要求されたバイトを含む4KBのブロック全体がディスクから読み取られ、ページキャッシュに配置されます。

Webページの3番目の段落では、ファイル全体ではなくメインメモリにキャッシュされた1KBデータを含む4KBブロックのみが読み取られることを確認します。

おすすめ記事