µC/OS RTOS Features Comparison

Which real-time kernel should you use?
Micrium's kernels meet different needs.

Feature µC/OS-II µC/OS-III
Release Date 1999–present 2009–present
Preemptive Multitasking
Maximum number of tasks 255 Unlimited
Number of tasks at each priority level 1 Unlimited
Round robin scheduling
Semaphores
Mutual exclusion semaphores ✔ (Nestable)
Event flags
Message mailboxes No (not needed)
Message queues
Fixed sized memory management
Signal a task without requiring a semaphore
Option to post without scheduling
Send messages to a task without requiring a message queue
Software timers
Task suspend/resume ✔ (Nestable)
Deadlock prevention
Scalable
Code footprint 6K to 26K 6K to 24K
Data footprint 1K+ 1K+
ROMable
Run-time configurable
Compile-time configurable
ASCII names for each kernel object
Pend on multiple objects
Task registers
Built-in performance measurements Limited Extensive
User definable hook functions
Time stamps on posts
Built-in kernel awareness support
Optimizable scheduler in assembly language
Catch a task that returns
Tick handling at task level
Dynamic tick rate
Source code available
Number of services ~90 ~70
MISRA-C:1998 ✔ (except 10 rules) N/A
MISRA-C:2012 ✔ (except 8 advisory and 8 required guidelines)
DO178B Level A and EUROCAE ED-12B
Medical FDA pre-market notification (510(k)) and pre-market approval (PMA)
SIL3/SIL4 IEC for transportation and nuclear systems
IEC-61508