Skip to content

Anekoique/StarryX

StarryX

A monolithic kernel based on arceos/starry.

First prize in CSCC OS Competition 2025.

📦 项目结构

structure
.
├── rust-toolchain.toml      // Toolchain configuration
├── configs                  // Build configs and platform presets
├── docs                     // Documentations
├── Makefile                 // Build scripts
├── Cargo.toml               // Rust workspace configuration and dependencies
├── scripts                  // Build and QEMU helper scripts
├── tools                    // Board packaging helper assets
├── arceos					 // Vendored ArceOS component crates/workspace
├── src                      // Entry OS
├── xapi					 // Posix API
├── xcore					 // OS Core
├── xmodules                 // Monolithic modules 
└── xtest					 // Linux APP for tets

🛠️ 构建方式

构建全国大学生操作系统内核赛测例 (riscv / loongarch)

make all

🚀 运行方式

运行全国大学生操作系统内核赛测例 (riscv / loongarch)

make rv
make la

移植到visionfive2板卡

make vf2

✨ 项目说明

StarryX操作系统是基于组件化操作系统ArceOS的宏内核扩展实现,完整实现了进程管理,内存管理,文件系统,信号系统等模块。当前仓库根层构建系统只保留 riscv64loongarch64 的 QEMU 目标,以及 riscv64-visionfive2 板级打包路径。学习/开发日志;决赛文档;决赛PPT

截至目前,StarryX共实现约200项系统调用,包括进程管理、文件系统、内存管理、网络等各个模块的系统调用,能够运行官方测试中的大量LTP测例以及LTP外的所有测例,并能够运行Redis、Git、Gcc等Linux应用。

structure

StarryX的各个子模块实现均较为完善,完成情况如下:

子模块 完成情况
文件系统 类Linux 的 VFS设计
丰富的抽象文件支持和完善的伪文件系统实现
支持EXT4与FAT文件系统
模块解耦的页缓存设计
内存管理 懒分配、写时复制
模块解耦的用户空间访问
模块解耦的文件映射管理
进程管理 多核场景下的负载均衡
多种调度方式支持
完整实现的System V进程通信
模块解耦的进程管理
网络模块 支持TCP和UDP套接字
实现端口复用
信号系统 模块解耦的信号系统
可被信号中断的系统调用

References

base:oscomp/starry-next;oscomp/arceos

fs:axfs_ng

About

Monolithic kernel extensions based on ArceOS. First prize in CSCC OS Competition 2025.

Topics

Resources

License

Apache-2.0 and 3 other licenses found

Licenses found

Apache-2.0
LICENSE.Apache2
GPL-3.0
LICENSE.GPLv3
MulanPSL-2.0
LICENSE.MulanPSL2
Unknown
LICENSE.MulanPubL2

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors