中国教育在线
中国教育在线
国内计算机系统硬核竞赛受关注 杭电学生厚积薄发勇夺一等奖
2022-09-01 13:46:00
中国教育在线浙江站

  中国教育在线浙江站讯 (记者 陈显婷 通讯员 程振伟)计算机ACM竞赛,又称为“国际大学生程序设计竞赛”,因为与信息奥赛一脉相承,一直以来广受关注。这项专注编程的竞赛,也是诸多计算机强校培养计算机人才的重要抓手。然而,近年来,随着一再被西方国家“卡脖子”,计算机人才系统能力培养备受关注,相关竞赛也成功“出圈”。

  日前,2022全国大学生计算机系统能力大赛操作系统设计赛角逐完毕。OS(操作系统)内核实现赛道,有来自23个省/直辖市的68所高校的110支队伍报名参赛,清华大学、北航、西北工大、哈工大(深圳)以及杭电共6支队伍,分别获得一等奖。

  “计算机专业能力,主要包括编程能力和系统设计能力,过去受外面市场影响,编程能力处于聚光灯之下,然而这些年我们意识到要解决卡脖子难题,系统能力培养关乎专业人才未来竞争力,这是一项关乎全局和未来的系统工程。”教育部大学计算机课程教学指导委员会委员、浙江省计算机应用与教育学会理事长包健教授表示。

  摆烂大队向“进击のOS”的演变

  大学里有各种竞赛,ACM(主要涉及编程)是其中比较硬核的竞赛,以难度高、含金量高而著称,也有不少互联网大厂广为搜罗ACM竞赛“大神”去搞研发。而另一方面,计算机系统能力培养,也就是这几年才得到更多关注。

  记者了解到,全国大学生计算机系统能力大赛是目前唯一以处理器、操作系统和编译器设计为核心,推动计算机系统创新型人才培养为目标,由教育部高等学校计算机类专业教学指导委员会和系统能力培养研究专家组共同发起,面向高校大学生举办的全国性大赛。而系统能力大赛,现在有三大赛项,分别是操作系统设计赛、龙芯杯处理器设计赛、华为毕昇杯编译系统设计赛三项赛事,并以自主设计“一个通用CPU、一个操作系统核心、一个编译系统”为总体目标,旨在以学科竞赛推动专业建设和计算机领域创新人才培养体系改革、培育我国高端芯片及核心系统的技术突破与产业化后备人才。

  计算机专业的学生们都知道,系统课比如组成原理、操作系统、编译原理是出了名的难。一般学校上课只能听听理论,理解到什么程度,看个人领悟。自主设计“一个通用CPU、一个操作系统核心、一个编译系统”,实在让一般学生“头麻”。而此次全国大学生计算机系统能力大赛操作系统设计赛,就是让参赛者“自主设计一个操作系统核心”。这项令人兴奋的工作,也引发北大、北航、杭电等计算机强校学生的“挑战热情”。

  一等奖获得者、来自杭电的杨宗振、朱洋洋同学表达了获奖心得。

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

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

  杨宗振、朱洋洋的指导老师,杭电计算机国家级实验教学示范中心副主任章复嘉老师解释道,系统能力竞赛是一项近年来新出现的竞赛,很多学校有计算机学院,但还是对这项比赛所知甚少。而且比赛跨度有大半年,对计算机专业学生来说,本来系统课就很难,亲自动手设计操作系统内核确实很有挑战性。“你看,杨宗振、朱洋洋同学,后来拿了一等奖,过程也是荆棘遍地,踩了无数的坑,甚至连‘玄学’这样的词都用上了。不过他们坚持下来了,好样的。”

  记者注意到,这支后来闯入决赛获得一等奖的团队,报名时的名称叫做“摆烂大队”,在不断学习和攻坚的过程中逐渐转变成了“进击のOS”。“开始时,真的是黑暗中摸索,甚至有摆烂的想法,后来不断学习改进领悟,就不摆烂了,信心满满。”杨宗振说。

  系统能力“贯穿式培养”,是难题

  前些年由于诸多互联网公司的兴起,软件人才“很紧俏”。国内计算机专业人才培养也出现了“重软轻硬”的现象。“搞软件,收效快,当时有‘钱’途,市场传递的信号使软件更热门。”一位不愿具名的计算机教育专家表示。

  “计算机是软硬件的结合,涉及底层硬件和软件,组成原理、操作系统、编译等系统课,就是关于底层硬件、底层软件的结合问题,一个底层硬件如何关联上层的应用软件,弄懂弄清楚,需要有很强的系统能力。而系统能力教学,也是计算机人才培养的一大难点。”包健教授表示。

  章复嘉老师有一个“树根树干树叶论”。树叶要长的苍翠,树干一定得是健康的,如果树干树根都是病,就很难“枝繁叶茂”。作为程序员来说,要深入地理解底层的硬件软件,知道它是怎么回事,这样编出来的应用程序就会高效。因为它会充分利用底层软件硬件的特性,让它充分地发挥出它的能力。如果没有这些系统思维和能力,不知道底层怎么回事的话,你编出来的程序肯定有各种问题,“要么是资源代价非常高,要么是跑得很慢,要么就是各种bug”。

  计算机系统能力培养,分成组成原理、操作系统、编译、嵌入式等课程,学生分别学习这些课程。而事实上,它们都是关联的,不同课程的开设、不同教师的教学,也容易造成“系统思维的割裂”。而杭电计算机学院在计算机国家级实验教学示范中心、国家级金课、浙江省教学名师的系统支撑下,注重计算机人才系统能力“一体化、贯穿式培养”。

  据了解,目前国内计算机名校在系统能力培养上“八仙过海”。南大和北航的系统全栈、浙大的板级全栈、东南的编译器+CPU设计,都让人印象深刻。杭电基于RISC-V(发音为RISK-5)的系统设计综合实验平台,在该校圣光机联合学院人才培养教改基金支持下,注重系统不同课程老师的协作,发挥“接力跑效应”。

  这些大学生“热爱研究系统”

  2022全国大学生计算机系统能力大赛操作系统设计赛,杭电可谓斩获颇丰。杭电代表队获内核设计赛道一等奖、二等奖各一项,功能挑战赛道三等奖、优胜奖各一项,获奖学生主要来自卓越学院、计算机学院。

  事实上,参加操作系统设计赛的门槛很高,学生因为比赛周期长、基本靠自己摸索,能坚持比赛到底的并不多。而杭电在这项“很高级的竞赛”中表现出“集团优势”,除了有计算机系统基础课的硬核的元素,也有章复嘉老师“基于RISC-V(读法为RISK-5)的系统设计综合实验平台”培养面向未来的系统人才的功劳。

  这个平台针对地方高校学情,自主研发一个“一体化、贯穿式”的系统化教学实验平台。在“一体化、贯穿式”计算机系统化教学上走得更深, 自主研发底层、制作网站,搭建“开放式”实验平台,允许学生对底层代码进行改写并调试,实现人机交互界面输入层功能 、编译层功能 、操作系统层功能 、虚拟硬件层功能 、实物硬件层功能、实验平台调试等功能。

  在综合实验平台下,章复嘉还组建了“有志搞系统研究的学习小组”——T&M棘桑工程。此次获得操作系统设计赛的学生,大多来自这个学习小组。

  “我们平常没课时,都在小组里研究讨论计算机底层系统,每个人都有项目,自己动手做底层系统,参加全国系统比赛是水到渠成的事。大家兴趣点不同,有的研究操作系统,有的研究编译器,这些都博大精深,值得深入研究。参加操作系统设计赛时,我选的语言是Rust,相比C语言是比较新的,我们从今年一月份开始学Rust语言,边学边设计操作系统内核,中间干不下去的时候只能到处找资料学习,正是凭着对系统研究的痴迷克服了各种让人奔溃的困难,让我们走进大赛的最后阶段。”获得内核设计赛道二等奖的林杰克同学说。

  团队里还有一个“大神”,叫吴奔腾。他从大二上即开始研究计算机系统,并形成自己独到的见解,在今年参加华为毕昇杯编译系统设计赛中,本来已经走到了最后,但他认为设计的系统不够完美,需要重构,推倒重来,最终与奖项擦肩而过。“奔腾同学,对系统研究最为热爱,痴迷了3年,有很多巧妙构思,追求完美,有一种理想主义的牺牲精神,是一块璞玉,值得好好雕琢。”章复嘉老师说。

  “解决卡脖子难题,需要一大批有系统思维、能力的计算机人才,基础软件、硬件人才的充足培养、储备,关系到计算机芯片及其系统软件的设计、制造及应用领域生态建设的突破。计算机人才培养,注重系统能力深耕,以赛促学,做长久功,是一件功德无量的事。”包健表示。

(责任编辑 余新花 赵洪河)

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

相关新闻