步骤 2 / 7
时钟中断:把控制权拿回来
硬件定时器定期发出中断,强制让内核接手。
程序在跑时,内核并没有在执行,没法“主动”把 CPU 抢回来。 所以内核事先设好硬件定时器,时间一到就产生中断,CPU 自动陷入内核。 这样即使程序写了死循环,也霸占不了整台机器。
操作系统
一个 CPU 核心同一时刻只能跑一个程序,Linux 靠快速轮换制造“同时运行”的效果。
以一个 CPU 核心上轮流运行两个程序为例。
步骤 2 / 7
硬件定时器定期发出中断,强制让内核接手。
程序在跑时,内核并没有在执行,没法“主动”把 CPU 抢回来。 所以内核事先设好硬件定时器,时间一到就产生中断,CPU 自动陷入内核。 这样即使程序写了死循环,也霸占不了整台机器。
| 当前状态 | 发生了什么 |
|---|---|
| A 运行中 | 程序 A 正在使用 CPU |
| 进入内核态 | 时钟到点,CPU 陷入内核 |