應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點新聞
企業(yè)注冊個人注冊登錄

老兵戴輝:華為操作系統(tǒng)28年史

2019-08-14 15:46 上觀新聞

導(dǎo)讀:一部華為發(fā)展史,也是一部可歌可泣的操作系統(tǒng)發(fā)展史。

8月9日,東莞松山湖沸騰的一天,華為消費者業(yè)務(wù)CEO余承東發(fā)布了鴻蒙操作系統(tǒng),中文來自山海經(jīng),英文叫HarmonyOS,不是以前傳說的OakOS。

余承東在介紹鴻蒙OS開發(fā)初衷時表示:“隨著全場景智慧時代的到來,華為認(rèn)為需要進(jìn)一步提升操作系統(tǒng)的跨平臺能力,包括支持全場景、跨多設(shè)備和平臺的能力以及應(yīng)對低時延、高安全性挑戰(zhàn)的能力,因此逐漸形成了鴻蒙OS的雛形。鴻蒙應(yīng)未來而生。”

最振奮的消息是,鴻蒙OS開源,方舟編譯器也開源,整個業(yè)界將參與進(jìn)來,一起發(fā)展。

操作系統(tǒng)成為一個火熱的話題,是從去年4月的中興事件安卓禁供之后開始的。

老兵戴輝訪談了倪光南院士,全網(wǎng)率先對中國各門類的操作系統(tǒng)總結(jié)了一把。

過去這些年,中國操作系統(tǒng)的進(jìn)步其實還是挺大的,在服務(wù)器和云的OS、嵌入式OS(如通信設(shè)備就大量采用)、物聯(lián)網(wǎng)和車聯(lián)網(wǎng)OS上與全球的差距并不大,PC的OS也有長足的進(jìn)步。

智能手機的操作系統(tǒng)在生態(tài)上的差距確實很大。老戴和倪院士討論之后,在文中提到了一個想法:既然國內(nèi)手機用的APP基本都是國產(chǎn)的,那么國產(chǎn)手機OS+微信小程序一起,在國內(nèi)完全可以作為安卓的備胎。

不幸而言中!13個月之后,今年的5月15日,華為被列入了所謂“實體清單”,谷歌操作系統(tǒng)對華為禁供。關(guān)于華為鴻蒙OS和方舟編譯器的話題一下子變得火熱。

東吳證券火傘高張策略會上老戴發(fā)言、中國標(biāo)桿邀請老戴去廣藥集團(tuán)講課,朋友們都激動地說:這是千載難逢的好時機啊,可以搞定中國的智能手機OS。

智能手機操作系統(tǒng)是信息技術(shù)的制高點,谷歌出于企業(yè)利益,爭取在安卓和Fuchsia上和華為繼續(xù)保持合作,但GMS權(quán)限并沒有放開,華為手機在海外的銷售也還會受到壓力。未來華為和谷歌將會怎么合作,還要等待時間來告訴我們。

詩興大發(fā),遂來整理華為的OS發(fā)展史。不整不知道,一整嚇一跳。

華為自研OS的淵源要追溯到28年前,而且貫通了華為業(yè)務(wù)全部三大BG和兩大BU!

第一章:難忘1991

1991年,南海之濱的南山半島上,有了劃世紀(jì)的故事。

1991年,徐文偉(大徐)領(lǐng)銜開發(fā)出了華為第一顆芯片——忘記取名字,就叫它ASIC。

在1991年,華為探索進(jìn)入電信運營商市場,在爭取準(zhǔn)入(開發(fā)JK1000)的過程中,也開始開發(fā)自己的操作系統(tǒng),徐文偉也正是研發(fā)負(fù)責(zé)人!

不禁好奇地問:怎么老是你!(歪譯How old are you!)答曰:有“心”(芯片)也有“魂”(操作系統(tǒng))啊!

差不多時候,遙遠(yuǎn)的北歐,有了大動作。

芬蘭,是有極光和有諾基亞的地方。

1991年,芬蘭打通了全球第一個GSM電話。中國的移動通信產(chǎn)業(yè)現(xiàn)在是世界最強,十大手機品牌中國有六大。無論是基站還是手機,都是從GSM開始發(fā)展的。這個話題本文就不發(fā)揮了。

就在這一年,21歲芬蘭赫爾辛基大學(xué)計算機科學(xué)系的學(xué)生林納斯·托瓦茲(Linus Torvalds)編寫了磁盤驅(qū)動程序和文件系統(tǒng)——成為了Linux第一個內(nèi)核的雛形,可以在采用Intel386 系列CPU的電腦上運行。

林納斯通過新生的互聯(lián)網(wǎng)(BBS)采用開源模式對外公開了這個Linux內(nèi)核。在全球無數(shù)人的努力下,Linux操作系統(tǒng)當(dāng)之無愧地成為了歷史上最偉大的開源軟件。

當(dāng)時,全球開發(fā)者都迫切需要一種免費的、開放的、可以根據(jù)需要修改的操作系統(tǒng)。而當(dāng)時,Windows和Unix都要收費,而且閉源。

Linux生逢其時。與其說是“人定勝天”,不如說是“時勢造英雄”?!靶切侵?,可以燎原”,“干柴烈火、風(fēng)起云涌”,“時運到了,擋都擋不住”,“Right time, right person”。

今天,Linux操作系統(tǒng)無處不在,無論是嵌入式、PC、服務(wù)器還是云,兼容了多種形態(tài)的CPU,包括intel的x86架構(gòu)、ARM、MIPS、Power、Alpha(神威)等等。

林納斯被譽為“Linux之父”。此稱號當(dāng)之無愧!他有句名言:Talk is cheap. Show me the code!

在后來的28年里, 華為和Linux有過不少交集。

第二章:孔雀東南飛

華為的今天,是十幾萬人集體奮斗的楷模。但是創(chuàng)業(yè)之初就沒有幾個人,個人的能力就非常重要了。

工作三年后,徐文偉在87-90年間,重新回到東南大學(xué)深造,讀自動控制專業(yè)的研究生,師承衣承斌教授?!耙粋€書包,兩個碗,教室宿舍圖書館”。

