2026‐三个月的实习计划 - Antareske/tgoskits GitHub Wiki
StarryOS 网络栈优化实习计划
一、背景
StarryOS 作为一个功能日益完善的操作系统,目前在性能和可靠性方面仍有较大的提升空间。本次实习将聚焦于网络栈的优化,核心目标是完善 WiFi 驱动的实现,并支持基于 eBPF 的 WiFi 性能测量工具。
训练营期间,我已经初步建立了基于 QEMU 的 StarryOS 网络性能测试套件(net-bench)。然而,虚拟化环境的性能噪声难以完全消除,真实硬件环境的测试更具参考价值。因此,本次实习将测试场景迁移至 SG2002 开发板。SG2002 上的 StarryOS 已有初步的 WiFi 驱动支持,但驱动实现尚不完善,网络测试的拓扑连通性、性能基线建立以及网络栈优化工作尚属空白。本次实习期望以 eBPF 性能测量工具为引导,深入完善 WiFi 驱动的实现;并在此基础上继续优化 StarryOS 网络栈性能,为 StarryOS 全系统提供有意义的改进。
二、实习目标
目标一:net-bench 迁移与支持基于 eBPF 的 WiFi 性能测量工具
将 net-bench 测试套件迁移至 SG2002 开发板,搭建网络测试框架;实现联合 eBPF 的 WiFi 性能测量工具,为后续驱动完善和网络栈优化提供测量手段。
目标二:完善 SG2002 WiFi 驱动实现
在 eBPF 性能测量工具的引导下,完善 SG2002 WiFi 驱动的实现,提升驱动的稳定性与性能。
目标三:StarryOS 网络栈性能优化
在功能验证的基础上,系统性分析和优化 StarryOS 的网络栈性能与稳定性。
三、实习阶段与工作计划
第一阶段:StarryOS 的 net-bench 测试迁移与 eBPF WiFi 性能测量工具
核心任务
- 将现有的 net-bench 测试套件适配到 SG2002 开发板
- 搭建稳定的网络测试拓扑(SG2002 测试场景)
- 建立网络性能基线数据(吞吐量、延迟、丢包率等关键指标)
- 实现基于 eBPF 的 SG2002 WiFi 驱动性能测量工具
可预见的工作
- 初步验证 SG2002 上 WiFi 驱动的稳定性和性能表现(为第二阶段提供参考)
- 配置测试环境的网络参数(IP 地址分配、路由配置等)
- 开发或适配测试脚本,确保测试自动化和可重复性
- 对比 QEMU 虚拟环境与 SG2002 真实硬件的性能差异
交付物
- 完整的 SG2002 网络测试框架文档
- 网络性能基线测试报告
- 支持基于 eBPF 的 WiFi 性能测量工具
- 自动化测试脚本集
第二阶段:完善 StarryOS 的 SG2002 WiFi 驱动实现
核心任务
- 基于第一阶段建立的性能测量工具,深入分析和完善 SG2002 WiFi 驱动
- 在性能测量的引导下,针对性地优化驱动实现
可预见的工作
- 深入验证 SG2002 上 WiFi 驱动的稳定性和性能表现
- 实现正确的 SG2002 驱动测试套件
- 基于 eBPF 测量数据定位驱动热点和瓶颈
- 完善驱动实现,提升驱动与协议栈的交互效率
- 考虑使用异步等方法优化驱动性能
交付物
- SG2002 WiFi 驱动实现与测试套件
- 驱动性能测试报告
第三阶段:StarryOS 网络栈性能优化
核心任务
- 在 SG2002 上运行网络测试集,验证网络栈的功能完整性与兼容性
- 基于测试数据定位性能瓶颈,实施针对性优化
- 完善文档,沉淀阶段成果
可预见的工作
- 运行协议栈测试与边界场景测试,与 Linux 网络栈行为对比
- 使用性能分析工具定位热点,优化数据包处理与协议栈实现
- 长时间压力测试,排查内存泄漏、死锁等稳定性问题
- 补充开发与测试文档
交付物
- 网络栈功能完整性验证与性能对比数据
- 优化代码提交与 PR
- 实习总结报告
四、预期成果
通过为期三个月的系统性工作,预期达成以下成果:
- 测试基础设施完善:建立基于 SG2002 的完整网络测试框架,并提供基于 eBPF 的 WiFi 性能测量工具
- SG2002 WiFi 驱动完善:在性能测量的引导下,完善 SG2002 WiFi 驱动实现,提升驱动的稳定性与性能
- 功能完整性保障:确保 StarryOS 网络栈通过网络测试集
- 性能提升:通过针对性优化,网络吞吐量、延迟等关键指标获得可量化的改善
- 知识沉淀:输出完整的文档体系,为项目后续发展提供技术积累
五、备注
- 各阶段工作可能存在交叉和迭代,实际执行中将根据进展灵活调整
- 优先级:功能正确性 > 稳定性 > 性能优化