-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The Docbook provides design internals, design choice rationale, some theory and rich usage examples.
RK0 supports both paradigms. You can stick to one or use both, as demonstrated on the application example.
- The Execution Image is a single-process. Roughly, we enable concurrency over a single process by composing a thread of execution with a unique portion of the running stack. This composition gives us a schedulable unit, we chose to call a Task:
- User Tasks and System Tasks have the same privilege, while running on separate stack pointers.
- Rationale for both decisions are on the Docbook.
-
Memory is mapped to the physical memory - we are talking about CPUs on the range of 8-256 KiB of RAM.
-
Application-specific needs for dynamic allocation and deallocation, as well as some kernel mechanisms, make use of an allocator that suits real-time demands: fixed-size blocks, word-aligned, O(1).
-
RK0 is suitable systems which quality of service degrades quickly when not meeting time constraints. Tasks can't be unaware of each other and are actually cooperating concurrent units. The solution is domain-dependent. The hardware is domain-dependent. The deployed application was tested and is trusted. This is the typical closed-model which most real-time critical applications fit.
-
It doesn't target any solution that until recently was handled by MMU equipped, moderately powerful devices, runnning tailored full-fledged OSes (historically BSDs, until Linuxes prevailed); anything that face it on the web, exposing to high attack surface.
Q: Why there is no release yet?
A: A release is serious stuff. v1.0.0 will come when I can push:
-
a good Trace mechanism (it is ongoing)
-
can provide meaningful and honest system characterisation (it is ongoing)
-
the test harness in a way it works for any potential contributors (it works on my computer)
Copyright (C) 2025 Antonio Giacomelli | www.kernel0.org