【问题标题】:About Idle tasks in operating systems关于操作系统中的空闲任务
【发布时间】:2015-05-26 14:15:37
【问题描述】:

每个系统都有空闲任务,如果没有其他任务准备好运行,它将运行。所以我的问题是,空闲任务可以休眠吗?我的理解是,如果空闲任务睡眠,那么 CPU 可能没有任务可以运行。我的理解正确吗?谁能提供一些详细说明该主题的链接?

【问题讨论】:

  • 除了睡觉还有很多其他的方法。但请注意,在大多数情况下,您的计算机的 CPU 利用率远未达到 100% - 无论出于何种原因,此时都没有准备好运行的任务。一般来说,在现代系统上,如果某些应用程序确实使用 100% 的 CPU 而实际上并没有做任何事情来保证这一点(在过去,它曾经是您的标准),这通常是一个不好的信号。 总是运行——实际上没有办法让 CPU“空闲”;但这已经是很久以前的事了)。

标签: operating-system


【解决方案1】:

它可以以最低优先级忙循环,或围绕设置低功耗模式的代码循环,或围绕完全停止核心执行的“暂停”指令循环。

Sleep() 不合适 - CPU 必须进入一种模式,在该模式下,任何其他线程都无法使用它,直到中断,并且 Sleep() 不执行该功能。

无论硬件支持什么。

只要 CPU 能够响应中断请求,以上任何一种都可以。

【讨论】:

  • 感谢 Martin 的宝贵回答。我现在更好地理解了空闲任务的概念..
猜你喜欢
  • 2019-01-13
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
相关资源
最近更新 更多