有没有人知道,如果有一种方法可以确定物理页面是用户页面还是内核页面。内核页面总是在内核中被访问,并且对用户进程不可用。
发布于 2013-10-04 03:30:18
基本上,如果有问题的地址高于低内存范围,它实际上就是用户地址(内存)。内核只能使用低内存,并且总是保留给内核使用。cat /proc/meminfo将提供有关内存分区的详细信息。
如果您希望以编程方式完成此操作,
find_vmap_area(addr);此函数接受您的地址并返回vmarea结构。当您获得vmarea结构时,您可以查找标志
area->flags |= VM_USERMAP;如果设置了此标志,则为其用户地址。
这是一种方法。可以有更好的方法,甚至可以有一个函数来完成所有这些任务。事实上,我依稀记得我见过一个。不过,现在找不到了。
https://stackoverflow.com/questions/19166506
复制相似问题