Micro-Controller Operating Systems

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.

In 2016 Micrium, Inc. was acquired by Silicon Laboratories[6] and it was subsequently released as open-source under the Apache license.

Silicon Labs continues to maintain an open-source product named Micrium OS for use on their own silicon[7] and a group of former Micrium, Inc. employees (including Labrosse) provides consultancy and support for both μC/OS and Cesium RTOS, a proprietary fork made just after the open-source release.

[8] Based on the source code written for μC/OS, and introduced as a commercial product in 1998, μC/OS-II is a portable, ROM-able, scalable, preemptive, real-time, deterministic, multitasking kernel for microprocessors, and digital signal processors (DSPs).

If the producer has the proper toolchain (i.e., C compiler, assembler, and linker-locator[clarification needed]), μC/OS-II can be embedded as part of a product.

The boot loader hands control over to the kernel, which initializes the various devices to a known state and makes the computer ready for general operations.

In a priority-based kernel, control of the CPU is always given to the highest priority task ready to run.

Allocation and deallocation of these memory blocks is done in constant time and is a deterministic system.

Tick sources can be obtained by dedicating a hardware timer, or by generating an interrupt from an alternating current (AC) power line (50 or 60 Hz) signal.

μC/OS-III is the acronym for Micro-Controller Operating Systems Version 3, introduced in 2009 and adding functionality to the μC/OS-II RTOS.

Each task is an infinite loop and can be in any one of five states (dormant, ready, running, interrupted, or pending).

The maximum number of tasks is limited by only the amount of computer memory (both code and data space) available to the processor.

It also provides services to applications so that tasks can suspend their execution for user-defined time delays.

If an ISR is involved, the only way to ensure exclusive access to common variables is to disable interrupts.

A port involves three aspects: CPU, OS, and board specific (BSP) code.

A μC/OS-III port involves writing or changing the contents of three kernel specific files: OS_CPU.H, OS_CPU_A.ASM, and OS_CPU_C.C.

After acquisition by Silicon Labs, Micrium in 2020 changed to open-source model licensing in February 2020.

This includes uC/OS III, all prior versions, all components: USB, file system, GUI, TCP/IP, etc.