上下文切换是指在计算机操作系统中,当多个进程或线程同时运行时,系统需要将当前运行进程或线程的状态(包括程序计数器、寄存器值、内存映像等)保存起来,然后切换到另一个进程或线程继续执行的过程。上下文切换通常由操作系统的调度器负责完成。
上下文切换是为了实现多任务并发执行而进行的操作,它可以让多个进程或线程轮流获得CPU的使用权,从而实现并行处理。上下文切换通常是计算密集型的,他需要相当可观的处理器时间,在每秒几十上百次的切换中,每次切换都需要纳秒量级的时间,因此,上下文切换对系统来说意味着需要消耗大量的CPU时间,因为需要保存和恢复进程或线程的状态信息,包括寄存器值、内存映像等。
因此,在设计高效的操作系统调度算法时,需要尽量减少上下文切换的次数,以提高系统的性能。
而Linux相比于其他操作系统有很多的优点,其中有一项就是,其上下文切换和模式切换的时间消耗非常少。