
第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 总结 RTX操作系统支持三种调度方式: 抢占式调度 每个任务都有不同的优先级,任务会一直运行直到被高优先级任务抢占或者遇到阻塞式的API函数,比如os_dly_wait。 时间片调度 每个任务都有相同的优先级,任务会运行固定的时间片个数直到遇到系统阻塞式的API函数,比如os_dly_wait。 合作式调度 每个任务都有相同的优先级,而且时间片调度要被禁止。任务会一直的运行直到遇到阻塞式的API函数,比如os_dly_wait或者用户调用函数os_tsk_pass。 对于RTX操作系统而言,实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少。 9 V3 ^. x7 d: a9 d |
10.3.1 抢占式调度器基本概念
10.3.2 RTX抢占式调度器的实现
10.4.1 抢占式调度器基本概念
: s& f; m+ F+ I& ~" n
10.4.2 RTX时间片调度器的实现
10.5 合作式调度器% _6 C" h4 I! j
10.5.1 合作式调度器基本概念
10.5.2 RTX合作式调度器的实现
5 A L5 j% b: _, r2 P! w
10.6.1 STM32F103开发板实验
. X: q* Z! B4 Q) f( M0 r% X
' x* c6 w3 o4 M& w% M* w
- L' }. `5 S1 Q$ i% t+ o' v
10.6.2 STM32F407开发板实验
. u1 U4 _! p7 q. W0 l0 z
9 f* l4 o& N" N M
10.7.1 STM32F103开发板实验