用户模式与内核模式的RAM性能比较

时间:2016-01-26 14:17:40

标签: linux performance memory kernel ram

与内核模式不同,由于使用虚拟内存,用户模式使用地址转换。因此,当访问发生时,似乎必须在转换内存地址时进行权衡(即使没有TLB未命中)。

由于内核模式直接访问RAM而没有任何地址转换,如果我们在内核模式而不是用户模式下运行代码,RAM中是否有任何性能提升?

1 个答案:

答案 0 :(得分:3)

  

如果我们在内核模式而不是用户模式下运行代码,RAM是否有任何性能提升?

可能不是。始终使用MMU。它只是针对内核模式和用户模式进行了不同的配置(因此内核代码的“地址转换”可能是某些“身份”功能)。

CPU cache考虑​​因素比MMU更重要。高速缓存未命中可能需要几百个周期或几纳秒(从RAM模块获取数据)。此外,context switches代价高昂。

但是你需要基准 。查看结尾Answers section of P.Norvig page

(实际上,内核地址空间没有任何主要page faults;我想 - 但实际上并不知道 - 在某些硬件上它可能有页面错误)< / p>

另请阅读Unikernel方法。