intel cpu 如何支持任务切换?有没有控制的硬件定时器?
how intel cpu support task switch ? Is there a hardware timer which controls?
我想知道为什么 cpu 可以控制任务开关。除了 JMP 调用和中断和 excetipn 处理程序,是否有硬件计时器控制 cpu 切换到另一个任务并执行它?
这实际上取决于您 运行 使用的平台。
例如,Linux 2.2(我做的最后一个内核)在 PC 类型的设备上,对 PIT(可编程中断定时器)进行编程,以便以 100 Hz 的频率传送中断频率。
那是每秒 100 次或每 10 毫秒。这叫做滴答声。
因此,每个滴答声,内核中的中断服务例程都会被调用,ISR 负责各种事情,包括抢占当前 运行 任务(如果它已用完其全部时间片)。
我想知道为什么 cpu 可以控制任务开关。除了 JMP 调用和中断和 excetipn 处理程序,是否有硬件计时器控制 cpu 切换到另一个任务并执行它?
这实际上取决于您 运行 使用的平台。
例如,Linux 2.2(我做的最后一个内核)在 PC 类型的设备上,对 PIT(可编程中断定时器)进行编程,以便以 100 Hz 的频率传送中断频率。
那是每秒 100 次或每 10 毫秒。这叫做滴答声。
因此,每个滴答声,内核中的中断服务例程都会被调用,ISR 负责各种事情,包括抢占当前 运行 任务(如果它已用完其全部时间片)。