著者が本でバッファキャッシングについて話すとき -UNIXオペレーティングシステムの設計、もちろん
バッファは常にハッシュキューにありますが、利用可能なリストにある場合とそうでない場合があります。
まったく使用されない可能性のある使用可能リストのバッファはどうですか?彼らは単に無料リストの一部ではありませんか?
本で紹介されているデータ構造は、議論されたものと似ています。ここ
この本では、UNIX System Vについて説明します。
答え1
「バッファ内のバッファはどうですか?無料リストまったく使用されていない可能性がありますか?それはまさに彼らではありませんか?無料リストの一部? 」
私はあなたの質問に答えたと信じています!同じテキストから:
「システムが起動すると、各バッファは使用可能リストに配置されます。」
「…無料リストにあるかもしれないし、ないかもしれません。」
無料なのでシステムが初期化されたら無料リストに登場!ただし、システムがバッファを消費し、それを使用するためにハッシュキューに入れてから再利用可能リストに戻す場合は、そうでない可能性があります。
ハッシュキューは「はい、これを見て何らかの方法で使用しました」と言うのと似ていますが、必ずしもバッファキューで処理されたという意味ではありません。
表現が少し混乱しているので、引用したテキストを掘り下げる必要があります。明確にするために40/41ページを見ています。
答え2
空きリストは、バッファキャッシュからロック解除されたバッファと利用可能なバッファを取得するアルゴリズムです。このデータ構造は主にバッファ書き込みに使用されます。書き込みには任意のバッファを選択でき、読み取りには特定のバッファが必要なためです。
これで、利用可能なリスト内のすべてのバッファは空ではないかもしれませんが、確かにロック解除されています。さらに、すべてのバッファはハッシュキューにありますが、利用可能なリストにはありません。
これは、インストール時に管理者にキューの数を要求し、すべてのバッファをこれらのキューに入れることを決定するためです。したがって、システムはハッシュキュー内のすべてのバッファを一覧表示する必要があります。