答案1
答案取决于是否内核页表隔离已启用(取决于架构以及是否支持 KPTI)。
如果没有 KPTI,内核将完全映射到每个进程的地址空间,但如图所示,这些映射无法从用户空间访问(除非出现侧通道泄漏)。
使用 KPTI,内核页表与用户空间页表分离,并且每个进程的地址空间中只保留最小的映射集,以允许用户空间调用内核,并使处理器能够提供处理中断或异常时将控制权交给内核。
在这两种情况下,所有进程都具有相同的内核映射。
也可以看看LWN 关于 KAISER 的文章。
答案取决于是否内核页表隔离已启用(取决于架构以及是否支持 KPTI)。
如果没有 KPTI,内核将完全映射到每个进程的地址空间,但如图所示,这些映射无法从用户空间访问(除非出现侧通道泄漏)。
使用 KPTI,内核页表与用户空间页表分离,并且每个进程的地址空间中只保留最小的映射集,以允许用户空间调用内核,并使处理器能够提供处理中断或异常时将控制权交给内核。
在这两种情况下,所有进程都具有相同的内核映射。
也可以看看LWN 关于 KAISER 的文章。