衣教授在南京的工業(yè)界影響挺大,橫向合作項目甚多,門下弟子大徐負(fù)責(zé)干具體的活,一方面設(shè)計單片機硬件,一方面用機器語言和匯編語言寫嵌入式軟件。

大徐的生活就是“操作系統(tǒng)”。讀書和實踐兩不誤(“多任務(wù)系統(tǒng)、并行計算”),每個月有例外的幾十元津貼,吆三喝五去成賢街那有著漂亮老板娘的的林燕餐廳(“內(nèi)存管理”),將鴨血粉絲轉(zhuǎn)化成燃燒的激情和動力(“編譯系統(tǒng)”),冰冷的啤酒侵入到身體的五臟六腑和九曲回腸(“輸入輸出 I/O”;“文件結(jié)構(gòu)”),喝多了對著月亮講些阿里不達(dá)的胡話(“高級語言”),回沙糖園宿舍一頭躺倒在書叢中(“數(shù)據(jù)庫”)。

計劃經(jīng)濟(jì)時代,南京是中國最重要的自動控制和電力電子研發(fā)重地,很多部委都在這里有研究所和企業(yè)。記得當(dāng)時有個部屬的自動化所給每人發(fā)了一萬多的年終獎金,讓大家垂涎萬丈!現(xiàn)在有南瑞、南自、東大金智為代表的眾多電力電子企業(yè)。

東南大學(xué)是民國時期中央大學(xué)工程類學(xué)科衣缽的正宗傳人。

有部名片叫《無問西東》。抗戰(zhàn)期間,中央大學(xué)從東向西順江而上去陪都重慶的沙坪壩與重慶大學(xué)共校址,卻是真正的“無問西東”。1924年,大文豪泰戈爾去清華之前,先來南京,在后來是舞廳的老體育館里講話。徐志摩揮一揮衣袖登臺翻譯:“余乘輪船(從上海)溯揚子江而上.....及船近金陵,晨光熹微,鳥聲雜樹,無數(shù)帆船,順風(fēng)直駛,穩(wěn)渡中流,又覺得此種光明浩大現(xiàn)象,即將來世界人類,經(jīng)過混沌狀態(tài),由犧牲奮斗所得結(jié)果之比例?!?/p>

圖注:泰戈爾訪華期間與徐志摩(右一)、林徽因(右二)等人合影

閑話少說。大徐心已有所屬,不花心思在鶯歌燕舞中。他有空就去夫子廟的廢舊電子市場,一堆堆來自國外的廢舊電路板和電子元器件,按斤賣,可以找到有價值的芯片和器件,“尋寶游戲”。挑選三極管要用到舌頭。先用萬用表的兩個表筆先分別接觸好發(fā)射極和集電極來檢查漏電流,再用舌尖舔集電極和基極,看看指針的變化以來看放大倍數(shù)。

大徐后來寫過一篇《如何用萬用表和示波器調(diào)試程控交換機》的指導(dǎo)書,不知道也要用舌頭不?

計算機房里還有1980年進(jìn)口的霍尼韋爾小型機,在紙帶上打孔標(biāo)記“0”或者“1”來做程序和數(shù)據(jù)的輸入,CPU可以直接照此執(zhí)行,這就是最最最底層的機器語言(machine language)。

知名外企億利達(dá)來南京招聘。1990年初,高材生徐文偉偕家人來到了“文化沙漠”深圳,住進(jìn)了農(nóng)民房,在港企億利達(dá)的高科技部研發(fā)高速激光打印機。差不多時候,倪光南在聯(lián)想也開發(fā)了激光打印機,還做了芯片。

1990年,鬼才黃霑寫了首歌曲,傳唱到今天,正好描述那個年代:滄海一聲笑,滔滔兩岸潮,浮沉隨浪,只記今朝。蒼天笑,紛紛世上潮,誰負(fù)誰勝出,天知曉。

第三章:1992年,華為開發(fā)出了第一套操作系統(tǒng)

億利達(dá)隔壁的深意工業(yè)大廈里,華為正在做用于企業(yè)用戶的小交換機(俗稱小總機),底層的軟硬件設(shè)計能力迫切需要補強,挖空心思到處撬人,大徐就加入了這個充滿著革命豪情的startup。從億利達(dá)同來的還有他的小伙伴,中科大85級少年班的軟件天才聶建林。

阿寶(鄭寶用)主持研發(fā)的小總機上,華為有了第一桶金。不過好景不長,這個領(lǐng)域逐漸成為紅海,國內(nèi)出現(xiàn)了上百家同類型企業(yè)。中國最擅長的就是:將價格做爛,大家都沒有錢賺。

圖注:1994年訪問美國,左起劉啟武、李一男、楊漢超、徐文偉、鄭寶用、黎健、毛生江

郵電體系使用的程控交換機,七國八制,利潤高企,是藍(lán)海。

有核心研發(fā)能力的國內(nèi)廠家也都在努力進(jìn)入。老戴的老領(lǐng)導(dǎo)李祥庭畢業(yè)于解放軍信息工程學(xué)院的計算機系,他說本系的年輕教師鄔江興不知天高地厚地“口出狂言:“程控交換機不就是計算機+傳統(tǒng)交換機嗎?”就好比李書福的名句:“汽車不就是四個輪子加兩排沙發(fā)嗎?”

鄔江興拿了郵電部300萬元就開干了,還真的做出了巨龍!華為侯金龍早年就安裝和維護(hù)過巨龍的機器。郵電部十所背景的大唐也做出來了,倪光南也帶領(lǐng)聯(lián)想也開發(fā)出來了。

深圳是改革開放前沿陣地,好幾家也在使勁。動作最快的是中興。侯為貴是南京人,利用鄉(xiāng)情和國企背景找到了南京郵電學(xué)院的陳錫生教授和糜正琨教授,這兩位可是中國程控交換技術(shù)的領(lǐng)軍人物啊。他們派教研室里三位年輕老師來到大梅沙,為中興半導(dǎo)體開發(fā)出了500門程控交換機。兩位老師因為家眷在南京因此回去了,單身漢殷一民留了下來。長虹的技術(shù)源自長春郵電學(xué)院(現(xiàn)在并入吉林大學(xué))。央企中國電子旗下的桑達(dá)也是名噪一時。

