幕後的魅族:專訪 BSP 工程師吳章金,揭秘安卓手機的內核世界
歷經了 13 年風雨的魅族在中國市場的核心競爭力是什麼?
是人。
即使浮現在表面的故事只讓我們記住了倔強的黃章,記住了謙和的白永祥,但站在魅族夢想光環下的,卻是上千名身經百戰卻又默默無聞的技術員、工程師。
我想故事不需要躲藏。
於是這檔探訪魅族幕後的專題欄目應運而生,從手機的底層設計、選型,到手機各個零部件的開發與研究,再到供應鏈與企業管理,幕後的魅族將向你介紹在手機製造每個環節的專家們,用不同於以往的視角,以更加樸實的描述,還原這家特立獨行企業的真實面貌。
在第一期中,我專訪了已經在魅族工作了 5 年的 BSP 優化工程師吳章金以及他背後的魅族內核團隊。
吳章金
年齡:31
出生:江西修水
職位:BSP 高級經理
畢業:蘭州大學
在職:5 年
我對江西人印象一直停留在兩個字上。
內斂。
吳章金也是如此,平頭方臉,古銅色皮膚,說話聲音不大,但穩而有力。
吳章金是那種一眼就能看出來的學霸類型,即使他沒有向我提及他學生時代在課本上的付出,但我依然能從他身上聞到一股濃濃的墨水味。
吳章金是生於 80 年代的貧苦一代,家裡賴以生存的就是那一畝三分地。吳章金家中共有三兄妹,而生為長子的他有著和傳統中國農家孩子一樣迫切想要擔當一切的責任意識,並且堅信知識改變命運的真理,於是 03 年吳章金以極其優秀的成績考入了蘭州大學的計算機系,而轉折就從這裡開始。
2003 年正值國內積極推廣 Linux 的時期,而蘭州大學正好是國內第一批建立高校 Linux 推廣中心的大學,這給剛剛踏入計算機科學大門的吳章金提供了一個絕佳的平台,Linux 開源平台。
早年國內對 Linux 平台的扶持其實相對欠缺,吳章金在大學裡獲得的這次深入了解 Linux 的機會實際上非常難得,而實幹的性格也讓他不甘於只是做 Linux 的受益者,於是他開始積极參加學校 Linux 的推廣活動,並逐漸成為學校 Linux 推廣的發起人之一。
在學習了一年後,吳章金和其他幾個 Linux 愛好者開始籌備組建學校的 Linux 開源社團,在組建社團的過程中,他大量的接觸到了 Linux 內核方面的相關知識,並開始重新思考 Linux 對於他的現實意義,也就是從這時開始,吳章金決定全身心的投入 Linux 當中,而他的目標就是讓自己成為 Linux 開源世界的貢獻者,而不僅僅是受益者。
他和同學們一起組建的蘭州大學 Linux 開源社團在之後的 10 幾年裡,一直有條不紊的發展著,如今這個 Linux 社團每年依然會給全國許多大型企業提供優秀的 Linux 開發人才。
2007 年,吳章金本碩連讀被保送了蘭州大學研究生,開始細分化的在 DSLAB 實驗室主攻分散式與嵌入式系統的研究,而其主要研究的方向則是當時門檻相對較高的實時系統(Real-time System),早年國內對於實時系統的研究還處於相對比較靠後的狀態,吳章金打開大門的鑰匙來自大量的外國文獻以及他的導師,來自奧地利的Nicholas教授,前沿的技術資料與歐洲人嚴謹的治學思維給吳章金深入學習 RT-Linux 等實時系統帶來了深遠的影響,而在研究生期間的學習也使他更加看清了開源世界的得與舍。
2009 年,吳章金在經過了兩年的深入學習後,得到了一次在江蘇中科龍夢的龍芯產業化基地實習的機會,這時的龍芯產業正屬於高速發展期,需要大量的專業人才來給其晶元構建生態環境,而當時吳章金的工作,就是把社區的 RT-Linux 移植到龍芯上,並把調試後的源代碼再貢獻給開源社區,在這一段的工作時期,吳章金第一次感受到了成為開源貢獻者的喜悅,為開源社區上傳了大量的龍芯 Linux 內核的代碼,並一躍成為官方 Linux 社區華人貢獻排名前 30 位的成員。
2010 年,在 Linux 圈內小有名氣的吳章金收到了當時大名鼎鼎的美國WindRiver(風河)發來的 Offer,希望他能入職風河進行實時系統的開發工作,這個機會成了吳章金把技術理論轉化技術實踐的跳板。
普通消費者對於 WindRiver(風河)可能相對陌生,但對於長期研究嵌入式操作系統的吳章金來說,風河卻是他曾經一直嚮往的企業之一,風河是全球知名的嵌入式系統開發公司,於 2009 年被英特爾全資收購,風河在嵌入式系統領域的研究水平屬於全球頂尖,其開發的 VXworks 等嵌入式系統被廣泛的應用于軍事、航空航天等尖端科技領域。
2011 年,在風河工作了一年的吳章金注意到了安卓的飛速發展,預感到 Linux 向消費電子靠攏的大潮即將襲來,於是吳章金和幾個朋友嘗試組建了一個 Linux 的技術組織,希望為國內的一些企業提供 Linux 的技術支持,而正是這時,才剛剛轉型安卓的魅族,找到了吳章金。
魅族的技術骨幹梁東明(魅族 CTO)在 M9 的初期開發階段就遇到了安卓內核開發方面的阻力,並意識到如果要開發出一款穩定的產品,BSP 方面的人才不可或缺,於是願意為企業提供 Linux 內核底層技術幫助的吳章金成了梁東明的目標之一,在經過了幾次交談後,梁東明有意招攬吳章金的想法越發顯現。
在 2011 年的 5 月,梁東明向吳章金表明了自己想要招攬他的意圖。
經過兩個月的長考後,吳章金最終放棄了風河的機會,選擇了魅族。
在聊到最終選擇魅族的原因的時候,吳章金的回答讓我有些意外。
「你可能不相信,我選擇魅族的理由更多是因為一種理想色彩,因為我覺得國產應該還能做的更好,對於我這種生於貧困的 80 後而言,民族自豪感,夢想,這些從小就耳濡目染的辭彙已經深層次的影響了我的人生,而魅族是具有這些基因的公司,我想這是我最終選擇魅族的理由。」
吳章金這一干就是 5 年,這個內斂的江西人在 5 年前剛入職時就規划了未來 10 年的目標,而如今 5 年已經過去,吳章金似乎已經提早一步完成了他所預定的設想。
問答:
1.用通俗的話來說,你覺得 BSP 團隊在手機的研發過程中起著怎樣的作用?
吳:「我想用一張圖就能夠很好的體現 BSP 研發在整個安卓智能手機開發中的作用。」
「 紅色標記的就是 BSP 主要負責的模塊,這當中包括了 HAL(硬體抽象層)、BootLoader(硬體初始化管控)、Linux&Device Driver(Linux 內核驅動)三個部分。」
「BSP ( Board Support Package ) 實際上是介於硬體和系統之間的橋樑,一方面要引導和驅動各種底層硬體,另一方面要為安卓系統提供包括任務調度、文件系統、電源管理在內的各種操作系統服務,雖然消費者不能直接感知,但它就如人的血液一樣,無時無刻不在協調整個手機系統的運行,確保它在一個正常的環境下運轉。」
「 更具體的來說,BSP 在手機的穩定性、發熱、性能、續航等方面都起著相當重要的作用,而這些基礎指標的優化也是我入職魅族的這幾年一直在做的工作。」
2.能簡單的介紹一下自己平時的工作么?
吳:「這需要從手機的開發流程說起,手機從立項到最終上產線需要經過非常多的中間步驟,而我們幾乎在每一個過程中都需要參與。」
「其中最關鍵的在於 B1-Bn 的階段,在這中間內核團隊需要進行大量功能開發、移植和驗證工作,以確保硬體開發板或者手機板的正常啟動,並順利引導內核載入,完整驅動各項外圍器件。」「同時我們還需要進行安卓系統的適配,進而完成手機上第一個可運行的原生 Android 系統,之後再交付給 Flyme 部門,協同進行深度開發和客制化。在之後團隊還要負責產線用的工廠固件和測試工具的開發調試工作,並進行大規模的功能和系統測試,深度優化各項系統的用戶體驗。」
「在 MP 階段最終量產後,團隊還要對出廠固件進行穩定性等多方面的測試工作,在產線生產時,每台機器還要進行各種產線器件測試和長達數小時的整機老化和壓力測試。」
3.穩定性、續航等這幾個點都是消費者非常關心的,在你參與研發的魅族的幾代產品中,側重點是否有不同?
吳:「 我把這看成是一個循序漸進的過程,而且很幸運的是我親眼目睹並全程參與了這一變化過程。」
「手機系統的研發實際上是一個金字塔結構。」
「早期在公司轉型 Android 智能手機的時期,我們有限的資源著重放在了可用和能用兩個方面,M9 時代是在功能研發和 Android/Linux 技術積累的階段,而在 MX 和 MX2 時期,我們開始投入大量精力做預研,去確保手機的系統穩定性,到了 MX3 時期我們則與結構等部門配合,更細化的著手於溫控,而在 MX4 之後,我們與 Flyme 部門一起協同配合,開始調度更多資源加大力度側重於優化續航和性能,這整個過程是循序漸進的。」
「功能和硬體參數的堆砌,其實大部分廠家都能做到,但是在消費者看不見的地方保持領先,卻很難,我在魅族已經工作了 5 年,魅族的硬體研究已經發展了 13 年,這當中所積累的技術經驗已經開始慢慢的體現在產品上,羅馬不是一天建成的,這種已經不怎麼新鮮的舊道理放在如今的手機行業里其實依然適用。」
4.能進一步的聊一聊現在消費者們非常關心的手機續航和性能么?
吳: 「我在兩年前寫過一篇 MX3 的省電技術詳解(魅族 MX3 Flyme 3.0 省電技術詳解 )除開裡面所提到的電池容量、充電速度等基礎硬體條件外,我著重談到了手機系統功耗控制的細緻化,這裡我可以給你舉一些在功耗控制方面的例子。」
?通過 PM Qos 更細緻地管控系統資源
?在 CPU 的調度,GPU、HWC 的硬體使用上都做更多場景化的調校
?屏幕自刷新技術(Panel Self Refresh)的改進,圖形顯示的優化,在特定的動畫設計幀率上進行調整
?開發三擋模式,讓用戶可以根據實際需要選擇節能優先還是性能優先,還是兩者均衡
?開發省電模式,把手機核心的頻率等控制在一個更低的範圍內
?與 Flyme 合作,共同在應用控制、應用自啟動、廣告推送、彈框等方面進行限制和優化
?與第三方或者社區合作,進行新的省電技術的開發和預研
「這只是其中很小的一部分,有些調校對於續航的影響可能微乎其微,但是每精確控制到一毫安的耗電量,積少成多,最終的體現就會非常明顯了,我們在續航方面其實做出了許多消費者不曾感知的努力,這個過程耗時非常之久,在整個產品迭代的過程中這其實也是我們一直在不斷攻克的問題。」
「而我們團隊在性能方面主要解決的並不是晶元的絕對性能問題,而是如何保證系統的流暢性,也就是消費者經常提到的不卡。」「在這幾年的時間裡我們做了大量的用戶場景調研,並且在提升性能的一些方面做了許多的優化工作,我同樣可以舉一些列子。」
?通過大量的樣本數據對應用演算法、內存泄露等問題排查
?更加細緻化的頻率、核數的資源配置調度
?硬指標的要求所有開發者遵守開發規範,消除過度繪製等問題
?採用 bootgraph.pl 等腳本更好的檢測內核啟動數據等性能參數,更好的發現問題
「實際上性能和續航一樣,是需要細緻和精確的進行優化的,而且這兩者之間是有許多相關性的,優化工作是一個非常龐大的工程,除開我們 BSP 團隊的內核方面的優化,Flyme 也有專職的團隊做對應的優化工作,這兩塊的最終改善是各個部門協調工作共同配合的結果,2015 年我們的產品已經在這方面達到了一個相對讓消費者滿意的水準。」
5.在魅族工作的這幾年,超出你預料之外的事是什麼?
吳:「用戶的爆炸式增長所帶來的 BUG 復現問題。」
「 這是我在 2014 年公司銷量飛速增長後所沒有預料到的,普通消費者可能很難以理解用戶增長實際上對於技術研發人員是一個巨大的壓力,過去我們很多難以復現的 BUG,因為用戶數成倍的增長而爆發了出來,也就造成了在魅族飛速發展的階段有一段時期我們有些控制不住產品的 BUG 顯現情況,這對於我們 BSP 底層驅動的穩定性提出了極大的考驗,用戶數從 200 萬到 2000 萬,就像每天本來吃 3 碗飯,如今每天吃 30 碗,這必須要有一個適應的過程。」
「 早期我們的壓力測試主要是人工刷固件並模擬用戶的使用習慣進行黑盒測試,這種方法的復現壓力小,覆蓋窄,效率低,很難及時發現一些隱性的 BUG。而在之後採用自動化測試後,我們採取刷入軟體模擬用戶點擊的方式,可以同時在上千台的設備里進行測試,效率大大提高,很多隱性問題都得以解決。同時我們加強了 RAS 方法的架構研究和部署,通過對潛在缺陷循環的優化,改善了整個問題的解決效率和部門的運作效率,在這一系列的措施實施後,BUG 復現問題逐步得到了解決。」
6.你最滿意的作品是哪一款?
吳:「 PRO 5,PRO 5 基本上已經成為了整個魅族 13 年的集大成之作,它趕上了我們 BSP 優化的四大基礎指標完善的時代,趕上了三星的 14nm 的工藝,趕上了深度優化過的 Flyme5,PRO 5 可以說是含著金湯勺出生的,它的整體表現已經達到了我剛入魅族時所設想的預期,無論是穩定性、續航、性能、散熱、PRO 5 都已經達到了一個相當優秀的水準。」
7.你覺得未來手機核心研究的方向是什麼?
吳:「首先,目前所有的智能手機的智能程度還很弱,未來在大數據,智能語音,圖像識別,感測器等技術逐步成熟後,智能交互可能會大大改觀。」
「其次,在手機硬體同質化非常嚴重的今天,大家都會注重一些技術突破和創新,差異化和個性化會逐步得到體現,比如三防,雙屏,曲面屏,大電池等技術都會逐步常態化。」
「而眼下我覺得最應受關注的應該是安全性,在人們過上富裕生活後,擔心的就是自己口袋裡的錢會不會不翼而飛,同樣在手機的流暢續航等方面已經做到出色的水平後,如何保證手機的安全性是我們現在正在攻克的問題,安全實際上一直是剛需,只不過在之前,手機行業普遍在其他方面做的還不夠好。我想在這兩年,安全會再次被拉到一個非常受關注的高度。」
8.來魅族的這幾年,自己最大的變化是什麼?
吳:「更加從容。」
「剛來魅族的那兩年,每天都要面對大量的 BUG,大量的調試工作,巨大的壓力經常壓的自己喘不過氣來。」
「而這兩年公司步入正軌後,自己的工作壓力則減輕了很多,因為各方面的框架已經相對完善,能調動的資源也更加充足,這也使得我們有機會留出更多的空間做一些更長遠的規劃,而不是倉促的忙於當下。我想用一句話來形容自己和內核團隊這些年的變化是再合適不過了。」
「從疲於奔命到未雨綢繆。」
9.如何看待 Linux 國內行業的現狀?
吳:「從業者很多,但專家很少,大部分圈內的 Linux 從業人員都是些知道的多而淺的偽專家,很少有對某一方面有深入研究的真專家,這實際上也體現出國內現在的年輕人缺少沉下心來學習的態度,更多的是求一個生存,求一個安穩。」
10.對於 Linux 你有什麼樣的情感?
吳:「我是開源 Linux 的受益者,同樣也是開源 Linux 的貢獻者,如果我的人生有重來的機會,我想我還是會選擇 Linux,從興趣變成了工作,並變成生活中不可分割的一部分,我從中受益良多。其實年輕的時候並沒有想到開源環境在整個社會當中所具有的價值,而如今接觸的多了,越發感受到開源能給完善它的人以生存機會,給使用它的人以便利,這是一個良性的循環。」
開源文化與開放精神
這是我在這次訪談後最想提及的兩個詞,在面見吳章金之前,我腦海中刻畫的吳章金是一個專註而不善言談的技術宅,而在談話中,他一直向我闡述他自己對 Linux 的態度,對開源的態度,這都讓我感覺他更像一個探路者,在探索開源文化與開放精神的道路上不曾停息的探路者。
吳章金的微信頭像是 Linux 里那隻叫 TUX 的企鵝,他身邊一直用的水杯上畫的也是TUX,我很少見到把生活和工作融入在一起的人,但吳章金是個例外。
如今已經 31 歲的吳章金既是一個好丈夫也是一個好父親,雖然他的生活已經被每天的計劃填的很滿,可他依然會抽出時間去籌備線下的 Linux 沙龍交流活動,他對於 Linux 的那份熱愛,不曾減弱。
「這兩年我依然能感受到自己每次修改新產品 Linux 內核的那股子欣喜,我除了把它當成工作,更把它當成了一種愛好,我覺得這是我這輩子最大的幸運。」
這是他在 Linux 圈混跡的第 10 個年頭,這是吳章金,魅族的 BSP 工程師,開源文化的探路者。
新浪微博:
吳章金falcon魅族內核團隊歡迎關注筆戈科技
微信公眾號:bigertech
以筆為戈,刺破這個世界的黑暗
推薦閱讀:
※【巴西0:0墨西哥】內馬爾流淚有原因
※《黑鏡》里的「黑」科技
※世界盃開場哨:到巴西去撒野
※八年後談「艷照門」:這不僅僅是場輿論狂歡
TAG:笔戈科技 | 魅族MX3Flyme30省电技术详解 | 吴章金falcon | 魅族内核团队 |