私はそのデータに対する将来の要求がより速く処理されるようにデータを格納するためにキャッシュが使用されることを理解しています。現在のコンピュータアーキテクチャには、一般的に、L1、L2、およびL3の3つのレベルのキャッシュがある。キャッシュハードウェアを表示できます。
また、IOストリームをソートするために使用されるバッファについても聞きました。しかし、バッファがどのハードウェアを使用しているのかわかりません。ただ覚えてる?
たとえば、Linuxシステムでは、free -m
キャッシュ/バフの使用量が表示されることがあります。
私が正しい場合、buff/cache
キャッシュサイズ+バッファサイズが表示されます。それでは、キャッシュのサイズはL1、L2、L3キャッシュから出てくるでしょうか?しかし、バッファサイズはどうですか?バッファはどのハードウェアを使用しますか?
ベストアンサー1
ここでは2つの概念を混同しています。 L1/2/3キャッシュは、プロセッサ(例:ハードウェアとそのファームウェア/マイクロコード)カーネルは(通常)これを制御できません。参照されるキャッシュとバッファはfree
カーネルによって管理され、RAMに配置されます。しかし、その一部可能プロセッサキャッシュにありますが、オペレーティングシステムの機能には重要ではありません。