uC-OS uC-OS-II and uC-OS-III Features Comparison

The table below shows the evolution of µC/OS over the years, comparing the features available in each version.

Table - 1-1 µC/OS, µC/OS-II and µC/OS-III Features Comparison Chart
FeatureµC/OSµC/OS-II>µC/OS-III
Year introduced199219982009
BookYesYesYes
Source code availableYesYesYes
Preemptive MultitaskingYesYesYes
Maximum number of tasks64255Unlimited
Number of tasks at each priority level11Unlimited
Round Robin SchedulingNoNoYes
SemaphoresYesYesYes
Mutual Exclusion SemaphoresNoYesYes (Nestable)
Event FlagsNoYesYes
Message MailboxesYesYesNo (not needed)
Message QueuesYesYesYes
Fixed Sized Memory ManagementNoYesYes
Signal a task without requiring a semaphoreNoNoYes
Option to Post/Signal without schedulingNoNoYes
Send messages to a task without requiring a message queueNoNoYes
Software TimersNoYesYes
Task suspend/resumeNoYesYes (Nestable)
Deadlock preventionYesYesYes
ScalableYesYesYes
Code Footprint3K to 8K6K to 26K6K to 24K
Data Footprint1K+1K+1K+
ROMableYesYesYes
Run-time configurableNoNoYes
Compile-time configurableYesYesYes
ASCII names for each kernel objectNoYesYes
Pend (i.e. Wait) on multiple objectsNoYesYes
Task registersNoYesYes
Built-in Kernel Awareness supportNoYesYes
Built-in performance measurementsNoLimitedExtensive
Built-in trace pointsNoNoYes
User definable hook functionsNoYesYes
Time stamps on postsNoNoYes
Optimizable Scheduler in assembly languageNoNoYes
Catch a task that returnsNoNoYes
Tick handling at task levelNoYesYes
Source code availableYesYesYes
Number of services~20~90~75
MISRA-C:1998NoYesN/A
MISRA-C:2012NoNoYes
DO178B Level A and EUROCAE ED-12BNoYesYes
Medical FDA pre-market notification (510(k)) and pre-market approval (PMA)NoYesYes
Medical IEC-62304NoYesYes
SIL3 IEC for transportation and nuclear systemsNoYesYes
IEC-61508NoYesYes