Micro-Controller Operating Systems
Micro-Controller Operating Systems (MicroC/OS, stylized as μC/OS, or Micrium OS) is a real-time operating system (RTOS) designed by Jean J. Labrosse in 1991. It is a priority-based preemptive real-time kernel for microprocessors, written mostly in the programming language C. It is intended for use in embedded systems.
Developer | Micrium, Inc., Silicon Labs |
---|---|
Written in | ANSI C |
Working state | Current |
Source model | Open-source as of 2020 |
Initial release | 1991 |
Latest release | OS-III / 2016 |
Repository | github |
Marketing target | Embedded devices |
Available in | English |
Platforms | ARM Cortex-M3, -M4F, ARM7TDMI; Atmel AVR; eSi-RISC, and many others |
Kernel type | Real-time microkernel |
Default user interface | μC/GUI |
License | Apache as of 2020; former Commercial, freeware education use |
Official website | weston-embedded |
Developer | Silicon Labs |
---|---|
Written in | ANSI C |
Working state | Current |
Source model | Open-source |
Initial release | 2020 |
Latest release | Part of Gecko Platform 4.2.0.0, part of Gecko SDK 4.2.0.0 / December 14, 2022 |
Repository | github |
Marketing target | Embedded devices |
Available in | English |
Platforms | exclusively Silicon Labs silicon |
Kernel type | Real-time microkernel |
License | Apache |
Official website | www |
Developer | Weston Embedded Solutions |
---|---|
Written in | ANSI C |
Working state | Current |
Source model | Commercial |
Initial release | June 23, 2020 (forked from uC/OS-III V3.08.00) |
Latest release | Cs/OS3 3.09.01 / December 21, 2022 |
Marketing target | Embedded devices |
Available in | English |
Platforms | 50+ unclear whether there is a 1-to-1 overlap with μC/OS |
Kernel type | Real-time microkernel |
License | Commercial |
Official website | weston-embedded |
MicroC/OS allows defining several functions in C, each of which can execute as an independent thread or task. Each task runs at a different priority, and runs as if it owns the central processing unit (CPU). Lower priority tasks can be preempted by higher priority tasks at any time. Higher priority tasks use operating system (OS) services (such as a delay or event) to allow lower priority tasks to execute. OS services are provided for managing tasks and memory, communicating between tasks, and timing.