BlueStarOS 是一个使用 Rust 语言开发的轻量级操作系统内核。该内核是本人学习操作系统过程中实践的产物,开发过程中部分构架和设计参考主流教学操作系统rCore及xv6
- 动态堆分配器: 实现基于 Buddy System 或类似算法的动态内存管理
- 陷阱处理程序: 处理异常、中断和系统调用陷阱
- 虚拟地址空间和分页功能: 实现虚拟内存管理,支持分页机制
- 任务切换功能:已经实现基于时钟中断的Stride任务调度算法支持多用户程序运行,syscall目前较完善
- 下一步开发目标: 完善用户库,支持基本系统调用,开发文件系统和硬件驱动
前置依赖
在开始之前,请确保您的系统已安装以下软件:
Rust工具链(1.6nightly版本)
QEMU( 7.0 版本)
git
GNU Make
安装与运行
克隆仓库:
git clone https://github.com/Dirinkbottle/BlueStarOS.git
cd BlueStarOS
cargo build --releasemake run LOG=TRACE注意:实际运行命令可能因架构和配置不同而有所调整,请参考项目内的具体文档。
复制
当前版本的 BlueStarOS 主要提供内核不完整功能演示。运行时,内核将初始化内存分配器和初始化内核地址空间
您可以通过查看串口输出或控制台信息来观察内核的运行状态和调试信息。
- 中期目标: 完成文件系统开发,完成usb,串口等硬件驱动开发
- 长期目标: 支持shell,命令行
- 最终目标: 开发图形api,显卡驱动,支持图形化桌面
本项目基于 MIT 许可证开源。详情请查看 LICENSE 文件。
感谢以下资源对项目的启发和帮助:
- Rust 编程语言社区
- 2025冬季开源操作系统训练营
- 所有为操作系统开发提供优秀文档的开发者
如有问题或建议,请通过以下方式联系:
- 项目维护者邮箱:yellowfish@dirinkbottle.asia
- GitHub 仓库:BlueStarOS
- 项目议题页面:提交问题或建议
© 2025 BlueStarOS By Dirinkbottle