現(xiàn)在的華為很強大,但當(dāng)時的華為,卻只是一個“草臺班子”。學(xué)暖通搞過建筑還養(yǎng)過豬的任正非能找到的開發(fā)人員都不是程控交換科班體系畢業(yè)的,大多是出茅廬不久的畢業(yè)生,學(xué)生味還沒有散盡呢!郭平挖了鄭寶用來華為,阿寶帶著大家和街上的小混混打過幾架,福建農(nóng)村出身的他,有著粗壯的胳膊。

據(jù)老戴所知,第一個加盟的通信科班畢業(yè)生應(yīng)該是來自北郵的王誠。老板一看簡歷:什么?北郵的,要了!于是王誠就背著挎包找同學(xué)和校友幫忙去了,后來他擔(dān)任過國內(nèi)市場部總裁,老戴做過他的銷售小兵。

要進(jìn)入郵電局系統(tǒng),首先要有國家發(fā)的生產(chǎn)牌照。華為要搞的時候,500門的已經(jīng)沒有指標(biāo)了,只有1000門還有機會。時間還很緊,過了這村還就沒有這個店了。

為了防止一哄而上的惡性競爭,國內(nèi)經(jīng)常用牌照來進(jìn)行限制。如98年發(fā)了GSM和CDMA手機牌照,華為因為心頭有痛,沒有去拿,搞得后來好多年都進(jìn)不了手機行業(yè)。后來的衛(wèi)星機頂盒、支付牌照都是一樣的故事。

1991年冬,華為成立了只有很少人員(10人左右)的項目組來試著做運營商的設(shè)備,從此走上了與世界各國之“狼”共舞的不歸之路,這是一種“不成功、則成仁”的悲壯過程。

馬修·連恩在加拿大育空地區(qū)創(chuàng)作的憂郁專輯《狼》里的主打歌正好應(yīng)了此景:You would be a sweet surrender,I must go the other way,and my train will carry me onward。請你輕柔的放手,我必須遠(yuǎn)走他方,我的列車會載我到天涯。

時間很緊,如果趕不上在1992年底關(guān)閘,就沒有“門票”進(jìn)入郵電系統(tǒng),那也就沒有今天的華為。任老板也許就真的去“養(yǎng)豬”去了,說不定能搞個“任我行土豬”。

交換網(wǎng)絡(luò)是空分還是數(shù)字,對于通過郵電部的鑒定,并沒有任何影響。模擬空分技術(shù)做到500門之上就很難了,大徐就組織開發(fā)了兩個500門的模擬空分模塊合在一起做成了1000門。

網(wǎng)絡(luò)一些文章認(rèn)為JK1000沒有采用數(shù)字網(wǎng)板是失誤,并以訛傳訛,這個觀點是錯誤的?;氐?991-92年,華為并沒有幾桿人槍,電信的門都沒有踏進(jìn)去,首要目標(biāo)是要搶“門票”,要解決的自然是關(guān)鍵需求。

要進(jìn)入郵電體系,核心是要實現(xiàn)電信運營商級別的“程序控制”,也就是主機系統(tǒng),能有效地進(jìn)行管理、計費和提升新業(yè)務(wù)。在極其有限的人力物力下,核心的主機系統(tǒng)采用什么技術(shù)路徑能最快實現(xiàn)目標(biāo)?當(dāng)時有4個選項。

1、華為之前的HJD48用戶機是基于單片機和匯編的控制方式。盡管對外也吹牛叫“程控”,但主要是打電話的功能。然而郵電部入網(wǎng)的要求甚多,在傳統(tǒng)單片機上用匯編語言是無法滿足的。(譚云飛:有老華為告訴我,HJD48的CPU是Z80,軟件也是用的Z80匯編語言)

2、采用RISC(精簡指令)的CPU芯片,如當(dāng)時頗為流行的摩托羅拉芯片。難以用高級語言(如C)編寫軟件,編寫操作系統(tǒng)和提升新業(yè)務(wù)也會很辛苦。

3、采用市場上可買到的基于386的PC主板(攢機愛好者最為熟悉了),達(dá)不到郵電部要求的可靠性,各種接口也不匹配,更沒有辦法做熱備份。

4、自主設(shè)計基于386芯片的高可靠性主控板(不用市場上的通用PC主板),支持熱備份,自己開發(fā)BIOS,用高級語言(C語言)+匯編的混合編程方式來編寫主機軟件。

JK1000最終決定采用了方式4。這個新開發(fā)的主控板也取名叫MPU(主處理單元)。

大徐是硬件開發(fā)者和匯編高手,聶建林是C語言高手,雙劍合璧,和大家一起鍛造了JK1000的主機軟件系統(tǒng)。采用了C語言+匯編的混合編程方式。

圖注:C&C08的主機軟件結(jié)構(gòu),最核心的就是操作系統(tǒng)

圖注:C&C08主機軟件各部分功能

JK1000主機軟件系統(tǒng)的核心是一個原生態(tài)的基于命令行的嵌入式操作系統(tǒng),都是自己從頭一句一句來開發(fā)的。它初步具備了操作系統(tǒng)的基本特征,如對全部軟、硬件資源的管理和分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動等。

軟件測試是一個難題。最初,主機軟件系統(tǒng)動不動就吊死了(停止運行或者陷入無限循環(huán)),為了檢查到底問題出在哪里,花了很大精力在程序中設(shè)計了不少計數(shù)器,并存儲在內(nèi)存的某個特定位置。死機后,通過去查計數(shù)器的數(shù)值,來分析判斷問題在哪里。有沒有誰玩游戲的時候直接去內(nèi)存里改生命值的嗎?

任正非經(jīng)常晚上九點來給大家送面包牛奶,跟大家吹噓“未來要在陽臺上曬錢”,很好的“政委”和“教導(dǎo)員”。

十多個素人,只用了幾個月,在1992年下半年,就開發(fā)出了JK1000(郵電)局用程控交換機。華為當(dāng)時真的沒有什么錢,任正非本人也只是租了個小房子住。

這也是大徐第一次帶領(lǐng)團(tuán)隊打仗,完成了從悶頭苦干到抬頭看路的大“轉(zhuǎn)身”。JK1000的研發(fā)人員中,老戴還認(rèn)識滕云芳(曾擔(dān)任新加坡代表)和何志強(曾任電信系統(tǒng)部部長和海思銷售負(fù)責(zé)人)。

