zoukankan      html  css  js  c++  java
  • ucos 创建 空闲任务的目的

    几乎任何操作系统都需要有空闲任务。

    因为CPU(提供CPU级休眠的不算)没办法停下来,尤其是嵌入式系统这一块。

    CPU停下来的唯一情况就是断电了,而要保持操作系统任何时候都能及时的对外做出响应,就必须有一个任务在那等着,这个任务就是Idle,大部分操作系统上都需要有这个任务。

    普通的CPU如果停下来,就收不到任何外部中断或者别的东西了,跟死机没区别,所以CPU不能停。

    当然了,也有能进入省电模式的CPU,这个另说,通用的设计是必须要保留空闲任务的。
     
    简单的说就是 咱们的CPU  上电后就一直是转动的 ,必须的有个任务给人间捧场,让他继续转动,不能  停下来,,因为我们的UCOS  号称是RTOS  实时操作系统,想让Z自己做到实时,,就必须一直等待,等待响应,不能休眠。还有,咱们的空闲任务是没有延时的。是一直处于就绪状态,没高优先级任务他就就溜达,IDLE,HAHA  真正任务切换是OSTimeTick()

    OSTimeTick()中将每个用户任务控制块OS_TCB中的时间延时项OSTCBDly减1(就是在任务中OSTimeDly();所设定的延时时间减一)。当某任务的任务控制块中的时间延时项OSTCBDly减到了零,这个任务就进入了就绪态。

  • 相关阅读:
    「BJOI2018」治疗之雨
    「NOIP2016」换教室
    「HNOI2015」亚瑟王
    2019/9/15 四校联训
    【AtCoder】 ARC 097
    【AtCoder】 ARC 098
    【AtCoder】 ARC 099
    【AtCoder】 ARC 100
    React:JS中的this和箭头函数
    React:styled-components
  • 原文地址:https://www.cnblogs.com/locean/p/5394381.html
Copyright © 2011-2022 走看看