用户和内核页面

时间:2013-10-03 18:27:17

标签: linux-kernel kernel

是否有人知道如果有办法找出物理页面是用户页面还是内核页面。内核页面始终在内核中访问,不可供用户进程使用。

1 个答案:

答案 0 :(得分:3)

基本上,如果有问题的地址高于低mem范围,它实际上就是用户地址(内存)。内核只能使用低内存,它总是保留给内核使用。 cat / proc / meminfo将为您提供有关内存分区的详细信息。

如果您想以编程方式执行此操作,

find_vmap_area(addr);

此函数获取您的地址并返回vmarea结构。获得vmarea结构后,可以查找标志

area->flags |= VM_USERMAP;

如果设置了此标志,则为其用户地址。

这是一种做法。可能有更好的方法,甚至可以有一个功能来完成所有这些。事实上,我依稀记得看到一个。虽然,现在找不到。