CPU在做什么?
|
持设计的一致性,OS开发人员创建了一个空闲任务,当没有其他工作时,该任务将被安排运行。我们在Linux 启动过程中已经看到,空闲任务是进程0,它是计算机首次打开时运行的第一条指令的直接后代。它在rest_init中 初始化,其中init_idle_bootup_task初始化空闲调度类。 简而言之,Linux支持不同的调度类,例如实时进程,常规用户进程等。当选择进程成为活动任务时,将按优先级顺序查询这些类。这样,“核反应堆控制代码”总是在Web浏览器之前运行。但是,这些类通常会返回NULL,这意味着它们没有合适的运行过程 - 它们都在睡觉。但是最后运行的空闲调度类永远不会失败:它总是返回空闲任务。 这一切都很好,但让我们来看看这个空闲任务究竟在做什么。cpu_idle_loop,如下:
cpu_idle_loop
现在,一旦我们告诉CPU停止或睡眠,我们需要以某种方式让它恢复活力。如果您已阅读过我以前的文章,您可能会怀疑涉及到中断,实际上它们也是如此。中断会刺激CPU退出暂停状态并恢复运行。所以把这些放在一起,这是你的电脑在阅读这篇文章时所做的大 (编辑:平顶山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

