众所周知,在操作系统中有一个空闲任务被安排在“没有其他工作时”运行
void cpu_idle (void)
{
/* endless idle loop with no priority at all */
while (1) {
void (*idle)(void) = pm_idle;
if (!idle)
idle = default_idle;
if (!current->need_resched)
idle();
schedule();
check_pgt_cache();
}
}
此代码表示由交换器任务执行的“cpu idle loop”。
问题是:为什么init任务不能代替这个循环?