beplay2網頁登錄浙江站訊 (記者 陳顯婷 通訊員 程振偉)計算機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年,有很多巧妙構思,追求完美,有一種理想主義的犧牲精神,是一塊璞玉,值得好好雕琢。”章複嘉老師說。
“解決卡脖子難題,需要一大批有係統思維、能力的計算機人才,基礎軟件、硬件人才的充足培養、儲備,關係到計算機芯片及其係統軟件的設計、製造及應用領域生態建設的突破。計算機人才培養,注重係統能力深耕,以賽促學,做長久功,是一件功德無量的事。”包健表示。
(責任編輯 餘新花 趙洪河)
① 凡本站注明“稿件來源:beplay2網頁登錄”的所有文字、圖片和音視頻稿件,版權均屬本網所有,任何媒體、網站或個人未經本網協議授權不得轉載、鏈接、轉貼或以其他方式複製發表。已經本站協議授權的媒體、網站,在下載使用時必須注明“稿件來源:beplay2網頁登錄”,違者本站將依法追究責任。
② 本站注明稿件來源為其他媒體的文/圖等稿件均為轉載稿,本站轉載出於非商業性的教育和科研之目的,並不意味著讚同其觀點或證實其內容的真實性。如轉載稿涉及版權等問題,請作者在兩周內速來電或來函聯係。