1992年下半年,浙江海寧的某鎮(zhèn)開通了JK1000局用交換機。大徐、聶建林和研發(fā)同仁們在現(xiàn)場修改軟件、編譯、加載、運行,這都是當(dāng)年的土辦法。

浙江海寧局的局長非常nice,每到陰歷的十五就拉著華為的全部人馬出去看錢塘潮??吹么蠹倚某迸炫?,思緒萬千。

就這樣,JK1000局用程控交換機趕在最后關(guān)頭,通過了郵電部的鑒定,拿到了入網(wǎng)證,可以銷售了!可以說,這是一把“金鑰匙”。天佑華為,從此華為開始了一路開掛的征途。

讓我們花些時間來贊美一下于貝爾實驗室誕生的C語言。C語言是一門偉大的高級語言,大大降低了程序員寫匯編的痛苦,還可以創(chuàng)造大量的軟件功能模塊,并進(jìn)行靈活的調(diào)用。

用C語言寫好軟件,通過C語言編譯器產(chǎn)生匯編代碼,通過匯編器再轉(zhuǎn)成二進(jìn)制執(zhí)行代碼。程序員要理解匯編代碼以及與它的源C代碼之間的聯(lián)系,因為編譯器隱藏了太多的細(xì)節(jié)如:程序計數(shù)器、寄存器(整數(shù)、條件碼、浮點)等。這正是大徐的強項。

在這里埋下了編譯器的伏筆,今天的華為已經(jīng)有了方舟編譯器,可以手機跑得更快。8月9日,華為宣布方舟對外開源,造福整個業(yè)界。

老戴的C語言是清華生陸李啟蒙,他后來也到了億利達(dá),現(xiàn)在是中國迷你對講機之王。不過,老戴的嘴皮子更厲害,所以荒廢了武功。

JK1000的主機系統(tǒng)用著用著就變得越來越慢(早期的安卓也是一樣)。大徐就設(shè)置在每天半夜2點,沒有什么人打電話的時候,系統(tǒng)自動重啟,釋放掉所有資源,全部重新來過。美名其曰“半夜雞叫”。

開局成功后,應(yīng)力釋放,大徐住進(jìn)了醫(yī)院。這才有時間靜靜地看講通信原理的書籍,感慨:原來通信是這樣一回事情,自己還一直當(dāng)做是自動控制設(shè)備來開發(fā)呢!華為的風(fēng)格是“先結(jié)婚,后戀愛, 在槍林彈雨中成長”。

華為在全國各地郵電局大張旗鼓地去賣JK1000。當(dāng)時西方公司非常牛X,價格昂貴。全國2000多個縣,每個縣的郵電局都有決策權(quán)。

深入一線,從農(nóng)村包圍城市,是華為的發(fā)展之路。在主要的省會開設(shè)了辦事處,初步建立了覆蓋全國的市場體系,但是也很簡陋。姚福海到了山西太原,找了個旅館住下,打電話告訴公司自己住哪個旅館哪個房間。太原辦事處,就這樣成立了!

深圳的企業(yè),銷售手法豐富多彩,此處略去一萬字。

JK1000在一年多里,就賣了近兩百臺,賺了不少快錢。

網(wǎng)絡(luò)上很多文章說,因為JK1000是空分制式,所以逼得華為不得不同時啟動數(shù)字制式C&C08的開發(fā),搞得企業(yè)差點崩盤,任正非差點“跳樓”。

真實的情況剛好是相反的。如果沒有JK1000卡在時點獲得了”入場券“,華為就進(jìn)不了電信運營商的門。如果沒有JK1000賣的近200套,華為也支付不起開發(fā)數(shù)字機的費用,更加重要的是,沒有底氣真的去干電信這個活。

水平不行,服務(wù)來湊?!叭A友會”會長 俞渭華94年進(jìn)華為,開始是去東北做服務(wù)。有過著名保衛(wèi)戰(zhàn)的黑山在一個鄉(xiāng)鎮(zhèn)有臺JK1000因受雷擊導(dǎo)致冒青煙了,工作人員英勇?lián)尵葏s被薰暈了。他緊急趕赴現(xiàn)場,發(fā)現(xiàn)難修。主任蘇偉指示:別留下“罪證”,馬上發(fā)新機!立馬找臺車全拉走,“挖坑深埋”!后腳新機就到了。防雷與阻燃是工藝問題與通信技術(shù)無關(guān),當(dāng)年的鄉(xiāng)鎮(zhèn)機房的避雷與接地也實在不好。華為用深入到黑山白水的快速響應(yīng)來獲得了立足之地與客戶的理解。避雷是個共性問題,華為用了一些年才最終艱難地解決。

第四章:適度創(chuàng)新,穩(wěn)打穩(wěn)扎,步步前行

JK1000開發(fā)勝利在望的時候,華為啟動了數(shù)字機C&C08 A型機的開發(fā)。主機系統(tǒng)完全承接了JK1000的技術(shù)路線,硬件上則聚焦解決數(shù)字網(wǎng)板的技術(shù)難題。大徐作為器件室負(fù)責(zé)人,也沖在了最前線。

1993年,A型機開發(fā)成功后,又繼續(xù)啟動了萬門機的開發(fā)(C型機和后續(xù)定型的B型機)。這次主要解決的技術(shù)問題是兩個,一是通過自己設(shè)計芯片來提高數(shù)字網(wǎng)板的集成度和容量,二是通過光模塊來實現(xiàn)多個模塊之間的連接。

可以看到,華為的成功經(jīng)驗是:將每次產(chǎn)品開發(fā)的創(chuàng)新工作量控制在一定的比例里,確保每個產(chǎn)品都能商業(yè)銷售。步步為營,穩(wěn)打穩(wěn)扎,層層推進(jìn),而不是指望一口吃成一個胖子。

后來,任正非在《創(chuàng)業(yè)創(chuàng)新必須以提高企業(yè)核心競爭力為中心》的演講中說到: 我們提出了在新產(chǎn)品開發(fā)中,要盡量引用公司已擁有的成熟技術(shù),以及可向社會采購的技術(shù),利用率低于70%,新開發(fā)量高于30%,不僅不叫創(chuàng)新,而是浪費,它只會提高開發(fā)成本,增加產(chǎn)品的不穩(wěn)定性。

