2025 秋冬季开源操作系统训练营 项目一:StarryOS #7
Replies: 6 comments 20 replies
方向一:非功能改进初级
高级替换 ext4 文件系统后端 lwext4 为纯 Rust 实现您可以从头写起,也可以使用现有的仓库或crate,然后将其整合进axfs-ng中。 可供参考的代码有: 改进异步支持为了实现高效无轮询的 IO,以及充分利用 Rust 语言特性,Starry OS 目前有一些模块初步采用了异步的设计;但是目前这些支持并不完善,接口仍然比较混乱,并且也没有异步调度器,就更别说区分异步任务和同步任务了。 |
方向二:软件移植Starry OS 默认使用一套与 Alpine Linux 兼容的根文件系统,并可以使用 这个方向的主要工作就是探索更多的常用 Linux 软件在 Starry OS 上运行的可行性,并在移植过程中对内核做出改进。 目前已经初步支持的软件:
上述这些软件的支持可能并不完善,部分仅在 riscv64 架构上进行过测试,您可以测试一下它们在其他架构上的运行情况,或者接入某些测试框架,并整理测试结果;若某个软件在某个架构下存在问题,您也可以尝试进行修复。 您也可以选择添加更多的软件支持,一些大型应用的参考如下:
我们目前支持部分基于Xorg的图形应用程序,您可以尝试运行Xorg图形程序,并将它们的支持情况整理成文档;如果发现支持存在问题,您可以尝试进行修复。 |
方向三:其他功能实现这部分题目的目标不再是支持特定的软件,而是通过实现更加通用的功能,改进整个操作系统的性能或软件支持情况,因此难度也更高。 初级
高级
|
方向四:架构/硬件移植为 Starry OS 添加更多的特定架构相关的功能支持,或尝试移植到物理开发板。 改进 x86_64 支持目前对 riscv64 支持是最完善的,aarch64 和 loongarch64 次之,而 x86_64 架构还有一些基本的功能缺失,例如 PCI 设备的中断驱动。 物理开发版移植Starry OS 目前的支持情况:
|
方向五:相关项目这些项目虽然与 Starry OS 有关联,但是使用场景更加广泛,不局限于 Starry OS 或 ArceOS。 qperfqperf 是一个基于 QEMU 的内核性能分析工具
|
方向六:ArceOS的标准库支持ArceOS是一个模块化的Unikernel,我们可以在此基础上构建出一些裸机应用程序。我们正在为ArceOS添加实验性的C/C++/Rust语言标准库支持,您可以参与该工作,来进一步完善相关内容。您可以:
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
项目介绍
项目选题
以下选题仅供参考,您可以在本帖中以回复的方式认领某一个任务。您也可以选择自由探索题目并在本帖中单开一层。
建议创建一个单独的帖子来记录工作进展,以便与老师和其他同学同步。如果您选择使用其他方式(如 Notion、腾讯文档或单独的仓库等),请将链接贴到这里,并确保它可以公开访问。
All reactions