每日最新頭條.有趣資訊

鴻蒙發布,華為老兵為你細數一部華為作業系統28年史

8月9日,東莞松山湖沸騰的一天,華為消費者業務CEO余承東發布了鴻蒙作業系統,中文來自山海經,英文叫HarmonyOS,不是以前傳說的OakOS。

余承東在介紹鴻蒙OS開發初衷時表示:“隨著全場景智慧時代的到來,華為認為需要進一步提升作業系統的跨平台能力,包括支持全場景、跨多設備和平台的能力以及應對低時延、高安全性挑戰的能力,因此逐漸形成了鴻蒙OS的雛形。鴻蒙應未來而生。”

最振奮的消息是,鴻蒙OS開源,方舟編譯器也開源,整個業界將參與進來,一起發展。

作業系統成為一個火熱的話題,是從去年4月的中興事件安卓禁供之後開始的。老兵戴輝訪談了倪光南院士,全網率先對中國各門類的作業系統總結了一把。

過去這些年,中國作業系統的進步其實還是挺大的,在伺服器和雲的OS、嵌入式OS(如通信設備就大量採用)、物聯網和車聯網OS上與全球的差距並不大,PC的OS也有長足的進步。

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

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

智能手機作業系統是信息技術的制高點,谷歌出於企業利益,爭取在安卓和Fuchsia上將和華為繼續保持合作,但GMS權限並沒有放開,華為手機在海外的銷售也還會受到壓力。未來華為和谷歌將會怎麽合作,還要等待時間來告訴我們。

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

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

第一章:難忘1991

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

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

在1991年華為探索進入電信運營商市場,在爭取準入(開發JK1000)的過程中,也開始開發自己的作業系統,徐文偉也正是研發負責人。

不禁好奇地問:怎麽老是你!How old are you?!答曰:有“心”(芯片)也有“魂”(作業系統)啊!

差不多時候,遙遠的北歐,有了大動作。

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

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

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

林納斯通過新生的互聯網(BBS)採用開源模式對外公開了這個Linux內核。在全球無數人的努力下,Linux作業系統當之無愧地成為了歷史上最偉大的開源軟體。

當時,全球開發者都迫切需要一種免費的、開放的、可以根據需要修改的作業系統。而當時,Windows和Unix都要收費,而且閉源。

Linux生逢其時。與其說是“人定勝天”,不如說是“時勢造英雄”。“星星之火,可以燎原”,“乾柴烈火、風起雲湧”,“時運到了,擋都擋不住”,“Right time, right person”。

今天,Linux作業系統無處不在,無論是嵌入式、PC、伺服器還是雲,兼容了多種形態的CPU,包括intel的x86架構、ARM、MIPS、Power、Alpha(神威)等等。

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

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

第二章:孔雀東南飛

華為的今天,是十幾萬人集體奮鬥的楷模。但是創業之初就沒有幾個人,個人的能力就非常重要了。

工作三年後,徐文偉在87-90年間,重新回到東南大學深造,讀自動控制專業的研究生,師承衣承斌教授。“一個書包,兩個碗,教室宿舍圖書館”。

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

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

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

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

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

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

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

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

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

知名外企億利達來南京招聘。1990年初,高材生徐文偉偕家人來到了“文化沙漠”深圳,住進了農民房,在港企億利達的高科技部研發高速雷射印表機。差不多時候,倪光南在聯想也開發了雷射印表機,還做了芯片。

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

第三章:1992年,華為開發出了第一套作業系統

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

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

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

郵電體系使用的級程控交換機,七國八製,利潤高企,是藍海。

有核心研發能力的國內廠家也都在努力進入。老戴的老領導李祥庭畢業於信大的計算機系,他說本系的年輕教師鄔江興不知天高地厚地“口出狂言:“程控交換機不就是計算機+傳統交換機嗎?”就好比李書福的名句:“汽車不就是四個輪子加兩排沙發嗎?”

鄔江興拿了郵電部300萬元就開幹了,還真的做出了巨龍!郵電部十所背景的大唐也做出來了,倪光南也帶領聯想也開發出來了。

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

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

據老戴所知,第一個加盟的通信科班畢業生應該是來自北郵的王誠。老闆一看簡歷:什麽?北郵的,要了!於是王誠就背著挎包找同學和校友幫忙去了,後來他擔任過國內市場部總裁,老戴做過他的銷售小兵。

要進入郵電局系統,首先要有國家發的生產牌照。華為要搞的時候,500門的已經沒有指標了,只有1000門還有機會。時間還很緊,過了這村還就沒有這個店了。

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

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

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