人老了,最近的事情不一定記得,塵封已久的往事卻時不時浮上心頭。

早年里,主機軟件就是一個大包,每次都是整體升級,復(fù)位重啟。不像西方公司,可以通過打補丁的方法來進(jìn)行錯誤的修正。為了解決網(wǎng)上問題,有時候一個下午都會出幾個版本,如三點鐘版、五點鐘版、七點鐘版。

為了能實現(xiàn)整個系統(tǒng)的快速復(fù)位重啟,大徐使用了FLASH閃存技術(shù),在備份的MPU的閃存上先LOAD上新版本的主機軟件,重啟該MPU,然后進(jìn)行主備MPU切換,一秒鐘整個系統(tǒng)就復(fù)位成功了,堪稱“光速”!這個技術(shù),老戴后來賣移動GSM的時候也經(jīng)常吹噓。

老戴的同班同學(xué)鄒孟睿,97年畢業(yè)到中興通信做程控交換機內(nèi)核的開發(fā),中興上市前突擊分了一把股票。1997-11-11光棍節(jié)中興上市,他以迅雷不及掩耳之勢賺了一把快錢。為慶祝他發(fā)財,老戴也去蓮塘熱鬧了一回,聽他嘀咕道:內(nèi)存管理是程控交換機主機系統(tǒng)最頭疼的技術(shù)問題。

和老戴一起97年進(jìn)華為的王迎軍,一起租住粵海門村的農(nóng)民房,后來他成為華為核心網(wǎng)幾巨頭之一。98年,大家一邊興致勃勃地交流香港的小電影,一邊談技術(shù)。他將所有的主機軟件代碼全部都讀了一遍,是C語言編寫的,核心是一個基于命令行象DOS的操作系統(tǒng)。他說,最可怕的是有一堆全局變量,追蹤起來極其痛苦。作為核心測試人員,他有次和中興通信去PK,連夜修改內(nèi)部參數(shù)連夜編譯,使得同樣負(fù)荷下的CPU的占用率更低。CPU占有率是個核心指標(biāo),老戴敲字的電腦現(xiàn)在CPU占有率是77%。

王迎軍是學(xué)化學(xué)的,不過對這個專業(yè)一點不感興趣,就去考了個高級程序員,從此掉到了“01010101“的坑里。前些年我們在西麗的農(nóng)莊一起種過菜,他再也不和我談香港小電影了,談的是詩與未來,做了領(lǐng)導(dǎo),就是不一樣。

南京郵電大學(xué)糜正琨教授的弟子曾浩文是殷一民的師弟,他于1997年畢業(yè)后卻來到了華為,從開發(fā)工程師做起,在世紀(jì)之交成為C&C08最后一個版本128模的研發(fā)負(fù)責(zé)人。號稱可以支持百萬用戶,華為第一次在窄帶數(shù)字程控交換這個單品上做到了世界銷量第一。曾浩文記得當(dāng)時有句話:華為不想成為世界第一,卻不得不走在成為第一的路上。

有意思的是,128模第一版推出后,發(fā)現(xiàn)了眾多 bug,修修改改很麻煩,就重寫了一次整個系統(tǒng)代碼。同樣的事情,GSM也干過。

有沒有Windows什么事?

核心的前臺主機軟件(含操作系統(tǒng))確實是從來沒有Windows什么事的,但C&C08上還有一個BAM模塊(后臺管理單元)可以用。即使關(guān)掉了BAM模塊,C&C08的前臺主機軟件也是照樣運行。BAM后來演進(jìn)為OMC,華為云BU負(fù)責(zé)人鄭葉來就是當(dāng)時OMC的開發(fā)負(fù)責(zé)人。一線OMC應(yīng)用軟件偶爾有點小瑕疵,老兵戴輝去反饋,OMC接口人答得讓人啼笑皆非:是你們國外Windows版本的兼容性問題,與我們并沒有什么關(guān)系!

李泓:當(dāng)年進(jìn)華為就接手CC08B型機的計費和告警模塊。后來想跳槽到智能業(yè)務(wù)部下面的互聯(lián)網(wǎng)研究部(后來被撤銷了),交換部的總經(jīng)理張順茂不放人,說交換部的部門任意選并建議我去32模塊(那時128模塊還沒開始呢),把我弄到了測試部去負(fù)責(zé)BAM的測試,跟王迎軍一樣做了個小Leader,沒想到他現(xiàn)在是核心網(wǎng)的巨頭了??戳四愕奈恼拢雌鹆撕枚喈?dāng)年在華為做螺絲釘?shù)幕貞洝?/p>

最后說一下軟件銷售的商業(yè)模式,和主機軟件密切相關(guān)。

早年主機系統(tǒng)軟件中并沒有做license控制,升級和軟件服務(wù)也是免費的。只要客戶持續(xù)不斷地買華為設(shè)備,什么都好商量。

04年我去印尼運營商那里,發(fā)現(xiàn)西門子的服務(wù)人員每個月都過來一次,看網(wǎng)上增長了多少用戶,就給運營商開張發(fā)票,再收一把份子錢,可西門子確實什么都沒有干啊,怎么就可以收錢?

徐直軍(小徐)成立的戰(zhàn)略與MKT有個商業(yè)模式部,研究行業(yè)慣例,開始搞“存量收費”,按用戶、按功能進(jìn)行l(wèi)icense控制,每年的軟件維護(hù)和升級合在一起也要收取軟件服務(wù)年費。華為的技術(shù)支持部門因此獲得巨大收益。曾祥森和王海君先后擔(dān)任了這個部門的負(fù)責(zé)人。

當(dāng)年主要是靠賣硬件賺錢,沒有想到到了今天,軟件license才是真正賺錢的東西。因為核心網(wǎng)全部云化后,底層硬件就是x86通用服務(wù)器了,誰都能賣,毛利變得象紙片一樣薄。

第五章:核心網(wǎng)的OS成為整個華為發(fā)展的基礎(chǔ)

