MDK-ARM Keil, MDK-ARM Datasheet - Page 47

KIT REALVIEW MCU DEVELOPMENT

MDK-ARM

Manufacturer Part Number
MDK-ARM
Description
KIT REALVIEW MCU DEVELOPMENT
Manufacturer
Keil
Type
Compiler and IDEr
Datasheets

Specifications of MDK-ARM

For Use With/related Products
ARM MCUs
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Getting Started: Building Applications with RL-ARM
47
Round Robin Pre-emptive Scheduling
As discussed at the beginning of this chapter, the default scheduling option for
RTX is round robin pre-emptive. For most applications, this is the most useful
option and you should use this scheduling scheme unless there is a strong reason
to do otherwise.
Co-operative Multitasking
A final scheduling option is co-operative multitasking. In this scheme, round
robin scheduling is disabled and each task has the same priority. This means that
the first task to run will run forever unless it blocks. Then execution will pass to
the next ready task.
In a co-operative RTOS, each
task will run until it reaches a
blocking OS call or uses the
os_tsk_pass() call.
Tasks can block on any of the
standard OS objects, but there is
also an additional system call, os_task_pass(), that schedules a task to the
READY state and passes execution to the next ready task.
Priority Inversion
Finally, no discussion of RTOS scheduling would be complete without
mentioning priority inversion.
A priority inversion is a common
RTOS design error. Here, a high
priority task may become
delayed or permanently blocked
by a medium priority task.
In a pre-emptive scheduling
system, it is possible for a high
priority task T1 to block while it
calls a low priority task T3 to perform a critical function before T1 continues.

Related parts for MDK-ARM