Skip to content

Commit ce68272

Browse files
committed
doc(kernel): synchronize the features, add README.md
1 parent 6acab8a commit ce68272

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

src/r3_kernel/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# r3_kernel
2+
3+
The original kernel of [R3-OS][1].
4+
5+
- Traditional uniprocessor tickless real-time kernel with preemptive scheduling
6+
7+
- 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.
8+
9+
- Provides a scalable kernel timing mechanism with a logarithmic time complexity. This implementation is robust against a large interrupt processing delay.
10+
11+
- 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`][2]). An application **combines them using the trait system**.
12+
13+
[1]: https://crates.io/crates/r3
14+
[2]: https://crates.io/crates/r3_port_riscv

src/r3_kernel/src/lib.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
The original kernel of [R3-OS][].
22

33
- Traditional uniprocessor tickless real-time kernel with preemptive scheduling
4+
5+
- 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.
6+
7+
- Provides a scalable kernel timing mechanism with a logarithmic time complexity. This implementation is robust against a large interrupt processing delay.
8+
49
- 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. An application **combines them using the trait system**.
510

6-
[R3-OS]: ../r3/index.html
11+
[R3-OS]: https://crates.io/crates/r3
712

813
<!-- Display a "some Cargo features are disabled" warning in the documentation so that the user can know some items are missing for that reason. But we don't want this message to be displayed when someone is viewing `lib.md` directly, so the actual message is rendered by CSS. -->
914
<div class="admonition-follows"></div>

src/r3_kernel/src/lib.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,6 @@
4141
)]
4242
#![cfg_attr(not(test), no_std)] // Link `std` only when building a test (`cfg(test)`)
4343

44-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣶⣶⣶⣶⣶⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀
45-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡄⠀⠀⠀⠀⠀
46-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀
47-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⠈⠙⠻⣿⠿⠛⠛⠛⠻⠿⢿⣿⣿⠟⢿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
48-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠹⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀
49-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣽⣿⣿⣿⣿⣿⠀⠀⠀⠀
50-
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣄⠀⠀⠀⠀⠰⠶⠶⠤⣤⣤⣤⠀⠀⠛⠸⠻⣿⣿⣿⠃⠀⠀⠀⠀
51-
// ⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⠀⠀⠀⣼⡷⠚⠋⠉⠉⠉⠀⢰⣄⣀⣼⣿⣿⠏⠀⠀⠀⠀⠀
52-
// ⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠓⠂⠀⠒⠠⢄⡀⠀⠀⢿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀
53-
// ⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠉⢉⠏⠉⠁⠀⠒⠠⠄⠀⠀⠉⠀⠘⣿⣿⣿⣿⣿⣦⡀⢀⠠⠄⠀⠀⢤⣤⣤⣿⣿⣿⣿⠀⠀⢀⣤⣤⣄⠀
54-
// ⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⢸⣣⠀⠀⠀⠂⠁⠀⠀⠀⠰⠀⠀⠘⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⠀⠠⠟⠉⢻⣿⡇
55-
// ⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⢸⠙⠃⢄⠰⠀⠀⠀⠀⠀⡰⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠹⣿⣿⣿⣿⣿⣷⣤⣄⣤⣾⣿⠇
56-
// ⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠆⠀⠀⠙⣗⠂⠀⠐⠈⠀⠀⠀⠀⢀⠜⢻⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀
57-
// ⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⢠⠂⠁⠀⠀⡞⠀⠍⡉⠀⠀⢀⠒⠒⢹⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠉⠉⠉⠉⠉⠀⠀⠀⠀
58-
// ⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣧⣀⠃⠀⠀⠀⡜⠀⡜⢰⠀⠀⠀⢸⠀⠀⠀⡀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
59-
// ⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢀⠃⠀⡇⡄⠀⠀⠀⢸⠀⠀⠀⡇⠀⠀⣀⡀⠈⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
60-
// ⣀⣤⣤⣤⣤⣀⣀⣀⠀⠀⣈⣿⣿⣿⣿⣿⠀⠀⠀⠀⢸⠀⠀⡇⠇⠀⠀⠀⠀⡇⠀⠀⢱⠀⢸⣿⡛⢀⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
61-
// ⠿⠿⠟⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⡆⠀⢹⠀⠀⠀⠀⠀⢣⠀⠀⠀⢆⠈⠿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
62-
// ⠀⢀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠛⠛⠛⠛⠻⠀⠀⠀⠀⠀⠱⠤⠴⡆⠀⠀⠀⠀⠈⢆⣀⣀⣈⠆⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
63-
// ⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠒⠒⠂⠈⠀⠀⠑⠤⠤⠀⠀⠤⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
64-
6544
// `array_item_from_fn!` requires `MaybeUninit`.
6645
#[doc(hidden)]
6746
pub extern crate core;

0 commit comments

Comments
 (0)