Actinium is an experimental real-time kernel for microcontrollers. It treats applications as independent, separately compiled binaries that interact through a message-passing. While Actinium draws inspiration from microkernels, it departs from traditional design in several fundamental ways.
There are three key insights behind the design:
-
Since embedded systems are fundamentally reactive, the actor model provides a more intuitive and lightweight framework than traditional threading.
-
Binary modularization enables reusing at module level. The vision is a system where precompiled binary modules for drivers and protocol stacks can be linked via message ports without requiring the developer to write new glue code.
-
RTOS should support memory protection and fault tolerance out of the box.
So, this project is architectural research: testing the viability of combining hardware-assisted scheduling, stackless actors, user-mode and memory protection - a feature set that is rare, if not unique, in the current landscape.
-
Actors: Actinium does not have the concept of threads. Instead, it utilizes an actor-based execution model featuring stackless, preemptive, run-to-completion routines. This approach minimizes resource overhead and simplifies the calculation of Worst-Case Execution Time (WCET) - a critical requirement for hard real-time systems.
-
Fault-tolarance: Actors are preemptively scheduled and strictly confined by memory protection. All communication with the kernel occurs via syscalls, ensuring that user-mode failures cannot crash the system.
-
Hardware-Driven Scheduling: Actinium leverages the interrupt controller as its hardware scheduler. By mapping unused interrupt vectors to specific priorities, the kernel offloads scheduling logic directly to the silicon.
It is two words 'actor' and 'tiny' combined in a way to form chemical element name.