上下文切换是O(1)进程还是上下文切换量取决于可能影响它所用时间的各种局部因素?
答案 0 :(得分:3)
不,由于许多不同的原因。主要的一个是在同一进程的两个线程之间切换上下文,并在不同进程的两个线程之间切换上下文意味着地址空间更改。对缓存和内存来说,更改地址空间始终是一项代价高昂的操作。在x86上,您需要重新加载页面目录,在PowperPC上,您需要使 TLB 无效并重新加载,...
从线程到内核时,更改地址空间不是必需的。为了更新,我认为Linux总是加载内核地址空间(使用PAE工具并且具有与内核地址空间锁定的4条目PDBR的条目,从AS更高的一半开始,在0xc0000000处)。 / em>的