2017-05-29 72 views
0

我正在写一些代码,它需要在正在执行的系统上的页面大小。 sysconf将做的伎俩,但只有它的支持。在任何x86处理器上是否存在最小页面大小?

我的问题是这样的:如果我发现自己在一个不能动态查询页面大小的系统上,是否有保证所有x86处理器的页面大小的下限?

回答

1

您还可以使用

$ getconf PAGE_SIZE 

应该比略的sysconf更高的可靠性工作,因为它是硬编码到内核。

我相信在99.9%的情况下(?)可以找到的最小尺寸是,这也应该是几乎普遍的默认尺寸。据我了解,自386处理器以来一直如此。

+0

对于x86,最小页面大小为4096字节,句点。从来没有更小,可能永远不会。处理器的太多数据结构(例如页面表条目)假设页面地址底部的12位将清除。 –

+0

“硬编码到内核”是什么意思? – joshlf

+0

这取决于MMU **和** OS的实现。 – 0andriy

1

最小尺寸为。 x86上的页表项不可能指向小于4096字节的任何内容。