首頁>科技>

近兩年,國內關於作業系統的話題逐漸多了起來,不過對於很多應屆生來說,作業系統研發的門檻太高,令人望而生畏。即使知道行業急缺相關技術人才,崗位高薪,待遇優厚,大部分人還是不敢貿然嘗試。

作業系統研發真的是不適合萌新應屆生的領域嗎?對於這個問題,在企業中進行相關研發的人又怎麼看呢?我們找到了在螞蟻金服進行系統軟體研發的資深技術專家秦承剛,來看看他的看法。

從一篇論文說起

秦承剛研發的作業系統是應用在雲端計算上面的。隨著螞蟻金服全面轉型雲原生架構,為了在新的架構下保障應用效能和資料安全,應對雲原生架構下的新挑戰,必須在系統層面進行深入挖掘。

談起應屆生是否適合作業系統研發,他提到最近剛好有這樣一件事。

去年,螞蟻金服首次參與該大會,就有兩篇論文入選,其中一篇正是秦承剛團隊所操刀的。

這篇論文有兩個共同第一作者,一名是團隊的應屆實習生余天依,另一名則是上海交通大學計算機學院的研究生。

這篇論文的主題是近兩年開始火熱的Serverless技術的啟動速度問題,這個問題一直困擾業界,是Serverless遲遲難以在生產環境大規模應用的原因之一,而團隊成功將Serverless冷啟動的時間降低到亞毫秒級別,其中的關鍵技術就是輕量級作業系統。

原來,這原本是秦承剛團隊的一個技術預研專案,在18年的時候,雲原生已經很紅熱,但Serverless出現沒多久,不被人們廣泛接受,承剛預判到這項技術未來會有很大的潛力,因此選擇這個方向進行技術攻關。

由於涉及到一些前瞻性的技術,團隊需要科研力量的加入,也就是與高校展開學術合作。余天依本身出自上海交大,通過她在當中作為技術溝通橋樑,團隊順利和上海交大並行與分散式系統研究所搭上線,雙方展開合作。

論文中用到的作業系統是Google於2018年開源的gVisor,論文在作業系統層面優化了Serverless場景下的例項啟動時延,能夠在幾毫秒內完成作業系統與應用的啟動。

承剛團隊所研發的輕量級作業系統也是基於gVisor,不過給它做了諸多改進與功能增強,在虛擬化技術網路協議棧上做了很多創新。其中很多改進會逐步回饋給開源社群,上述論文就是其中一個例子。

應屆生如何參與系統研發

上面的論文只是承剛團隊工作的冰山一角,他們所研發的系統軟體是螞蟻金服可信原生技術拼圖的重要一塊。

所謂可信原生技術,是在社群的雲原生技術基礎上,實現軟硬體全鏈路的安全性,讓整個系統無論從內部還是外部都無法被攻破,從而實現可信任。

過去人們討論雲原生時,安全問題並沒有受到太多關注。而云原生裡的容器,相比虛擬機器,更容易引發安全問題。在雲原生中,傳統容器共享同一個CPU等資源,缺乏隔離性,一旦一個容器發生安全問題,很可能影響到其它容器,甚至入侵整個系統。承剛團隊所研發的系統軟體,在底層作業系統和容器應用之間添加了一層隔離,從而提升了安全性。

承剛團隊的工作一方面是和作業系統打交道,所以對Linux核心的研究會很深入,團隊裡有專人蔘與Linux核心開源社群,以及跟進系統軟體相關的學術研究進展;另一方面,團隊需要讓應用在雲原生環境下執行得更好更安全,因此也會涉及到作業系統級別的工程效能、運維交付、安全可信等研發工作。

正因為最前沿的雲原生架構,和最古老的作業系統產生碰撞,所以對研發帶來了極大的挑戰,而且,很多時候有些瓶頸單靠經驗難以解決,需要藉助學術界的力量,對難題進行攻關,上面的論文正是誕生於這樣的背景。

所以應屆生當然適合作業系統軟體研發,承剛團隊也一直希望有優秀的應屆生加入。

承剛希望兩類應屆生的加入,一類就是上面所說的研究型實習生,鑽研前沿技術,尋求技術突破。另一類則是普通的開發崗位,團隊也需要新鮮血液的注入。

新人加入團隊之後,除了常見的技術培訓之外,還會為每個新人配備一個“師兄”,師兄不僅會負責傳道授業解惑,還要像兄長一樣,陪伴新人、保護新人,和他們一起共同成長進步。

在工作安排上,不會一上來就給新人安排很難的工作,而是像升級打怪一樣,讓新人從簡單的工作做起,逐漸學習並融入團隊,然後承擔更大的任務。

