book/src/development/design/kernel.md

22 lines
867 B
Markdown
Raw Normal View History

2023-04-17 21:23:10 +00:00
# Microkernel
2023-04-18 03:01:54 +00:00
The core `kernel` of **Mercury** will be highly limited, implementing only necessary portions.
2023-04-18 11:19:16 +00:00
This allows other functionality to be simply run in userspace.
2023-04-18 03:01:54 +00:00
Additionally, most code should be put into separate libraries then pulled into the `kernel` code.
This will likely be done via `git submodules`.
Initially, it will be built for `RISC-V`, then `ARM` *(focused on running in a [VM](/user/virtual-machine.md))*, then on a **Raspberry Pi**.
Afterwards, we can put focus towards building out various features.
Support for multiple targets will be done via `Cargo.toml` targets, cross-compilation, and [conditional compilation](https://doc.rust-lang.org/reference/conditional-compilation.html).
2023-04-18 11:19:16 +00:00
## Boot Process
*To be implemented*
## Memory Management
*To-Do*
## Processes
*To-Do*
- [postcard](https://lib.rs/crates/postcard) for message passing