通过实战理解CPU上下文切换
原文中文,约4200字,阅读约需10分钟。发表于: 。Linux作为一个多任务操作系统,能够支持远远超过CPU数量的任务同时运行,但实际上这只是一种错觉。事实上,系统会在非常短的时间内将CPU轮流分配给各个进程,给用户造成多任务同时运行的错觉。这就引发了一个问题:每次运行进程之前,CPU都需要知道进程的加载位置和运行位置,也就是说,系统需要提前设置好CPU寄存器和程序计数器。
Linux是一个多任务操作系统,通过CPU上下文切换实现任务的并发执行。进程上下文切换涉及用户态和内核态的切换,而线程上下文切换只涉及私有数据和寄存器的切换。中断上下文切换是为了响应硬件事件。过多的上下文切换会降低系统性能。