Mercury OS
About
Mercury is going to be an Operating System with a radically unique and new design.
This includes being based around new ideas and features, sacrificing backwards compatibility for them.
What's the Point?
There's already a great microkernel Rust operating system in development - Redox.
It's worked on by a ton of people and works well at this point, so what's the point in developing another one?
- Because it's fun. This is really the main reason, it's really just because I want to do it.
- For new ideas. While this OS may not take off, some of the ideas in it might. With it's separation, it makes parts of it easy to implement in other things and show implementations of the ideas.
Main Features
- Written in Rust
- Built mainly for ARM/RISC-V architecture
- Not POSIX compatible
- OCAP security, with an Actor based system
- Well documented using rustdoc and mdBook
- Microkernel with features being split into different
crates
& libraries
- Full UTF-8 support, because it's 2023
- Easy global configuration, NixOS/Guix style
- Build with security in mind from the start
- Vulkan rendering
serde
for serializing data into/from different formats
- Allows for easy message passing
- Store/read data in
bytes
easily
- Can use anything supported by
serde
for configuration
- Comprehensive Testing with Automated Tests and Fuzzing
- Async & multithreaded
GUI
- Using the same Actor system
- Accessibility as a priority
- Global styling & configuration
- Responsive and dynamic
- Full multimedia support
- Navigable fully by both mouse & keyboard
Actors
Why?
- Work as an abstraction over any sort of data
- Allows for all systems to be able to work together, and use the same features
- Reduces work of implementation
Features
- Data verification with checksums
- AES encryption
- HMAC message verification
- UUID identification with a petname system