Skip to content

oscomp/proj307-Pengpai-OS-TCP-Nagle-Algorithm-Improvement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

proj307-Pengpai-OS-TCP-Nagle-Algorithm-Improvement

澎湃OS-TCP Nagle算法完善

项目描述

关于小米澎湃OS

小米澎湃OS是一款以人为中心、打造「人车家全生态」的操作系统。小米澎湃OS经过 13 年探索,历时 7 年研发,参与的工程师超过5000名,进行了史无前例的系统底层重构,为未来百亿设备、百亿连接做好「万物互联的公有底座」。

2017年,小米自研的Vela OS正式发布,逐步统一IoT设备生态。2019年,小米开始并行研发纯自研通用系统Mina OS。2021年,小米开启了车机OS的研发。2022年初,小米统一MIUI、Vela、Mina、车机OS四个系统的软件架构,自此小米的操作系统底层合并完成。 小米澎湃OS融合200+品类,可连接8.2亿设备,全球首创的「人车家全生态」由此大幕开启。

关于Vela和NuttX

关于VelaVela是小米公司基于开源实时操作系统NuttX打造的物联网嵌入式软件平台,Vela在各种物联网硬件平台上提供统一的软件服务,支持丰富的组件和易用的框架,用于打通碎片化的物联网应用场景。

关于NuttXNuttX是一个在IoT、分布式嵌入式系统、无人机系统中广泛使用的RTOS,第一个版本由 Gregory Nutt 于 2007 年发布。NuttX 可以支持 8 位到64位的处理器,支持risc-v,arm,mips,x86等主流芯片平台,按照POSIX和 ANSI 标准进行设计,支持MMU和MPU,支持多线程和进程。2019年NuttX在小米的推动下正式进入Apache基金会,小米多位资深工程师参与了NuttX社区的开发和架构设计。经过多年的不懈努力,NuttX功能丰富,性能稳定,商业化成熟度高,在各种物联网产品上得到了广泛的应用。

关于赛题

Nagle算法(RFC 896 && RFC 1122 Section 4.2.3.4)在TCP发送流程中是一个重要的能力,对于大量小数据的发送性能起到优化作用。Vela操作系统拥有一个精简的TCP协议栈,而Vela的TCP对Nagle算法的支持尚不完备。本项目的目标是基于Vela已有的TCP协议栈,探索Nagle算法的实现及优化,提升Vela操作系统的TCP发送性能。

预期目标

  • 了解POSIX规范的TCP socket通信
  • 学习Vela/NuttX的TCP协议栈实现,探索Nagle算法优化思路
  • 设计并实现功能完善的Nagle算法,并进行性能对比
  • 提交最终实现代码至NuttX开源社区

特征

  • 实际运行、修改、验证开源操作系统内核中的网络能力及收发性能
  • 文档、代码、问题、答疑交互过程都开放和开源的
  • 支持各种硬件,可以使用模拟器或实际硬件进行开发验证(环境配置见参考资料)

已有参考资料

赛题分类

操作系统内核大类 --> 内核完善

参赛要求

  • 以小组为单位参赛,最多三人一个小组
  • 允许学生参加大赛的多个不同题目,最终自己选择一个题目参与评奖
  • 请遵循“2024全国大学生操作系统比赛”的章程和技术方案要求

难度

中等

License

Apache-2.0 License

所属赛道

2024全国大学生操作系统比赛的“OS功能挑战”赛道

项目导师


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published