最近中美貿(mào)易摩擦中,大家注意到了”5G核心網(wǎng)“這樣一個名詞。美國對核心網(wǎng)給與了很多關(guān)注,可見這是非常重要的網(wǎng)絡(luò)設(shè)備。

核心網(wǎng)從功能上講,不僅服務(wù)于座機(固定電話),也服務(wù)于移動電話,包括2G/3G/4G/5G等。特定服務(wù)5G的時候,就叫5G核心網(wǎng)。

核心網(wǎng)從硬件和操作系統(tǒng)上,這些年有了很大的變革。

1、TDM(時分復(fù)用)的架構(gòu),傳統(tǒng)上叫數(shù)字程控交換機。當(dāng)年劉江峰做GSM開發(fā)的時候,MSC(相當(dāng)于移動的程控)和BSC(基站控制器)都是基于C&C08的平臺。

2、IP化?;贗P的軟交換架構(gòu),也叫NGN(下一代網(wǎng)絡(luò))。硬件上有cPCI(框式)和ATCA(刀片式)兩代。

3、IP+IT化。IMS(IP多媒體系統(tǒng))架構(gòu)。硬件從此變成了x86通用服務(wù)器,軟件架構(gòu)變化很大。

4、全面云化,NFV(網(wǎng)絡(luò)功能虛擬化)。

華為核心網(wǎng)的實時操作系統(tǒng)前后有了四次技術(shù)變革。

1、28年前,大徐他們是從底層開始一點一點自研的操作系統(tǒng)。

西方做RTOS(實時操作系統(tǒng))內(nèi)核的那些小公司從八十年代才剛剛從兩三個人的規(guī)模起步,尚未影響到中國。價格昂貴,還要是美刀,小公司華為也根本支付不起。

2、九十年代中后期,融入全球先進(jìn)技術(shù)潮流,C&C08也在基于pSOS和VxWorks微內(nèi)核的基礎(chǔ)上開發(fā)了嵌入式實時操作系統(tǒng)。

C&C08 128模塊的主機系統(tǒng)里,SPC模塊用的是pSOS,PPC和CPC模塊用的是VxWorks。

擁有VxWorks內(nèi)核的美國風(fēng)河公司,也收購了pSOS,最后一起并入到了Intel公司。華為的主處理器,也因此長期使用Intel的x86架構(gòu)。大家看到了CPU和操作系統(tǒng)內(nèi)核之間的強鎖定關(guān)系。

諾基亞和愛立信也是采用類似的做法,都是VxWorks的客戶。

思科則是基于QNX的內(nèi)核,是QNX在汽車領(lǐng)域之外最大的客戶。老戴今天就在渥太華,QNX的總部就在這里。QNX于1980年成立,一群人哼哧哼哧做了幾十年,不停地去適配各種場景,實時性穩(wěn)定性兼容性俱佳,QNX在傳統(tǒng)汽車的OS中市占率非常高,達(dá)到了80%左右。QNX后來賣給了黑莓,就是那個曾經(jīng)無比輝煌的手機品牌。

華為5G的基礎(chǔ)理論研究也是華為5G首席科學(xué)家童文博士帶隊在渥太華來干出來的。

圖注:老兵戴輝于華為渥太華研究所前

3、2007年開始,華為成功基于開源的Linux內(nèi)核來實現(xiàn)實時操作系統(tǒng)。

這是Linux陣營和華為的一個大的進(jìn)步。

實際上,風(fēng)河公司自己也在大力推廣嵌入式Linux內(nèi)核了。

核心網(wǎng)平臺首席架構(gòu)師姚弋宇寫了一篇文章,叫《從泥坑里爬起來》。

2007年,核心網(wǎng)在軟交換硬件架構(gòu)上,從cPCI平臺切向ATCA平臺,但都還是用Intel的x86 CPU。最大的改變在操作系統(tǒng)上,從ATCA架構(gòu)開始,在Linux上進(jìn)行了大量優(yōu)化開發(fā)實時操作系統(tǒng),并替換以前的基于pSOS和VxWorks內(nèi)核開發(fā)的嵌入式實時操作系統(tǒng)。

優(yōu)化解決Linux的時延時,一點一點地?fù)?,最終成功將時延降低到非常低的水平。上次聽無人機公司講開發(fā)經(jīng)驗,也是要一克一克地去降低機體的重量。

這是一個偉大的勝利,最終成功打造了第一個公司級的電信Linux操作系統(tǒng),后續(xù)延伸到了數(shù)據(jù)通信產(chǎn)品線的VRP上。省了錢不說,還大大提升了能力。華為對國際Linux開源陣營也做出了巨大的歷史貢獻(xiàn)。

任寶剛點評:我2009-2012年是核心網(wǎng)平臺項目經(jīng)理和開發(fā)代表,當(dāng)時和愛立信比拼ATCA的刀片硬件架構(gòu)加基于開源Linux內(nèi)核的軟件平臺(之前是cPCI專有硬件+VxWorks嵌入式平臺),一開始大家問題都很多,每天開車從東莞往回拉日志分析,被客戶罵刀片架構(gòu)是“刀刀見血”。好在我們最后勝了。ACTA平臺的第一個全球商用的版本就是當(dāng)時我們搞的。盡管最終的結(jié)果是好的,但是過程都是極其艱辛的,所以對待那些創(chuàng)新和失敗,要有足夠的耐心,沒有神話,火候到了才能出來。

按任正非的理念,如果一個技術(shù)的核心是算法和邏輯,華為是可以通過努力來搞定的,所以華為在汽車BU里,做電池管理BMS(核心是算法和邏輯),卻不做電池(核心是化學(xué)和材料)。任正非大力呼吁國家培養(yǎng)更多數(shù)學(xué)家。

4、新引入了一個層次:云計算,新架構(gòu)叫NFV(網(wǎng)絡(luò)功能虛擬化)。原有的RTOS不變。

這與華為的Fusion Sphere云計算操作系統(tǒng)是一脈相承的,采用了采用了KVM虛擬化引擎(也屬于Linux陣營)、Docker容器、K8S(Kubernetes)等各種技術(shù)。

云技術(shù)為CPU的切換、在核心網(wǎng)中引入ARM服務(wù)器帶來了機遇,后面將會講到。

第六章:鴻蒙RTOS誕生