時間很緊,如果趕不上在1992年底關閘,就沒有“門票”進入郵電系統,那也就沒有今天的華為。任老闆也許就真的去“養豬”去了,說不定能搞個“任我行土豬”。

交換網絡是空分還是數字,對於通過郵電部的鑒定,並沒有任何影響。模擬空分技術做到500門之上就很難了,大徐就組織開發了兩個500門的模擬空分模塊合在一起做成了1000門。

網絡一些文章認為JK1000沒有採用數字網板是失誤,並以訛傳訛,這個觀點是錯誤的。回到1991-92年,華為並沒有幾杆人槍,電信的門都沒有踏進去,首要目標是要搶“門票”,要解決的自然是關鍵需求。

要進入郵電體系,核心是要實現電信運營商級別的“程序控制”,也就是主機系統,能有效地進行管理、計費和提升新業務。在極其有限的人力物力下,核心的主機系統採用什麽技術路徑能最快實現目標?當時有4個選項。

1、華為之前的HJD48用戶機是基於單片機和匯編的控制方式。儘管對外也吹牛叫“程控”,但主要是打電話的功能。然而郵電部入網的要求甚多,在傳統單片機上用匯編語言是無法滿足的。

2、採用RISC(精簡指令)的CPU芯片,如當時頗為流行的摩托羅拉芯片。難以用高級語言(如C)編寫軟體,編寫作業系統和提升新業務也會很辛苦。

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

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

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

大徐是硬體開發者和匯編高手,聶建林是C語言高手,雙劍合璧,和大家一起鍛造了JK1000的主機軟體系統。採用了C語言+匯編的混合編程方式。

圖注:C&C08的主機軟體結構,最核心的就是作業系統

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

JK1000主機軟體系統的核心是一個原生態的基於命令行的嵌入式作業系統,都是自己從頭一句一句來開發的。它初步具備了作業系統的基本特徵,如對全部軟、硬體資源的管理和分配、任務調度,控制、協調並發活動等。

軟體測試是一個難題。最初,主機軟體系統動不動就吊死了(停止運行或者陷入無限循環),為了檢查到底問題出在哪裡,花了很大精力在程序中設計了不少計數器,並存儲在記憶體的某個特定位置。當機後,通過去查計數器的數值,來分析判斷問題在哪裡。有沒有誰玩遊戲的時候直接去記憶體裡改生命值的嗎?

據說,任正非經常晚上九點來給大家送麵包牛奶,跟大家吹噓“未來要在陽台上曬錢”,很好的“政委”和“教導員”。

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

這也是大徐第一次帶領團隊打仗,完成了從悶頭苦乾到抬頭看路的大“轉身”。

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

浙江海寧局的局長非常nice,每到陰歷的十五就拉著華為的全部人馬出去看錢塘潮。看得大家心潮澎湃,思緒萬千。

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

讓我們花些時間來讚美一下於貝爾實驗室誕生的C語言。C語言是一門偉大的高級語言,大大降低了程序員寫匯編的痛苦,還可以創造大量的軟體功能模塊,並進行靈活的調用。

用C語言寫好軟體,通過C語言編譯器產生匯編代碼,通過匯編器再轉成二進製執行代碼。程序員要理解匯編代碼以及與它的源C代碼之間的聯繫,因為編譯器隱藏了太多的細節如:程序計數器、寄存器(整數、條件碼、浮點)等。這正是大徐的強項。

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

老戴的C語言是清華生陸李啟蒙,他後來也到了億利達,現在是中國迷你對講機之王。

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

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

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

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

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

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

網絡上很多文章說,因為JK1000是空分製式,所以逼得華為不得不同時啟動數字製式C&C08的開發,搞得企業差點崩盤,任正非差點“跳樓”。

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

水準不行,服務來湊。“華友會”會長 俞渭華94年進華為,開始是去東北做服務。有過著名保衛戰的黑山在一個鄉鎮有台JK1000因受雷擊導致冒青煙了,工作人員英勇搶救卻被薰暈了。他緊急趕赴現場,發現難修。主任蘇偉指示:別留下“罪證”,馬上發新機!立馬找台車全拉走,“挖坑深埋”!後腳新機就到了。防雷與阻燃是工藝問題與通信技術無關,當年的鄉鎮機房的避雷與接地也實在不好。華為用深入到黑山白水的快速響應來獲得了立足之地與客戶的理解。避雷是個共性問題,華為用了一些年才最終艱難地解決。

第四章:適度創新,穩打穩扎,步步前行

