方先義顯然深諳此道。
“夏總,聽說(shuō)您最近對(duì)移動(dòng)互聯(lián)網(wǎng)很感興趣?”
方先義話鋒一轉(zhuǎn),目光灼灼地看著夏冬,“特別是操作系統(tǒng)這一塊?”
夏冬放下茶杯,手指在膝蓋上輕輕敲擊了兩下:“是有這個(gè)想法。金山的雷總想做手機(jī),我覺得光有硬件不行,靈魂得掌握在自已手里。”
一聽到“操作系統(tǒng)”四個(gè)字,一直悶頭喝茶的孟啟明猛地抬起了頭,眼神瞬間變得銳利起來(lái)。
方先義敏銳地捕捉到了這個(gè)細(xì)節(jié),立刻笑道:“巧了,孟啟明老師這幾年一直帶著團(tuán)隊(duì)在做嵌入式Linux內(nèi)核的裁剪和優(yōu)化,雖然和通用的手機(jī)操作系統(tǒng)還有距離,但在底層邏輯上是相通的。”
“哦?”夏冬看向孟啟明,“孟老師怎么看現(xiàn)在的手機(jī)系統(tǒng)?比如塞班(Symbian)?”
孟啟明放下茶杯,說(shuō)到專業(yè)領(lǐng)域,他原本的局促感一掃而空,取而代之的是一種近乎執(zhí)拗的認(rèn)真。
“塞班……太老了。”孟啟明搖了搖頭,“它的內(nèi)核設(shè)計(jì)是基于上個(gè)世紀(jì)九十年代的硬件環(huán)境,為了省電和內(nèi)存,犧牲了太多的擴(kuò)展性。”
“現(xiàn)在的硬件發(fā)展速度是摩爾定律在推著走,未來(lái)的手機(jī),內(nèi)存和算力會(huì)指數(shù)級(jí)增長(zhǎng)。塞班那種復(fù)雜的C++變體開發(fā)環(huán)境,注定會(huì)被淘汰。”
夏冬眼睛一亮。
在2008年,能這么堅(jiān)決地判塞班死刑的人,不多。
“那孟老師覺得,未來(lái)應(yīng)該是什么樣的?”夏冬追問(wèn)。
孟啟明推了推那副厚重的眼鏡,皺著眉頭思索了片刻,似乎是在組織語(yǔ)言,也像是在審視某種可能:“應(yīng)該是分層的。底層用成熟的Linux內(nèi)核負(fù)責(zé)硬件調(diào)度,中間層要有一個(gè)高效的運(yùn)行時(shí)環(huán)境,把硬件的差異屏蔽掉,最上層則是靈活的UI框架。”
說(shuō)到這里,他頓了頓,語(yǔ)氣加重了幾分:“最重要的是,要對(duì)開發(fā)者友好。現(xiàn)在的塞班開發(fā),簡(jiǎn)直就是反人類。”
夏冬心中暗贊。這不就是Android的雛形嗎?哪怕是在2008年,頂級(jí)的技術(shù)專家依然有著敏銳的直覺,他們?nèi)钡模皇悄且粚哟皯艏垺?/p>
夏冬身體微微前傾,手指輕輕敲擊著膝蓋,開始引導(dǎo)話題:“孟老師的想法很有見地。我在想,如果在Linux內(nèi)核之上,我們不直接跑原生應(yīng)用,而是做一個(gè)虛擬機(jī)呢?”
孟啟明一愣:“虛擬機(jī)?在手機(jī)上跑虛擬機(jī)?那性能——”
“類似于Java虛擬機(jī),但要專門為移動(dòng)設(shè)備優(yōu)化。”夏冬打斷了他的疑慮,“我們可以放棄基于棧的架構(gòu),改用基于寄存器的架構(gòu)……”
孟啟明的腦海里,仿佛一道閃電劈開了迷霧。
夏冬之所以敢把這些核心架構(gòu)拋出來(lái),心里是有盤算的。
現(xiàn)在是2008年8月,大洋彼岸的谷歌其實(shí)早就完成了Android的收購(gòu)和布局,第一臺(tái)Android手機(jī)T-Mobile G1下個(gè)月就會(huì)發(fā)布。
這些所謂的“絕密思路”,最多再過(guò)一段時(shí)間,就會(huì)隨著Android源碼的升級(jí),變得人盡皆知。
既然馬上就不值錢了,不如現(xiàn)在拿出來(lái),作為換取北郵頂級(jí)科研資源的籌碼。
更何況,夏冬自已也有難言之隱。
最近幾天,他在辦公室里那是沒日沒夜地騷擾“豆包”,惡補(bǔ)了大量移動(dòng)操作系統(tǒng)的架構(gòu)知識(shí)。
但豆包畢竟只是個(gè)AI,它能給出完美的架構(gòu)圖、設(shè)計(jì)理念和未來(lái)趨勢(shì),但具體的代碼實(shí)現(xiàn)細(xì)節(jié)、那些底層驅(qū)動(dòng)的調(diào)試坑,夏冬是兩眼一抹黑。
他就是一個(gè)拿著藏寶圖的人,知道寶藏在哪,知道路該怎么走,但要讓他拿著鏟子去把路挖出來(lái),他沒那個(gè)體力,也沒那個(gè)技術(shù)。
他需要孟啟明這把“鏟子”。
“我們可以把每一個(gè)應(yīng)用都跑在獨(dú)立的虛擬機(jī)進(jìn)程里,這樣就算一個(gè)應(yīng)用崩了,也不會(huì)導(dǎo)致系統(tǒng)死機(jī)。”
夏冬繼續(xù)拋出干貨,甚至用手比劃了一個(gè)分層的概念。
“然后,我們把硬件驅(qū)動(dòng)封裝成一個(gè)HAL層(硬件抽象層),這樣手機(jī)廠商換硬件的時(shí)候,不需要去改動(dòng)上層的框架……”
隨著夏冬的敘述,孟啟明甚至顧不得禮貌,直接從包里掏出了筆記本和筆,開始飛快地記錄。
他一邊記,一邊嘴里念念有詞,額頭上甚至滲出了細(xì)密的汗珠:“HAL層……獨(dú)立虛擬機(jī)……解耦……對(duì),對(duì)啊!這樣廠商就不用為了適配硬件改內(nèi)核了!這是天才的想法!”
方先義在一旁看著,雖然他聽不懂具體的“虛擬機(jī)”、“HAL層”是什么鬼東西,但他看得懂人的表情。
孟啟明這人他是知道的,眼高于頂,典型的技術(shù)狂人,平時(shí)連院長(zhǎng)的賬都不怎么買。能讓他露出這種狂熱表情,說(shuō)明夏冬說(shuō)的東西,絕對(duì)是干貨中的干貨。
方先義看向夏冬的眼神變了。
如果說(shuō)之前只是把夏冬當(dāng)成一個(gè)有錢的“金主”,現(xiàn)在,他隱隱感覺到,這個(gè)年輕人肚子里裝的東西,可能比整個(gè)北郵計(jì)算機(jī)系的教授加起來(lái)都要深不可測(cè)。
技術(shù)上的交流,前后大概只持續(xù)了半個(gè)小時(shí)。
夏冬很清楚自已的斤兩。對(duì)于操作系統(tǒng),他現(xiàn)在的腦子里只有豆包提供的“上帝視角”——架構(gòu)圖、發(fā)展趨勢(shì)、核心理念。
這些東西確實(shí)能唬人,甚至能指明方向,但真要落實(shí)到代碼層面,比如某個(gè)驅(qū)動(dòng)的內(nèi)存泄露怎么查,某個(gè)中斷沖突怎么解,他就是兩眼一抹黑。
多說(shuō)多錯(cuò),不如點(diǎn)到為止。
見孟啟明還沉浸在剛才那幾個(gè)“天才構(gòu)想”里不可自拔,夏冬不動(dòng)聲色地收起了那張畫著草圖的白紙,把話題生硬卻又不失自然地轉(zhuǎn)到了別處。
“孟老師,技術(shù)路線咱們既然有了共識(shí),那咱們聊聊落地的基礎(chǔ)——人。”
夏冬手指輕輕敲擊著桌面,“咱們北郵計(jì)算機(jī)學(xué)院,每年做底層系統(tǒng)研究的研究生和博士生,有多少人?”
孟啟明愣了一下,顯然沒想到思維跳躍這么大,他推了推眼鏡,神色有些尷尬。
“這個(gè)……”孟啟明看了一眼旁邊的方先義,嘆了口氣,“說(shuō)實(shí)話,不多。”
“現(xiàn)在互聯(lián)網(wǎng)行情好,百度的搜索、騰訊的QQ,都要招大量的應(yīng)用層開發(fā)。”
“學(xué)生都很現(xiàn)實(shí),做底層系統(tǒng)太枯燥,出成果慢,畢業(yè)了還不好找工作,國(guó)內(nèi)沒幾個(gè)公司真正做這個(gè)。”
“所以大部分學(xué)生,哪怕進(jìn)校時(shí)跟了我,研二也基本轉(zhuǎn)去搞Java或者PHP了。”