book/src/development/design/kernel.md

12 lines
763 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.
This allows other functionality to be delegated to other code. How this will be done is still to be figured out.
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).