在Linux中,是否可能所有页面都属于用户模式进程或正在运行的内核模式模块进入磁盘?

时间:2014-02-21 19:58:42

标签: linux-kernel operating-system kernel linux-device-driver

我正在开发一个内核模式模块,它读取RAM中可用的整个页面。我想知道我是否从我创建的RAM映像中获取进程和内核模块的列表,是否可能无法获取应用程序的跟踪,因为它的所有页面都已转到磁盘?如果不是,那么应用程序的任何特定部分(用户模式和内核模式)永远不会被分页?

2 个答案:

答案 0 :(得分:0)

内核中肯定有部分内容永远无法被分页:例如,分页代码。除非进程已将页面锁定在内存中,否则可以分页整个进程。

答案 1 :(得分:0)

因为内核在 real 内存中运行,所以无法分页或交换内核的任何部分。分页和交换是虚拟内存管理中的术语,仅适用于在用户空间中运行的程序。

可加载的内核模块(LKM)一旦加载,便成为内核的一部分,所以不能,它们不能分页或交换。

但是,回答您的问题,是的,可以想象在用户空间中运行的进程可能会将其所有内存分页/交换到磁盘上,但是除非该进程已经被执行,否则不可能一次分页每个页面。在繁忙的系统上闲置。