内核虚拟内存页面是否可交换
Is Kernel Virtual Memory pages are swappable
就像每个用户级进程都有自己的虚拟内存space,其页面被交换out/in,Linux内核的虚拟内存页面是否可交换?
不,Linux 上没有交换内核内存。
内核 space 页面在设计上不会获取页面{in,out},而是固定到内存中。从安全的角度来看,内核中的页面通常是可信的,而用户 space 页面应该 NOT 是可信的。
因此,您不必担心直接在代码中访问内核缓冲区。虽然用户 space 缓冲区不一样,但不用担心处理页面错误。
内核 space 页面无法按设计调出页面,因为您可能需要考虑当包含处理页面错误的指令的页面调出页面时您的应用程序会做什么!
就像每个用户级进程都有自己的虚拟内存space,其页面被交换out/in,Linux内核的虚拟内存页面是否可交换?
不,Linux 上没有交换内核内存。
内核 space 页面在设计上不会获取页面{in,out},而是固定到内存中。从安全的角度来看,内核中的页面通常是可信的,而用户 space 页面应该 NOT 是可信的。
因此,您不必担心直接在代码中访问内核缓冲区。虽然用户 space 缓冲区不一样,但不用担心处理页面错误。
内核 space 页面无法按设计调出页面,因为您可能需要考虑当包含处理页面错误的指令的页面调出页面时您的应用程序会做什么!