|
第10章 任务调度-抢占式,时间片和合作式 本章教程为大家将介绍RTX操作系统支持的任务调度方式,抢占式,时间片和合作式,这部分算是RTX操作系统的核心了。对于初学者来说,要一下子就能够理解这些比较困难些,需要多花些时间把这些基本概念搞清楚,然后阅读下源码,深入理解实现方法。 本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4内核的STM32F407。 10.1 RTX支持的调度方式 10.2 什么是调度器 10.3 抢占式调度器 10.4 时间片调度器 10.5 合作式调度器 10.6 时间片调度器实验例程说明 10.7 合作式调度器实验例程说明 10.8 总结 - Y& Y) m+ U) n6 ?0 o) V8 Y 10.1 RTX支持的调度方式 RTX操作系统支持三种调度方式: 抢占式调度 每个任务都有不同的优先级,任务会一直运行直到被高优先级任务抢占或者遇到阻塞式的API函数,比如os_dly_wait。 时间片调度 每个任务都有相同的优先级,任务会运行固定的时间片个数直到遇到系统阻塞式的API函数,比如os_dly_wait。 合作式调度 每个任务都有相同的优先级,而且时间片调度要被禁止。任务会一直的运行直到遇到阻塞式的API函数,比如os_dly_wait或者用户调用函数os_tsk_pass。 对于RTX操作系统而言,实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少。 ( g a! |& e% Z" Y |
微信公众号
手机版
" R+ R5 k$ x6 H+ u/ P; }, Z, F, z
10.3.1 抢占式调度器基本概念
/ q) R* t3 |- _: l
; e8 m5 b5 r$ ~( y/ S; Q
10.3.2 RTX抢占式调度器的实现
6 }- i0 i: j3 ~: D, ~* n- e
10.4.1 抢占式调度器基本概念
10.4.2 RTX时间片调度器的实现
* {: @4 v9 i) B3 k, |
10.5 合作式调度器
3 q) |1 V9 p% E9 {# a* e
10.5.1 合作式调度器基本概念
10.5.2 RTX合作式调度器的实现
10.6.1 STM32F103开发板实验
& t# p4 H& S" U1 f
+ C: [/ b" S1 M$ h+ y! A2 @' T
10.6.2 STM32F407开发板实验
! J( J# V" a' ]
10.7.1 STM32F103开发板实验
/ v8 A* N0 ]3 l0 G: Z, h P