Experimental capability-based microkernel written in Rust.
═════════════════════════════════════════════════════════
This repository contains the core microkernel of the Annwyn operating system research project.
Responsibilities include:
✓ Thread scheduling
✓ Memory management
✓ Capability enforcement
✓ IPC primitives
✓ Synchronization
✓ Hardware abstraction
Higher-level functionality is implemented in separate repositories.
═════════════════════════════════════════════════════════
⟦ Early Development ⟧
The current implementation contains:
• Physical Memory Manager
• Virtual Memory Manager
• Process abstraction
• Scheduler
• Capability framework
• IPC foundations
Many components remain experimental and are expected to evolve significantly.
This repository is currently a research platform rather than a production-ready kernel.
═════════════════════════════════════════════════════════
- Physical Memory Manager
- Virtual Memory Manager
- Process abstraction
- Scheduler
- Capability framework
- IPC primitives
- Syscall infrastructure
- UEFI boot support
- BIOS boot support
- SMP support
- Typed IPC
- Zero-copy IPC
- Improved synchronization
- Userspace bootstrap
- Runtime integration
- Performance improvements
═════════════════════════════════════════════════════════
The global architecture and project philosophy are documented in the annwyn-docs repository.
Useful documents include:
| Document | Purpose |
|---|---|
| Architecture | Long-term architectural vision |
| Roadmap | Global implementation roadmap |
| AI Usage | AI usage and project philosophy |
| Contributing | Contribution guidelines |
Repository-specific documentation may be found under docs/.
═════════════════════════════════════════════════════════
cargo xtask install-depscargo xtask buildcargo xtask run═════════════════════════════════════════════════════════
cargo xtask build
cargo xtask run
cargo xtask run-bios
cargo xtask run-release
cargo xtask debug
cargo xtask check
cargo xtask clippyThe same commands are also available through make.
═════════════════════════════════════════════════════════
cargo xtask debug
rust-gdb target/x86_64-kernel/debug/kernel
(gdb) target remote :1234
(gdb) break kernel_main
(gdb) continue═════════════════════════════════════════════════════════
Contributions, discussions, ideas, criticism, and questions are welcome.
Please keep in mind that:
• Architecture consistency is generally more important than feature count.
• Simplicity is preferred over complexity.
• Unsafe code should be justified.
• Kernel responsibilities should remain minimal.
Before contributing, it is recommended to read the documentation available in annwyn-docs.
═════════════════════════════════════════════════════════
• annwyn-docs
• annwyn-runtime
• annwyn-object-store
• annwyn-posix
• annwyn-wasm
═════════════════════════════════════════════════════════
Licensed under either of:
-
MIT License
-
Apache License 2.0
at your option.