大家看到了,華為的OS經(jīng)過了獨立開發(fā)、基于pSOS和VxWorks微內(nèi)核開發(fā)RTOS、基于開源的嵌入式Linux宏內(nèi)核開發(fā)等多個歷程,這為鴻蒙的誕生奠定了雄厚的技術(shù)基礎(chǔ)和理解。

有個人很關(guān)鍵,他叫王成錄。他先是核心網(wǎng)產(chǎn)品線總裁,核心網(wǎng)OS上積累了經(jīng)驗(實現(xiàn)了基于嵌入式Linux的RTOS)。隨后調(diào)任2012實驗室中央軟件部總裁,并啟動了鴻蒙的研究。網(wǎng)絡(luò)上有任正非2012年與2012實驗室員工的對話,表明華為開發(fā)手機操作系統(tǒng)是為了做“備胎”。提問的李金喜來自2012試驗室下的中央軟件院歐拉實驗室終端OS開發(fā)部,負(fù)責(zé)面向消費者BG構(gòu)建終端操作系統(tǒng)能力。

王成錄最后到消費者BG任軟件總裁。他的文章《華為手機操作系統(tǒng)往事》提到華為優(yōu)化的F2FS文件系統(tǒng)克服了安卓傳統(tǒng)的碎片化缺陷,已經(jīng)為谷歌的安卓系統(tǒng)所吸收?!疤焐?,一生快”。文件系統(tǒng)是手機和PC操作系統(tǒng)的一個重要組成部分。

圖注:8月9日開發(fā)者大會上,王成錄發(fā)布EMUI 10

任正非先生關(guān)于鴻蒙操作系統(tǒng)有精辟語錄:我們有數(shù)千塊(注:種類)電路板,電路板都要有操作系統(tǒng)。鴻蒙操作系統(tǒng)是一個面向確定時延系統(tǒng)的操作系統(tǒng),實現(xiàn)系統(tǒng)端到端處理時延是精確到 5 毫秒,甚至更低的毫秒級乃至亞毫秒級,控制只有這么小時延,對物聯(lián)網(wǎng)自動生產(chǎn)有用。比如無人駕駛,齒輪轉(zhuǎn)過來時延是幾毫秒,如果是不準(zhǔn)確的,不然這個齒輪來了,那個齒輪還沒有來,就咬合不上了。我們是為了萬物互聯(lián)、將來走向智能社會所做的一個操作系統(tǒng)。

從任正非先生的言語中可以看到,鴻蒙未來也可能用到系統(tǒng)設(shè)備上。

第七章:華為操作系統(tǒng)群芳譜

在核心網(wǎng)的OS基礎(chǔ)之上,華為的操作系統(tǒng)百花齊放,貫通了華為業(yè)務(wù)全部三大BG(運營商、企業(yè)、消費者含手機)和兩大BU(云計算、汽車)。

在我去年描述的中國操作系統(tǒng)群像里,已經(jīng)列舉了華為的系列化操作系統(tǒng),增補總結(jié)如下:

1、路由器和數(shù)據(jù)通信交換機操作系統(tǒng):VRP(通用路由平臺),這是華為OS的另外一條主線

1996年,華為的C&C08賣得熱火朝天,華為倉中有糧,在北京研究所開始了數(shù)據(jù)通信的研發(fā)。

華為的VRP應(yīng)該基于美國風(fēng)河公司的VxWorks 微內(nèi)核開發(fā)了實時操作系統(tǒng)。Tornado 是風(fēng)河公司推出的一套實時操作系統(tǒng)(RTOS)開發(fā)環(huán)境,類似Microsoft Visual C,但是提供了更豐富的調(diào)試、仿真環(huán)境和工具。另外還有一家同行pSOS,后被風(fēng)河收購了。

2003年1月23日,思科公司在美國指控華為侵權(quán)。訴訟過程之中,發(fā)現(xiàn)華為的VRP系統(tǒng)比思科的IOS體積小多了,效率也更高。

無獨有偶。思科的IOS實際上是基于QNX內(nèi)核開發(fā)的實時操作系統(tǒng)。

前些年,核心網(wǎng)OS采用了開源的Linux內(nèi)核實現(xiàn)了RTOS以后,華為數(shù)據(jù)通信的VRP也已經(jīng)采用嵌入式Linux內(nèi)核了。

在移動通信中,有一個很重要的領(lǐng)域:PS域(分組交換系統(tǒng)),如GGSN/SGSN等,功能是在3G/4G/5G系統(tǒng)中處理IP數(shù)據(jù)打包和交換?,F(xiàn)在大家用手機基本上都是走流量而不是打電話,所以PS域也就越來越大。PS與RAN(無線接入網(wǎng)絡(luò),基站等)密切相關(guān),所以華為內(nèi)部常年將PS直接歸類在無線產(chǎn)品線(RAN)內(nèi)。

華為3G/4G/5G的PS域是基于自己的數(shù)據(jù)通信交換機,所以也同樣采用過VxWorks 的微內(nèi)核。

2018年8月英國對華為系統(tǒng)的安全審查中,認(rèn)為華為采用的VxWorks系統(tǒng)在 2020 年后將無法獲得安全補丁和升級,有安全隱患。

但實際上,這并不是什么問題。

一方面,華為的數(shù)據(jù)通信交換機已經(jīng)開發(fā)了自己的基于嵌入式Linux內(nèi)核開發(fā)的RTOS。即使對于風(fēng)河,官網(wǎng)上也介紹了英國電信的RAN(無線接入網(wǎng))采用風(fēng)河的嵌入式Linux的成功故事。另外一方面,鴻蒙的微內(nèi)核,也可以做備胎。

2、云計算操作系統(tǒng):Fusion Sphere。最初采用XEN虛擬化引擎,現(xiàn)在走向KVM。

3、服務(wù)器操作系統(tǒng):歐拉EulerOS,即將開源,和全世界共同進(jìn)步。

4、物聯(lián)網(wǎng)嵌入式操作系統(tǒng):LiteOS。超輕量級,已經(jīng)開源。

通信泰斗鄔賀銓認(rèn)為:“AIoT是IoT的發(fā)展方向,IoT需要AI來提升其價值。5G是連接AI與IoT的橋梁,其高帶寬、高可靠低時延、大連接開拓了AIoT更廣闊的應(yīng)用領(lǐng)域。”

