基于51单片机多任务嵌入式操作系统模型.pdfVIP

  • 35
  • 0
  • 约4.34万字
  • 约 16页
  • 2021-11-25 发布于江苏
  • 举报

基于51单片机多任务嵌入式操作系统模型.pdf

    这个操作系统很给力  这个操作系统很给力  一种裸奔多任务模型   一种裸奔多任务模型       stateMachine timerTick queue stateMachine timerTick queue 一个网友的总结: + + 。   一个网友的总结: + + 。       RTOS 在RTOS 环境下的多任务模型:   在 环境下的多任务模型:   OS OS 任务通常阻塞在一个 调用上 (比如从消息队列取数据)。   任务通常阻塞在一个 调用上 (比如从消息队列取数据)。   外部如果想让该任务运转,就要向消息队列发送消息。   外部如果想让该任务运转,就要向消息队列发送消息。   任务收到消息时,根据当前状态,决定如何处理消息。这就是状态机。   任务收到消息时,根据当前状态,决定如何处理消息。这就是状态机。   任务将消息队列中的消息处理完毕后,重新进入阻塞状态。   任务将消息队列中的消息处理完毕后,重新进入阻塞状态。   任务在处理中,有时要延时一段时间,然后才继续工作:   任务在处理中,有时要延时一段时间,然后才继续工作:   CPU OS CPU OS 为了充分使用 ,可以通过 调用让其它任务去工作。   为了充分使用 ,可以通过 调用让其它任务去工作。   OS taskDelay OS 通常会提供一个taskDelay 调用。   通常会提供一个 调用。   taskDelay 当任务调用taskDelay 时,即进入阻塞状态,直到超时,才重新进入可工作状态 (就绪状 当任务调用 时,即进入阻塞状态,直到超时,才重新进入可工作状态 (就绪状 态)。   态)。       下面说说裸奔环境下的多任务模型:   下面说说裸奔环境下的多任务模型:   裸奔也可以多任务,但调度是由用户自主控制。   裸奔也可以多任务,但调度是由用户自主控制。   RTOS 在RTOS 环境下,一般提供抢占式调度。在裸奔时,一般是任务在处理告一段落后,主动结 在 环境下,一般提供抢占式调度。在裸奔时,一般是任务在处理告一段落后,主动结 束处理。   束处理。   RTOS while(1) RTOS 环境下的任务,一般处于一个while(1)循环中。   环境下的任务,一般处于一个 循环中。   while(1) { while(1) {     从消息队列接收消息。如果没有,将阻塞。   从消息队列接收消息。如果没有,将阻塞。   处理消息。   处理消息。   }   }   裸奔下的任务,一般采用查询方式:   裸奔下的任务,一般采用查询方式:   {   {   查询是否有待处理的事件。   查询是否有待处理的事件。   如果没有,返回。   如果没有,返回。   如果有,根据任务的当前状态,进行处理。处理完毕后,可能返回,也可能将待处理事件 如果有,根据任务的当前状态,进行处理。处理完毕后,可能返回,也可能将待处理事件 全部处理完毕后再返回。   全部处理完毕后再返回。   }   }   while(1) 裸奔任务其实也处于一个while(1)循环中,只不过这个循环在任务外部。  

文档评论(0)

1亿VIP精品文档

相关文档