隐藏
首页 关于系统能力 新闻与活动 产学合作 系统能力大赛 课程与资源 巅峰论坛 教学分享与交流
系统能力活动新闻    

披荆斩棘:2022全国大学生计算机系统能力大赛操作系统设计赛OS内核设计赛一等奖赛队获奖感言

浏览:1121 发布日期:2022-10-17

图片


2022全国大学生计算机系统能力大赛操作系统设计赛于2022年8月23日圆满落幕。在今年的大赛中,OS内核实现赛道有来自23个省/直辖市的68所高校的110支队伍报名参赛。


设立OS内核实现赛道的初衷是鼓励国内不同层次的高校学生参加,帮助同学们了解和掌握OS Kernel的设计与实现。同时,普及开源理念,鼓励合作型竞争,使参赛队在比赛过程中能够学习其他队的先进经验,在合作中竞争,在竞争中学习、提升。


在技术方面,OS内核实现赛道要求参赛队综合运用知识,构思并实现一个综合性的操作系统,进入决赛的赛队还需要针对新的需求改进所提交的操作系统。为此,各参赛队要充分了解所使用的编程语言和目标硬件平台,使自己设计的操作系统能够尽可能发挥目标硬件平台的能力,以支持评测用例并提高应用的运行效率。


在历时4个多月的比赛过程中,44支参赛从初赛中脱颖而出,参加决赛阶段的比拼。在决赛阶段,有31支参赛队完成线上比赛和答辩,最终评选出30支决赛获奖赛队。


密集的赛程、繁多的知识、激烈的竞争,这样的比赛经历对同学们的知识、能力、耐心与毅力都是极大的考验,相信每一位披荆斩棘顺利完赛的同学都会有很多感触。今天,我们邀请了OS内核设计赛一等奖获奖赛队分享他们的获奖感言,一起感受他们的坚持与梦想。


01


图片

获奖感言

能够获得系统能力大赛OS内核实现赛道一等奖,我们团队感到十分开心。这个奖项既是大赛组委会对于我们项目的认可,也是对我们所付出辛勤汗水的一份肯定与鼓励。在这里要感谢我们的两位指导老师、所有帮助过我们的同学们,以及我们每一位队员。


通过参加这次大赛,我们对于系统领域有了更深刻的认识。在历时七个月的开发过程中,我们学习到了如何解决一个个挑战和问题、基于当前最前沿的设计提出我们的方案,并真正实践在我们的内核当中,这对于我们未来在系统领域继续深造积累了宝贵的财富。在比赛过程中,我们也学会了如何进行团队协作,合力解决困难,这一点也是非常珍贵的。


在国产操作系统日益发展的今天,OS内核实现赛可以有效地促进这一领域的发展。感谢组委会,我们也会继续在系统领域为中国贡献自己的力量!


02


图片

获奖感言

这次我们开发的Maturin历时5个月,从基本的FU740多核启动、进程支持、内存管理到后来的动态库、信号、epoll乃至基本的网络支持,我们最终不仅完成了大赛要求的测例,还运行了gcc和redis两个实际应用。我们知道,操作系统的开发不应该是少数几个人的合作,而应该要能应对大规模的共同开发。为此,我们在开发过程中详细地记录文档,保持代码和文档合一,上线网页;同时,严格保持调用规范和无warning约定,让我们的内核不只适用于本次比赛,还能成为后续其他项目和同学们学习的起点。


我们最初没有预期能做到支持gcc这样的编译器,但实际实现的时候发现其实没有那么难,只是之前没有足够清晰的文档或教程告诉我们应该怎么去做。最后评奖时,我发现内核一等奖队伍的内核几乎都支持了编译器。我认为这是比赛最大的意义:很多OS教程只是对应学校的课程,但对于一个操作系统应该怎么支持一些更高级的特性,没有更深入的描述。而这次的操作系统比赛给了我们一个方向,让大家去趟过这片沼泽,用脚把路走出来。正是有了这次大赛提供的推动力,我们和许许多多的同学才能勇于跨出这一步,去实现自己的操作系统内核。


最后非常感谢陈渝、向勇老师的指导和张译仁、陈乐、萧洛源、杨德睿等同学的帮助和支持,没有他们的帮助也就不会有我们现在完成的Maturin项目。


03


图片

获奖感言

非常荣幸能够获得大赛一等奖,这次比赛中我们一路披荆斩棘,通过了全部的功能测试,并在决赛第二阶段全程保持性能分第一。


我们充满梦想,FTL意为Faster Than Light,它蕴含了操作系统对性能的渴望。为了实现这一目标,我们用了与众不同的开发方式:我们从零开始,先编写文档,从起步就进行大量优化。我们乐观地认为只要应用了一切可能的优化,FTLOS就能达到极致的、后无来者的性能。从结果来看,此方案大体成功,我们全程性能分第一,但因为调研不足的原因,文件系统的错误设计影响了重构,FTLOS无法在全部的测试点上获得第一,也让我们没有太多时间去移植真实应用程序。


