Crates.io | r3_kernel |
lib.rs | r3_kernel |
version | 0.1.4 |
source | src |
created_at | 2022-01-23 11:09:10.350755 |
updated_at | 2022-11-16 00:22:51.200402 |
description | The R3-OS original kernel |
homepage | |
repository | https://github.com/r3-os/r3 |
max_upload_size | |
id | 519607 |
size | 367,871 |
The original kernel of R3-OS.
Traditional uniprocessor tickless real-time kernel with preemptive scheduling
Implements a software-based scheduler supporting a customizable number of task priorities (up to 2¹⁵ levels on a 32-bit target, though the implementation is heavily optimized for a smaller number of priorities) and an unlimited number of tasks.
Provides a scalable kernel timing mechanism with a logarithmic time complexity. This implementation is robust against a large interrupt processing delay.
The kernel is split into a target-independent portion and a target-specific portion. The target-specific portion (called a port) is provided as a separate crate (e.g., r3_port_riscv
). An application combines them using the trait system.