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
  • 实习总结报告

四、预期成果

通过为期三个月的系统性工作,预期达成以下成果:

  1. 测试基础设施完善:建立基于 SG2002 的完整网络测试框架,并提供基于 eBPF 的 WiFi 性能测量工具
  2. SG2002 WiFi 驱动完善:在性能测量的引导下,完善 SG2002 WiFi 驱动实现,提升驱动的稳定性与性能
  3. 功能完整性保障:确保 StarryOS 网络栈通过网络测试集
  4. 性能提升:通过针对性优化,网络吞吐量、延迟等关键指标获得可量化的改善
  5. 知识沉淀:输出完整的文档体系,为项目后续发展提供技术积累

五、备注

  • 各阶段工作可能存在交叉和迭代,实际执行中将根据进展灵活调整
  • 优先级:功能正确性 > 稳定性 > 性能优化