这是我们第一次参加系统能力大赛,它让我们接触到了大量无法从课本上学到的知识,使我们了解了现代操作系统的运行方式,对操作系统有了更深层次的理解,还显著提升了工程实践能力。感谢全部队员、伙伴队伍的努力,感谢夏文、仇洁婷老师的倾力帮助,也感谢所有在比赛中实时开源代码、展示文档的参赛队伍。愿比赛在未来更加完善,越来越好。


04


图片

获奖感言

OopS是一个用Rust编写的RISC-V64多核操作系统,项目总历时约7个月。我们团队从今年的寒假期间就开始学习rust及操作系统相关知识,为该比赛做准备。


在开发前,我们考虑到从0开始设计一个内核会带来大量的bug和时间开销,所以我们决定参考rCore-Tutorial快速开发出一个基本的内核。之后,我们比较顺利地通过了初赛的测试,这给了我们信心,于是我们对原本的基础架构做了大量修改。通过不断地踩坑和重构,并结合其他内核的设计和我们的思考,最终打造出了现在的OopS内核。


通过这次比赛,加深了我们对操作系统的理解,提升了我们的工程能力。此外,本次比赛让我们更加理解了开源的精神,我们的心态也从相互竞争转变为了相互学习。我们发现,与第一届参赛作品相比,本届参赛作品在功能和性能方面都有了不小的提升。这要感谢组委会和主办方为选手提供了一个平台,让我们有机会吸取往届参赛作品的经验,踩在巨人的肩膀上并更进一步。以后的参赛作品无疑也会比我们这届的作品要更加优秀。


在这里,还要感谢同校的参赛队伍和指导老师的帮助和指导,特别是第一届参赛选手黎庚祉学长给我们传授了大量的经验和灵感。


05


图片

获奖感言

回顾这次大赛的参赛历程,我们最大的感受就是大赛涉及的知识面非常广。Fat32、线程、动态链接,这些知识点我们耳熟能详,但是亲手去实现这些功能对我们来说却有不小的挑战。我们基本上是一边查找资料了解技术细节,一边编程实现调试代码,在这个过程中我们深刻体会到了OS作为基础软件的复杂。


在这次比赛中,最令人激动的时刻是我们能够支持vi和tcc的那一刻:我们的OS并不完善,甚至简陋,但是它已经能够支持一些比较复杂的用户程序,我们之前长时间的努力最终得到了回报。当然,我们也有一些小遗憾:因为双平台的硬件不同,在k210板上我们需要做一些时间换空间的优化,而在unmatched板上我们需要做一些空间换时间的优化,所以为了打两个榜我们可能需要花上两倍的工作量,最后榜上的成绩也不尽如人意,这里也不得不佩服其他参赛队伍的技术水平。


虽然我们团队每个人的性格和思考方式都有所差别,但是在比赛中我们能够相互合作,相互支持。尽管我们与其他队伍之间存在竞争,但是开源让我们共同学习、共同进步、相互启发,我想这就是大赛带给我们最宝贵的东西。


06


图片

获奖感言

本次比赛我们是从年初开始准备的,由于我们学校之前没有参赛队,因此对于我们队伍而言,既没有本校学长的参赛经验,又缺乏足够的支持,我们一路上基本是摸黑前行。从学习xv6的代码到一步步自己上手实现,从模拟器运行到下板子实测,中间踩过无数大大小小的坑,好在有上届参赛者的开源作品,我们才能够比较顺利地了解到比赛的全貌。


通过这次比赛,我们以亲身实践的方式,将操作系统的概念、原理落实于实际的工程项目,大大加深了我们对操作系统的理解和认知,原来模糊的概念也得到了清楚的解惑;在一些模块的优化过程中,通过反复权衡利弊,做出决策,才渐渐理解了原理课上所讲的技术方案的优劣之分。当克服了一个又一个技术难点,解决了一个又一个玄学bug,一步步见证我们自己的操作系统内核的诞生时,不禁感慨动容。


最后,我要感谢一路上竞争又合作的对手,他们促使我不断学习与进步。特别感谢我的队友和指导老师们,参赛之途是孤独的、无助的,幸亏有他们,我们才得以坚持前行,竭尽全力。今天取得如此丰硕的成果全然离不开他们的鼓励与支持。

全国大学生计算机系统能力大赛操作系统设计赛是面向操作系统领域唯一的学科竞赛,大赛以开源、开放、促进国内操作系统课程的教学和人才培养、提升学生的创新能力为目标。2022年大赛自1月中旬启动以来,得到了各高校同学们的积极响应,内核设计赛道有来自68所高校的110支队伍报名参赛,功能挑战赛道有来自76所高校的242支队伍报名参赛。


本届大赛继续得到众多企业和开源社区的积极响应和大力支持。华为技术有限公司、麒麟软件、统信软件技术有限公司、龙蜥社区、国科环宇、龙芯中科、蚂蚁集团、小米公司、字节跳动、上海鉴释科技发展有限公司、北京翼辉信息技术有限公司、杭州指令集智能科技有限公司、嘉楠科技等公司和开源社区作为大赛赞助商,不仅为大赛提供资金和技术支持,还积极参与大赛的命题、技术辅导工作。CSDN、InfoQ为大赛提供了媒体支持。