mercury-site/index.md

56 lines
2.3 KiB
Markdown

---
layout: default.liquid
---
# {{ site.title }}
## 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.
## Main Features
- Written in **Rust**[^rust]
- Built mainly for **ARM**/**RISC-V** architecture
- Not **POSIX** compatible
- **OCAP**[^ocap] security, with an **Actor** based system
- Well documented using [rustdoc](https://doc.rust-lang.org/rustdoc) and [mdBook](https://rust-lang.github.io/mdBook/)
- **Microkernel**[^microkernel] with features being split into different `crates` & `libraries`
- Full **UTF-8** support, because it's *2023*
- Easy global configuration, **NixOS**/**Guix** style[^home]
- Build with [security](/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](https://www.youtube.com/watch?v=2hXNd6x9sZs) with [Automated Tests](https://doc.rust-lang.org/book/ch11-00-testing.html) and [Fuzzing](https://lib.rs/crates/cargo-fuzz)
- **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**[^hmac] message verification
- **UUID** identification with a [petname](https://spritely.institute/static/papers/petnames.html) system
[^rust]: **Why?** Because I like writing in it, and it's memory safe
[^ocap]: [Object Capabilities](https://decentralized-id.com/web-standards/object-capabilities/)
[^microkernel]: [Redox | Microkernels](https://doc.redox-os.org/book/ch04-01-microkernels.html)
[^home]: [Guix | Keeping Ones Home Tidy](https://guix.gnu.org/blog/2022/keeping-ones-home-tidy/)
[^hmac]: [MAC and Key Derivation](https://cryptobook.nakov.com/mac-and-key-derivation)