給應屆生的建議

在今天,系統軟體研發並不是一個冷門的行業,很多公司都有負責開發維護系統核心,甚至是研發全新作業系統的崗位,但是市場上系統軟體研發專家仍然非常稀缺,所以這是一個很有前景的方向。

從另一個角度看,系統軟體研發的確是一個高門檻的技術領域,因此,對從業人員的素質也有一定的要求。

這裡面第一個門檻是需要有熱情,願意從事系統軟體研發工作。因為很多時候工程師需要與底層軟硬體打交道,需要深入理解作業系統與處理器的運作原理,這個過程是很枯燥的,如果沒有熱情很難堅持下來。另外,系統軟體和行業軟體不一樣,行業軟體在入職一到兩週後就可能會有產出,但系統軟體可能需要更長的週期,這也需要堅持下來的定力。

其次,對應屆生來說,想從事系統軟體研發,需要學好計算機專業基礎課程,把基本功打紮實,對於計算機硬體、處理器、作業系統、虛擬化等要熟悉它們的功能和原理。另外,需要持續學習,比如可以自學一些系統軟體相關的論文和書籍,關注最新的學術進展,在這裡,承剛也推薦了幾本書籍,讓同學們可以提前了解:

1. 《Computer Architecture: A Quantitative Approach》

2. 《Systems Performance: Enterprise and the Cloud》

3. 《Understanding the Linux Kernel》

4. 《奔跑吧 Linux核心》

5. 《系統虛擬化 -- 原理與實現》

另外,如果從事這個領域,還需要關注的學術會議包括:OSDI、SOSP、ASPLOS、EuroSys等。

不過,系統軟體研發並不是高不可攀,高校學生在校期間就可以參與,首先從熟悉Linux系統開始,了解系統原理後,開發一些小功能,甚至小工具和指令碼,也可以提升自己對系統軟體的理解。

這一項的進階版本就是參與系統軟體的開源社群,比如Linux核心、gVisor等等,從最基本的翻譯編寫文件,到參與某項功能模組的開發,通過這些行動,同學們可以快速的成長。

最後,如果對系統軟體研發感興趣,想了解如何面試,也可以看看前輩的面試經驗,祝大家都能早日找到自己滿意的工作~

加入我們

> 職位簡介

部門:螞蟻金服-CTO線-可信原生技術部

地點:杭州,上海

崗位:實習開發工程師

面向:2020.11 -2021.10 畢業的本科/研究生

面試形式:通常是電話面試,會提前預約合適的時間哦

簡歷投遞:[email protected]

我們團隊承擔了螞蟻金服作業系統的研發與創新工作。我們致力於將先進的系統技術與螞蟻的金融級業務場景相結合,不斷在系統領域進行創新與落地。目前,我們的全新作業系統正在逐步服務於螞蟻的核心業務。我們在協議棧,檔案系統,虛擬化等元件上已經有了大量的自研產品。並在系統領域的頂會ASPLOS 2020上發表了論文。同時,我們在軟硬體結合創新上也在持續深入。歡迎有志於從事系統技術的同學加入我們,共創輝煌。我們希望你了解作業系統,虛擬化技術,網路協議棧,檔案系統等,最好有相關的專案經驗。也希望你能夠使用C,Go,Rust等語言熟練程式設計。更希望你有技術理想,對系統領域保持飢渴的好奇心,能夠迅速學習新技術。

> 領域方向

1. 虛擬化方向:從事螞蟻金服高安全輕量化的虛擬化技術研發。熟悉Intel X86,ARM等處理器的虛擬化技術,熟悉KVM等典型Hypervisor。有虛擬化領域的研發實踐經驗者優先。

2. 作業系統研發方向:從事螞蟻金服安全作業系統核心研發。熟悉Linux核心或其他作業系統核心。熟悉記憶體管理,檔案系統,網路協議棧,程序排程等作業系統核心元件。有作業系統研發經驗者優先。

3. 系統安全技術方向:熟悉ARM TrustZone,AMD SEV技術,有系統安全技術的相關經驗。

4. 系統技術研究:從事系統與安全領域研究的博士研究生,發表過高水平論文,有紮實的研究成果。

> 基礎要求

1. 熟練掌握C、golang、Rust等程式語言,有系統技術研發經驗者優先; 2. 紮實的演算法及資料結構基礎,對軟體工程有良好的理解;

3. 參與過Linux核心、gVisor、DPDK等開源社群者優先。

4. 熟悉Intel X86、ARM等處理器技術與原理者優先。

5. 有技術熱情、責任感,致力於系統軟體研發與創新者優先。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 從淘寶架構來分析:“淘寶內測版本”P1級事故,是怎麼發生的?