freeRTOS总结(二)

  • 多任务:多任务就是把一个大问题(应用)“分而治之”,把大问题划分成很多小问题(任务)来处理。系统通过任务调度器来管理任务执行的先后顺序
  • 抢占式优先级:高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权,这样就保证那些紧急任务的运行。等高优先级的任务执行完成以后重新把CPU的使用权归还给低优先级的任务。处于就绪态的优先级相同的任务就会使用时间片轮转调度器获取运行时间
  • 任务状态:运行态、就绪态、阻塞态、挂起态
  • 任务控制块:存储每个任务各自属性。
  • 任务堆栈:任务调度器在进行任务切换的时候会将当前任务的现场(CPU寄存器值等)保存在此任务的任务堆栈中,等到此任务下次运行的时候就会用堆栈中保存的值来恢复现场,任务就可以从上次中断的地方开始运行

系统的核心是任务管理,任务管理的核心是任务切换,任务切换又决定了任务的执行顺序,任务切换效率的高低也决定了一款系统的性能,尤其是对于实时操作系统。

任务间通信:队列、二值信号量、计数型信号量、互斥信号量、递归互斥信号量、事件标志组、任务通知。

任务切换是在PendSV(可挂起系统调用)中断服务函数中完成的。

freeRTOS总结(二)_第1张图片

 

 

 

你可能感兴趣的:(未分类)