JK1000開發勝利在望的時候,華為啟動了數字機C&C08 A型機的開發。主機系統完全承接了JK1000的技術路線,硬體上則聚焦解決數字網板的技術難題。大徐作為器件室負責人,也衝在了最前線。

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

可以看到,華為的成功經驗是:將每次產品開發的創新工作量控制在一定的比例裡,確保每個產品都能商業銷售。步步為營,穩打穩扎,層層推進,而不是指望一口吃成一個胖子。

後來,任正非在《創業創新必須以提高企業核心競爭力為中心》的演講中說到: 我們提出了在新產品開發中,要盡量引用公司已擁有的成熟技術,以及可向社會採購的技術,利用率低於70%,新開發量高於30%,不僅不叫創新,而是浪費,它只會提高開發成本,增加產品的不穩定性。

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

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

為了能實現整個系統的快速複位重啟,大徐使用了FLASH閃存技術,在備份的MPU的閃存上先LOAD上新版本的主機軟體,重啟該MPU,然後進行主備MPU切換,一秒鐘整個系統就複位成功了,堪稱“光速”!這個技術,老戴後來賣移動GSM的時候也經常吹捧。

老戴有個鄒姓同班同學,97年畢業到中興通信做程控交換機內核的開發,中興上市前突擊分了一把股票。1997-11-11光棍節中興上市,他以迅雷不及掩耳之勢賺了一把快錢。為慶祝他發財,老戴也去蓮塘熱鬧了一回,聽他嘀咕道:記憶體管理是程控交換機主機系統最頭疼的技術問題。

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

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

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

有意思的是,128模第一版推出後,發現了眾多 bug,修修改改很麻煩,就重寫了一次整個系統代碼。同樣的事情,GSM也乾過。

有沒有Windows什麽事?

核心的前台主機軟體(含作業系統)確實是從來沒有Windows什麽事的,但C&C08上還有一個BAM模塊(後台管理單元)可以用。即使關掉了BAM模塊,C&C08的前台主機軟體也是照樣運行。BAM後來演進為OMC,華為雲BU負責人鄭葉來就是當時OMC的開發負責人。一線OMC應用軟體偶爾有點小瑕疵,老兵戴輝去反饋,OMC接口人答得讓人啼笑皆非:是你們國外Windows版本的兼容性問題,與我們並沒有什麽關係!

最後說一下軟體銷售的商業模式,和主機軟體密切相關。

早年主機系統軟體中並沒有做license控制,升級和軟體服務也是免費的。只要客戶持續不斷地買華為設備,什麽都好商量。

04年我去印尼運營商那裡,發現西門子的服務人員每個月都過來一次,看網上增長了多少用戶,就給運營商開張發票,再收一把禮金,可西門子確實什麽都沒有乾啊,怎麽就可以收錢?

徐直軍(小徐)成立的戰略與MKT有個商業模式部,研究行業慣例,開始搞“存量收費”,按用戶、按功能進行license控制,每年的軟體維護和升級合在一起也要收取軟體服務年費。華為的技術支持部門因此獲得巨大收益。曾祥森和王海君先後擔任了這個部門的負責人。

當年主要是靠賣硬體賺錢,沒有想到到了今天,軟體license才是真正賺錢的東西。因為核心網全部雲化後,底層硬體就是通用伺服器了,誰都能賣,毛利變得象紙片一樣薄。

第五章:核心網的OS成為整個華為發展的基礎

最近中美貿易摩擦中,大家注意到了”5G核心網“這樣一個名詞。美國對核心網給與了很多關注,可見這是非常重要的網絡設備。

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

核心網從硬體和作業系統上,這些年有了很大的變革。

TDM(時分複用)的架構,傳統上叫數字程控交換機。當年劉江峰做GSM開發的時候,MSC(相當於移動的程控)和BSC(基地台控制器)都是基於C&C08的平台。

IP化。基於IP的軟交換架構,也叫NGN(下一代網絡)。硬體上有cPCI(框式)和ATCA(刀片式)兩代。

IP+IT化。IMS(IP多媒體系統)架構。硬體從此變成了x86通用伺服器,軟體架構變化很大。

全面雲化,NFV(網絡功能虛擬化)。

華為核心網的實時作業系統前後有了四次技術變革。

1、28年前,大徐他們是從底層開始一點一點自研的作業系統。

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

2、九十年代中後期,融入全球先進技術潮流,C&C08也在基於pSOS和VxWorks微內核的基礎上開發了嵌入式實時作業系統。

