私はそれが実行されているシステム上でページサイズを必要とするコードを書いています。 sysconfはそのトリックを行いますが、それがサポートされている場合に限ります。x86プロセッサには最小ページサイズはありますか?
質問:動的にページサイズを問い合わせることができないシステムで自分自身が見つかった場合、すべてのx86プロセッサで保持されるページサイズの保証下限はありますか?
私はそれが実行されているシステム上でページサイズを必要とするコードを書いています。 sysconfはそのトリックを行いますが、それがサポートされている場合に限ります。x86プロセッサには最小ページサイズはありますか?
質問:動的にページサイズを問い合わせることができないシステムで自分自身が見つかった場合、すべてのx86プロセッサで保持されるページサイズの保証下限はありますか?
また、それがカーネルにハードコードされたようにsysconfよりもわずかに高い信頼性で動作するはず
$ getconf PAGE_SIZE
を使用することができます。
ケース(?)の99.9%で見つかる最小サイズはですが、これもほとんど普遍的なデフォルトサイズであるはずです。 386プロセッサー以来、私の理解に至っています。
最小サイズはです。 x86上のページテーブルエントリが4096バイトより小さなものを指すことは不可能です。
x86の場合、最小ページサイズは4096バイト、ピリオドです。より小さなものは一度もなく、おそらく決して存在しないでしょう。プロセッサのデータ構造(ページテーブルエントリなど)が多すぎると、ページのアドレスの最下部にある12ビットがクリアであると仮定します。 –
"カーネルにハードコードされている"とはどういう意味ですか? – joshlf
MMU **と** OSの実装によります。 – 0andriy