很多时候我读到/听到的观点是,由于应用程序需要进行模式切换(即从用户模式切换到内核模式),并在执行系统调用后通过再次进行模式切换开始在用户模式下执行,因此进行大量系统调用等操作效率低下。
我的问题是模式切换的开销是多少? CPU缓存是否会失效或TLB条目会被清除,或者发生了什么导致了开销?
请注意,我问的是模式切换所涉及的开销,而不是上下文切换。我知道模式切换和上下文切换是两个不同的概念,并且我完全了解与上下文切换相关的开销,但我不理解模式切换会导致哪些开销。
如果可能,请提供关于特定*nix平台(如Linux、FreeBSD、Solaris等)的一些信息。
问候
lali