Web で公開されている John Kubiatowicz (Prof. Kuby) による OS に関する UC Berkley Video レクチャーで、彼は、TLB ヒットは対応するページがメイン メモリにあることを意味しないと述べました。ページ フォールトは引き続き発生する可能性があります。
技術的には、TLB はページ テーブル エントリのキャッシュであり、すべてのページ テーブル エントリは対応するページをメイン メモリで使用できるわけではないためです。同じことが TLB にも当てはまります。TLB ヒットは、ページ フォールトにつながる可能性があります。
しかし、テキストブックに記載されているアルゴリズムによると、そのようなケースを見つけることができません。TLB ミス カーネルでは、ページ テーブルを参照し、適切なアドレス変換のために TLB キャッシュを更新します。次の TLB ヒットでページ フォールトが発生することはありません。カーネルがページをスワップアウトすると、そのページ テーブル エントリの適切なビットが更新され、対応する TLB が無効になります。そのため、ページがメイン メモリにロードされるまで、次回は TLB がヒットすることはありません。
誰かが kuby 教授の主張の正しさを支持し、TLB ヒット (TLB で見つかった対応する仮想アドレスの変換された物理アドレス) の代わりに、ページ フォールトが発生する可能性があるケースを指摘できますか?