C&C08 128模塊的主機系統裡,SPC模塊用的是pSOS,PPC和CPC模塊用的是VxWorks。

擁有VxWorks內核的美國風河公司,也收購了pSOS,最後一起並入到了Intel公司。華為的主處理器,也因此長期使用Intel的x86架構。

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

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

華為5G的基礎理論研究也是華為5G首席科學家童文博士帶隊在渥太華來乾出來的。

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

3、2007年開始,華為成功基於開源的嵌入式Linux內核來實現實時作業系統。

這是Linux陣營和華為的一個大的進步。

實際上,風河公司自己也在大力推廣嵌入式Linux內核了。

核心網平台首席架構師姚弋宇寫了一篇文章,叫《從泥坑裡爬起來》。

2007年,核心網在軟交換硬體架構上,從cPCI平台切向ATCA平台,但都還是用Intel的x86 CPU。最大的改變在作業系統上,從ATCA架構開始,在嵌入式Linux上進行了大量優化開發嵌入式實時作業系統,並替換以前的基於pSOS和VxWorks內核開發的嵌入式實時作業系統。

優化解決Linux的時延時,一點一點地摳,最終成功將時延降低到非常低的水準。上次聽無人機公司講開發經驗,也是要一克一克地去降低機體的重量。

這是一個偉大的勝利,最終成功打造了第一個公司級的電信Linux作業系統,後續延申到了數據通信產品線的VRP上。省了錢不說,還大大提升了能力。華為對國際嵌入式Linux開源陣營也做出了巨大的歷史貢獻。

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

4、新引入了一個層次:雲計算,新架構叫NFV(網絡功能虛擬化)。原有的RTOS不變。

這與華為的Fusion Sphere雲計算作業系統是一脈相承的,採用了採用了KVM虛擬化引擎(也屬於Linux陣營)、Docker容器、K8S(Kubernetes)等各種技術。

雲技術為CPU的切換、在核心網中引入ARM伺服器帶來了機遇,後面將會講到。

第六章:鴻蒙RTOS誕生

大家看到了,華為的OS經過了獨立開發、基於pSOS和VxWorks微內核開發RTOS、基於開源的嵌入式Linux宏內核開發等多個歷程,這為鴻蒙的誕生奠定了雄厚的技術基礎和理解。

有個人很關鍵,他叫王成錄。他先是核心網產品線總裁,核心網OS上積累了經驗(實現了基於嵌入式Linux的RTOS)。隨後調任2012實驗室中央軟體部總裁,並啟動了鴻蒙的研究。網絡上有任正非2012年與2012實驗室員工的對話,表明華為開發手機作業系統是為了做“備胎”。提問的李金喜來自2012試驗室下的中央軟體院歐拉實驗室終端OS開發部,負責面向消費者BG構建終端作業系統能力。

王成錄最後到消費者BG任軟體總裁。他的文章《華為手機作業系統往事》提到華為優化的F2FS文件系統克服了安卓傳統的碎片化缺陷,已經為谷歌的安卓系統所吸收。“天生快,一生快”。文件系統是手機和PC作業系統的一個重要組成部分。

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

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

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

第七章: 華為作業系統群芳譜

在核心網的OS基礎之上,華為的作業系統百花齊放,貫通了華為業務全部三大BG(運營商、企業、消費者含手機)和兩大BU(雲計算、汽車)。

在我去年描述的中國作業系統群像裡,已經列舉了華為的系列化作業系統,增補總結如下:

1、路由器和數據通信交換機作業系統:VRP(通用路由平台),這是華為OS的另外一條主線

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

華為的VRP應該基於美國風河公司的VxWorks 微內核開發了實時作業系統。Tornado 是風河公司推出的一套實時作業系統(RTOS)開發環境,類似Microsoft Visual C,但是提供了更豐富的調試、仿真環境和工具。另外還有一家同行pSOS,後被風河收購了。

2003年1月23日,思科公司在美國指控華為侵權。訴訟過程之中,發現華為的VRP系統比思科的IOS體積小多了,效率也更高。

無獨有偶。思科的IOS實際上是基於QNX內核開發的實時作業系統。

前些年,核心網OS採用了開源的嵌入式Linux內核實現了RTOS以後,華為數據通信的VRP也已經採用嵌入式Linux內核了。

在移動通信中,有一個很重要的領域:PS域(分組交換系統),如GGSN/SGSN等,功能是在3G/4G/5G系統中處理IP數據打包和交換。現在大家用手機基本上都是走流量而不是打電話,所以PS域也就越來越大。PS與RAN(無線接入網絡,基地台等)密切相關,所以華為內部常年將PS直接歸類在無線產品線(RAN)內。

