1、每一个运行中的任务/线程,用了一组CPU寄存器,包含各种内部状态的数据,如当前正在执行的指令所在的内存地址,当前正在执行操作的操作数和/或操作结果,栈指针等等.所有的这些信息被统称为"上下文"。
任何抢占式操作系统都必须具备几乎在任何时刻停止一个正在运行的任务并在将来将它恢复运行的能力。任务恢复执行它会从上次停止的地方继续执行,每次任务抢占都有额外的开销用于保存被抢占任务的上下文,将获得运行权的任务的上下文恢复。在保存和恢复上下文的过程中还隐藏了额外的开销:Cache中的数据会失效,这些数据对于新换进的任务是没用的,保存的上下文信息会被换回主内存中。等任务恢复时,再重新读会cache。Cache misses对性能有非常大的影响,因为处理器访问Cache中的数据将比直接访问主存快得多。