
第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操作系统而言,实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少。 |
- h$ \) M: p6 W5 Y2 ]( p
10.3.1 抢占式调度器基本概念
10.3.2 RTX抢占式调度器的实现
10.4.1 抢占式调度器基本概念
+ K6 R/ e& T9 \8 q- d
10.4.2 RTX时间片调度器的实现
8 O! |2 }9 M4 u+ ~
10.5 合作式调度器
5 l, V! I5 }, A2 d. j% }( O# w
10.5.1 合作式调度器基本概念
2 H! I& j" Z8 P; k
10.5.2 RTX合作式调度器的实现
! J# g! x! g, y6 M4 \8 g
10.6.1 STM32F103开发板实验
10.6.2 STM32F407开发板实验
- {8 E) |* @9 K7 w" F
- f$ Z m/ z$ ]6 P7 n+ z0 B5 u# }
10.7.1 STM32F103开发板实验
2 c9 ^- d$ E* {) W9 `