#operating-system #real-time #multi-agent #programming-language #task-manager #elegant #complex

martos

Martos is an elegant real-time operating system designed for creating complex multi-agent systems. Developers have the flexibility to write software for Martos using either Rust (preferred) or C languages.

4 releases (breaking)

0.4.0 Oct 10, 2024
0.3.0 Jun 12, 2024
0.2.0 May 11, 2024
0.1.0 Mar 30, 2024

#283 in Operating systems

MIT/Apache

20KB
394 lines

Martos

Martos ci workflow Version Release

Martos is an elegant real-time operating system designed for creating complex multi-agent systems. Developers have the flexibility to write software for Martos using either Rust (preferred) or C languages.

Martos supports following features:

  • non-preemptive task manager based on Round Robin algorithm;
  • memory allocation;
  • interaction with hardware timers.

Programming in Rust

To develop software in Rust, you have the option to incorporate the Martos as a dependency:

[dependencies]
martos = "0.4.0"

You can explore a variety of Rust examples showcasing different architectures in the 'examples/rust-examples' directory.

Programming in C

To develop software in C, you have to link the Martos static library with your project:

-Lpath-to-static-lib -lxtensa_esp32_static_lib

You can obtain the Martos static library for supported architectures from either the release artifacts or the continuous integration (CI) artifacts. If you wish to compile the Martos static library on your own, please refer to the 'c-library' directory, which includes static library targets tailored for various architectures.

You can explore diverse C examples tailored for various architectures in the 'examples/c-examples' directory.

Dependencies

~0–13MB
~52K SLoC