華為3G/4G/5G的PS域是基於自己的數據通信交換機,所以也同樣採用過VxWorks 的微內核。

2018年8月英國對華為系統的安全審查中,認為華為採用的VxWorks系統在 2020 年後將無法獲得安全補丁和升級,有安全隱患。

但實際上,這並不是什麽問題。

一方面,華為的數據通信交換機已經開發了自己的基於嵌入式Linux內核開發的RTOS。即使對於風河,官網上也介紹了英國電信的RAN(無線接入網)採用風河的嵌入式Linux的成功故事。另外一方面,鴻蒙的微內核,也可以做備胎。

2、雲計算作業系統:Fusion Sphere。最初採用XEN虛擬化引擎,現在走向KVM。

3、伺服器作業系統歐拉EulerOS,即將開源,和全世界共同進步。

4、物聯網嵌入式作業系統:LiteOS。超輕量級,已經開源。

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

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

6、智能手機、電視機作業系統:鴻蒙。這個大家說得很多了。

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

一花獨放不是春。華為30年,為社會培養了不少人才,創業系中也有好些做作業系統的。

A、季昕華創立的UCloud,是唯一一個沒有依靠大產業背景而獨立做大的公有雲,因為“刀塔傳奇”手遊雲業務而一炮走紅。UCloud在公有雲中是第一個基於開源的KVM引擎進行開發的,甚至早過了阿里雲。

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

C、宇視又是從華三分離出去的,Imos Inside是宇視安防OS的商標。Intel認為Imos Inside侵犯了Intel Inside的商標,但並未能獲得法院的支持。

D、曾浩文創立的京華科訊是國內第一個自主桌面雲OS,第一個採用KVM虛擬化技術路線,成功進入了海陸空三軍。

第八章: 掌握了作業系統,就不怕CPU卡脖子了

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

老兵戴輝大膽預測這對華為不會有什麽大的影響。因為華為控制了作業系統之後,下層的CPU就可以靈活切換了。

在數據中心(和雲)伺服器領域,Intel佔領了超過95%以上的市場份額。

由於歷史原因(本文已經介紹了這個歷史),目前全球的電信核心網都是採用Intel的x86架構通用伺服器。

因為電信核心網作業系統為華為所控制,再上層的業務和生態也是為華為所控制,所以這個領域的伺服器完全可以從x86架構轉成Arm架構。

華為不得不做這個事情。今年1月7日,華為發布首款ARM架構伺服器CPU鯤鵬芯片及泰山伺服器,發布人就是徐文偉。通過容器技術,可以將多台泰山伺服器(採用Arm CPU)構成大的伺服器集群,從而在電信核心網上使用。

回頭看Linux,最早一版也隻基於x86,後來也跨平台支持了Arm、Power,MIPS等各種CPU架構。

我們將眼光投向騰訊。微信的伺服器集群,上邊都是跑的基本都是安卓和IOS生態,在技術上,也完全可以採用Arm伺服器集群,而不是以前的x86伺服器集群。

在電信的計費領域,華為已經有了成功案例。

2019年7月19日凌晨,經過緊張而有序的割接,山東移動計費CRM系統的軟硬體成功實現替換升級,成為首個在核心系統中採用國產自研全套軟硬體解決方案的運營商,在自主可控的道路上邁出堅實一步。華為自研系列IT軟硬體:基於鯤鵬920的TaiShan泰山伺服器,GaussDB高斯數據庫、伺服器作業系統歐拉EulerOS。

更早一些時候,2017年底,倪光南院士披露的。航天科工集團“商密網”是當時規模最大的全國產軟硬體構成的信息系統,已部署了2萬台全國產桌面電腦,由包括“航天昆侖數據庫一體機”在內的國產伺服器提供雲服務,並引入了採用航天元心移動作業系統的安全手機支持移動辦公。

對於個人電腦而言,Intel也面臨Arm的挑戰。去年夏天在矽谷的微軟店裡,看到了採用高通基於Arm的CPU,加上微軟的Windows,由聯想Lenevo打造的支持always on的筆電電腦。海思新近也在開始做基於Arm架構的用於筆電電腦的CPU了,期待中。

結語:創新永無止境

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

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

“華為正式宣布進入創新2.0,創新2.0的核心是基於願景的理論突破和基礎技術的發明,而理論突破和基礎技術發明源頭之一是學術界,在大學裡,在座的各位之中。”

獲得更多的PTT最新消息
按讚加入粉絲團