5、汽車和無人駕駛操作系統(tǒng):鴻蒙。余承東宣布鴻蒙開源,通過開源來吸納全球智慧,是最好的辦法。

6、智能手機、電視機操作系統(tǒng):鴻蒙。這個大家說得很多了。

7、方舟編譯器。方舟編譯器并不是操作系統(tǒng)本身,但是一方面可以提高編譯后操作系統(tǒng)程序的運行效率(手機跑得更快),另外一方面,大大方便APP業(yè)務(wù)移植到鴻蒙,原來的安卓應(yīng)用(APP)只要做很小的改動,就可以通過方舟編譯器編譯后,在鴻蒙上運行。

一花獨放不是春。華為30年,為社會培養(yǎng)了不少人才,創(chuàng)業(yè)系中也有好些做操作系統(tǒng)的。

A、季昕華創(chuàng)立的UCloud,是唯一一個沒有依靠大產(chǎn)業(yè)背景而獨立做大的公有云,因為“刀塔傳奇”手游云業(yè)務(wù)而一炮走紅。UCloud在公有云中是第一個基于開源的KVM引擎進(jìn)行開發(fā)的,甚至早過了阿里云。

B、華三是從華為體系分離出去的。VRP操作系統(tǒng)從此“花開兩朵,各表一枝”。華三體系的OS命名為Comvare。

C、宇視又是從華三分離出去的,Imos Inside是宇視安防OS的商標(biāo)。Intel認(rèn)為Imos Inside侵犯了Intel Inside的商標(biāo),但并未能獲得法院的支持。

D、曾浩文創(chuàng)立的京華科訊是國內(nèi)第一個自主桌面云OS,第一個采用KVM虛擬化技術(shù)路線,成功進(jìn)入了海陸空三軍。

第八章:掌握了操作系統(tǒng),就不怕CPU卡脖子了

5月15日,華為被列入了實體清單,Intel的CPU一度對華為斷供。

老兵戴輝大膽預(yù)測這對華為不會有什么大的影響。因為華為控制了操作系統(tǒng)之后,下層的CPU就可以靈活切換了。

在數(shù)據(jù)中心(和云)服務(wù)器領(lǐng)域,Intel占領(lǐng)了超過95%以上的市場份額。

由于歷史原因(本文已經(jīng)介紹了這個歷史),目前全球的電信核心網(wǎng)都是采用Intel的x86架構(gòu)通用服務(wù)器。

因為電信核心網(wǎng)操作系統(tǒng)為華為所控制,再上層的業(yè)務(wù)和生態(tài)也是為華為所控制,所以這個領(lǐng)域的服務(wù)器完全可以從x86架構(gòu)轉(zhuǎn)成Arm架構(gòu)。

華為不得不做這個事情。今年1月7日,華為發(fā)布首款A(yù)RM架構(gòu)服務(wù)器CPU鯤鵬芯片及泰山服務(wù)器,發(fā)布人就是徐文偉。通過容器技術(shù),可以將多臺泰山服務(wù)器(采用Arm CPU)構(gòu)成大的服務(wù)器集群,從而在電信核心網(wǎng)上使用。

回頭看Linux,最早一版也只基于x86,后來也跨平臺支持了Arm、Power,MIPS等各種CPU架構(gòu)。

我們將眼光投向騰訊。微信的服務(wù)器集群,上邊都是跑的基本都是安卓和IOS生態(tài),在技術(shù)上,也完全可以采用Arm服務(wù)器集群,而不是以前的x86服務(wù)器集群。

在電信的計費領(lǐng)域,華為已經(jīng)有了成功案例。

2019年7月19日凌晨,經(jīng)過緊張而有序的割接,山東移動計費CRM系統(tǒng)的軟硬件成功實現(xiàn)替換升級,成為首個在核心系統(tǒng)中采用國產(chǎn)自研全套軟硬件解決方案的運營商,在自主可控的道路上邁出堅實一步。華為自研系列IT軟硬件:基于鯤鵬920的TaiShan泰山服務(wù)器,GaussDB高斯數(shù)據(jù)庫、服務(wù)器操作系統(tǒng)歐拉EulerOS。

更早一些時候,2017年底,倪光南院士披露,航天科工集團(tuán)“商密網(wǎng)”是當(dāng)時規(guī)模最大的全國產(chǎn)軟硬件構(gòu)成的信息系統(tǒng),已部署了2萬臺全國產(chǎn)桌面電腦,由包括“航天昆侖數(shù)據(jù)庫一體機”在內(nèi)的國產(chǎn)服務(wù)器提供云服務(wù),并引入了采用航天元心移動操作系統(tǒng)的安全手機支持移動辦公。

對于個人電腦而言,Intel也面臨Arm的挑戰(zhàn)。去年夏天在硅谷的微軟店里,看到了采用高通基于Arm的CPU,加上微軟的Windows,由聯(lián)想Lenevo打造的支持always on的筆記本電腦。海思新近也在開始做基于Arm架構(gòu)的用于筆記本電腦的CPU了,期待中。

結(jié)語:創(chuàng)新永無止境

2019年的東南大學(xué)畢業(yè)典禮上,曾鍛造華為第一顆芯片和第一套OS的徐文偉發(fā)言:

“華為從創(chuàng)立以來一直在堅持的,就是創(chuàng)新。過去30多年以來,華為的成功是基于客戶需求的技術(shù)創(chuàng)新和工程創(chuàng)新,幫助客戶成功的解決方案創(chuàng)新,實現(xiàn)商業(yè)成功,這樣的創(chuàng)新,我們稱之為華為創(chuàng)新1.0。而信息產(chǎn)業(yè)超過50年的高速發(fā)展,理論和工程都遇到了發(fā)展瓶頸,我們需要理論突破,我們需要從0到1的創(chuàng)新。

“華為正式宣布進(jìn)入創(chuàng)新2.0,創(chuàng)新2.0的核心是基于愿景的理論突破和基礎(chǔ)技術(shù)的發(fā)明,而理論突破和基礎(chǔ)技術(shù)發(fā)明源頭之一是學(xué)術(shù)界,在大學(xué)里,在座的各位之中。”