多任务系统

             单任务系统,也称作前后台系统,中断服务函数作为前台程序,大循环 while(1)作为后台程序

              前后台系统的实时性差

         任务调度器决定 那个任务先执行,后执行。  

         FreeRTOS 是一个抢占式的实时多任务系统, 任务调度器也是抢占式。

         抢占式多任务系统的基本原理 : 高优先级的任务 可打断 低优先级任务 的运行而取得 CPU 的使用权,高优先级的任务执行完成后,重新把 CPU 的使用权归 给 低优先级的任务

  任务与协程

         任务(Task)的特性

                 任务切换时将上下文环境保存在堆栈,当任务再次执行时,从堆栈中取出上下文环境, 任务恢复运行。

                 任务特性 : 简单,没有使用限制,支持抢占,支持优先级,每个任务都有堆栈导致RAM使用量大,使用抢占时需考虑重入问题

         协程(Co-routine)的特性

                    堆栈使用,调度器和优先级,宏实现,使用限制

任务状态

       运行态

           当前正在使用处理器的任务

       就绪态

           就绪态的任务还没有运行

       堵塞态

       挂起态

 

任务优先级

 

 

 

 

任务实现

 

 

任务控制块

 

 

 

 

任务堆栈