物聯(lián)網(wǎng)操作系統(tǒng)研究與思考
作者 / 何小慶 嵌入式系統(tǒng)聯(lián)誼會秘書長(北京 100191)
本文引用地址:http://2s4d.com/article/201712/373589.htm何小慶,著名的嵌入式系統(tǒng)專家,麥克泰軟件公司創(chuàng)始人,《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》編委會副主任。*本文來源于“嵌入式系統(tǒng)聯(lián)誼會主題討論會(總第22次)——物聯(lián)網(wǎng)操作系統(tǒng)現(xiàn)狀與發(fā)展前景研討會”上何小慶老師的報告,已經(jīng)過作者確認(rèn)。該會議主辦方:嵌入式系統(tǒng)聯(lián)誼會,時間:2017年11月12日,地點(diǎn):北京航空航天大學(xué)。
摘要:探討了為什么需要物聯(lián)網(wǎng)操作系統(tǒng),物聯(lián)網(wǎng)操作系統(tǒng)的內(nèi)涵與外延,物聯(lián)網(wǎng)操作系統(tǒng)的現(xiàn)狀,及發(fā)展建議。
1 物聯(lián)網(wǎng)操作系統(tǒng)的產(chǎn)生
1.1 RTOS的發(fā)展歷史
提到物聯(lián)網(wǎng)操作系統(tǒng)(物聯(lián)網(wǎng)OS),肯定離不開嵌入式操作系統(tǒng),更離不開RTOS(實(shí)時多任務(wù)操作系統(tǒng))。因?yàn)榍度胧讲僮飨到y(tǒng)的內(nèi)核大都使用RTOS來實(shí)現(xiàn),當(dāng)然也有不用RTOS來實(shí)現(xiàn)的物聯(lián)網(wǎng)OS,例如谷歌Android Things、微軟Windows 10 IoT Core等。
RTOS始于上世紀(jì)七十年代,最早始于北美,截至2017年約有30年的發(fā)展歷史。興盛時有幾百家,即使在今天在全世界范圍當(dāng)中也有幾十家RTOS公司,中國也有幾家RTOS公司。
表1列舉了一些依然活躍的公司(注:指有商業(yè)公司對RTOS進(jìn)行商業(yè)運(yùn)作,以提供產(chǎn)品或服務(wù)的公司),并以時間排序,也標(biāo)注了近況,例如有些已經(jīng)被收購了,諸如風(fēng)河(Wind River)在2009年被英特爾(Intel)收購,但其產(chǎn)品依然還在;還有些產(chǎn)品被收購了,但產(chǎn)品基本上不存在了,諸如VRTX已經(jīng)不在了,pSoS被Wind River收購后也不在了。表1下面幾列是幾家較新的企業(yè),例如Zephyr、Nuttx等是新一代的開源嵌入式操作系統(tǒng),也基本屬于RTOS操作系統(tǒng)。
值得說明的是,中國也有幾家不錯的RTOS,除了熊譜翔先生創(chuàng)立的RT-Thread之外,中國最近有一家叫Sylix的RTOS公司,在一些軍工的項(xiàng)目非?;钴S[1]。
1.2 嵌入式操作系統(tǒng)的演進(jìn)之路
在我的《嵌入式操作系統(tǒng)風(fēng)云錄》書[1]中,有1/3的章節(jié)詳解了RTOS 的歷史,其結(jié)論是:嵌入式操作系統(tǒng)(也有稱為設(shè)備操作系統(tǒng),device OS)(注:含手機(jī))從1980年開始計(jì)算,每隔十年大概會有一次革命,會產(chǎn)生一代具有標(biāo)志性的嵌入式操作系統(tǒng)(如圖1)。其中,上世紀(jì)80年代是RTOS kernel(內(nèi)核),代表產(chǎn)品有uC/OS和FreeRTOS。上世紀(jì)90年代有RTOS,代表產(chǎn)品有Vxwork,因?yàn)閂xwork出來時沒有把kernel單獨(dú)拿出來,它把文件系統(tǒng)、網(wǎng)絡(luò)、shelll、甚至工具IDE(集成開發(fā)環(huán)境)都配置好了,打包給用戶,讓用戶使用起來非常方便。
但進(jìn)入2000年之后,以Linux為代表,通用OS(GOS)進(jìn)入嵌入式領(lǐng)域,是通用型的甚至開源的。當(dāng)然微軟嵌入式Windows(注:指Windows 10 IoT Core)也是GOS。 2010年之后是以Android(安卓)為代表。Android是面向移動應(yīng)用的操作系統(tǒng),因?yàn)锳ndroid最早的設(shè)計(jì)來自Andy Rubin,就是定位于使用Linux操作系統(tǒng)做手機(jī),而在之前也有許多人為手機(jī)做過操作系統(tǒng),例如Montavista,但是做得不是很好,甚至做起來非常困難。Android出來之后,其實(shí)也不是很容易,但到現(xiàn)在基本占了手機(jī)操作系統(tǒng)的八成的市場份額[2]。
最新的是物聯(lián)網(wǎng)操作系統(tǒng)。如果按十年為一個周期,2020年或許會有幾家知名或者流行的面向物聯(lián)網(wǎng)的操作系統(tǒng)出現(xiàn)。
1.3 為什么需要物聯(lián)網(wǎng)操作系統(tǒng)?
無論是傳統(tǒng)嵌入式的還是通用的OS,都無法滿足物聯(lián)網(wǎng)的需求,因?yàn)槲锫?lián)網(wǎng)太復(fù)雜了,需要一個從端到云的整套解決方案。
2016年在德國紐倫堡舉辦的“嵌入式世界”大會上,風(fēng)河公司在會議發(fā)言中列出了物聯(lián)網(wǎng)設(shè)備有8大需求:模塊可升級的架構(gòu),不同級別的設(shè)備軟件可伸縮,物聯(lián)網(wǎng)設(shè)備安全,虛擬化,性能和可靠性,連接性,豐富的UI,認(rèn)證。這說明需要一種新型操作系統(tǒng),或者需要在現(xiàn)有的嵌入式操作系統(tǒng)上進(jìn)行改造,來滿足物聯(lián)網(wǎng)操作系統(tǒng)的需求。 目前市面上多數(shù)產(chǎn)品能夠部分滿足這8大需求,例如“模塊可升級架構(gòu)”,傳統(tǒng)嵌入式OS是不能滿足的;“UI”方面,RT-Thread的UI非常好;再有“認(rèn)證”,目前很多國內(nèi)OS產(chǎn)品還沒有通過認(rèn)證,因此如果用在工業(yè)領(lǐng)域里,這些產(chǎn)品可能還有距離。
物聯(lián)網(wǎng)操作系統(tǒng)的概念始于2014年,但是直到2016-2017年才得到廣泛的關(guān)注,根據(jù)Gartner預(yù)測的2017-2018年10大IoT技術(shù),物聯(lián)網(wǎng)操作系統(tǒng)(IoT Operating System)也位列其中(如圖2),這說明至少從產(chǎn)業(yè)界對此有一個共識:物聯(lián)網(wǎng)操作系統(tǒng)需要有人去做。
1.4 物聯(lián)網(wǎng)OS的起源和發(fā)展過程
物聯(lián)網(wǎng)操作系統(tǒng)起源于傳感網(wǎng)的兩個開源OS——TinyOS和Contiki。今天的IoT對二者有相當(dāng)?shù)睦^承性。至今還有個別的學(xué)校物聯(lián)網(wǎng)專業(yè)仍在講傳感網(wǎng)的OS。Contiki項(xiàng)目目前依然還很活躍,因?yàn)槠渥髡呤茿dam Dunkels,是為名人,他原來是瑞典工學(xué)院計(jì)算機(jī)研究所的博士,后來創(chuàng)立了Thingsqure公司,是LWIP/uIP項(xiàng)目的作者,這個項(xiàng)目現(xiàn)在一直是他在維護(hù)。歐洲一些高校關(guān)于傳感網(wǎng)的課程還是基于該系統(tǒng)在講。TinyOS是美國加州大學(xué)伯克利分校的開源項(xiàng)目,至今已經(jīng)停止維護(hù)了。
2010年歐洲有了面向物聯(lián)網(wǎng)的OS——RIOT,但影響力很小。
2014年物聯(lián)網(wǎng)OS開始熱鬧起來。《連線雜志》(Wired)和IEEE的《頻譜》雜志2014年對物聯(lián)網(wǎng)操作系統(tǒng)都有報道。為什么是在此時?因?yàn)閮杉矣杏绊懥Φ墓就瞥隽水a(chǎn)品,它們是:Arm的Mbed OS,微軟的Windows 10 IoT Core。2014年10月陸續(xù)有一些小公司推出產(chǎn)品,包括Micrium公司的物聯(lián)網(wǎng)方案Spectrum(基于uC/OS)、慶科發(fā)布MiCO OS。但有些產(chǎn)品還是換湯不換藥,即把自己原有的RTOS增加一些功能組件,然后再對接一下亞馬遜云或微軟云等,就成為一套物聯(lián)網(wǎng)的軟件解決方案?! ?015年華為發(fā)表了LiteOS,不過影響力有限。影響力最大的是2015年初谷歌在其“I/O 開發(fā)者大會”上宣布的Brilo OS。其誕生的背景是之前剛把智能家居設(shè)備公司Nest收購,因此很快能推出Brillo OS?,F(xiàn)在谷歌要把Brilo OS改名為Android Things。這時業(yè)界熱鬧起來,大家都覺得物聯(lián)網(wǎng)OS一定是下一個風(fēng)口,一定要跟風(fēng)沖。所以在此之后,阿里也有YunOS(注:不主要針對物聯(lián)網(wǎng)市場,開始是手機(jī),后來手機(jī)不成,就轉(zhuǎn)做汽車)。2016年Linux基金會推出Zephry。我國的海爾在2017年1月CES(美國消費(fèi)電子展)上展出了基于UIhome OS的大冰箱,冰箱上鑲了一個大平板(人機(jī)界面),海爾在冰箱旁邊有了一個很大的宣傳牌:Your Home OS。2017年10月,阿里在云棲大會上宣布支持IoT的AliOS。
1.5 物聯(lián)網(wǎng)OS的分類 物聯(lián)網(wǎng)OS涵蓋從設(shè)備到網(wǎng)關(guān)、再到服務(wù)器、最后再到終端,只要有服務(wù)器/云和終端的地方都可以使用。由圖3可見,一大類是嵌入式操作系統(tǒng),另一類是Linux開源去做,還有一些是Android和蘋果iOS(注:在此包含了手機(jī))。
但是很有意思的是,據(jù)2016年IoT Developers Survey報告,Linux占70%以上的份額,其他小OS也不少,沒有用操作系統(tǒng)的也很多。可見Linux和Android的占有率是很高的。另外如果去看RTOS的機(jī)會,未來應(yīng)該是通用OS的3倍,因?yàn)槎鄶?shù)物聯(lián)網(wǎng)設(shè)備將使用MCU 作為主控單元,MCU 無法運(yùn)行Linux OS。
以上可見,目前物聯(lián)網(wǎng)世界中是多種OS并存的。
2 什么是一個物聯(lián)網(wǎng)操作系統(tǒng)?
目前在學(xué)術(shù)界很難找到物聯(lián)網(wǎng)操作系統(tǒng)的定義。ELSEVIER出版社的雜志《Next Generation Computing System》計(jì)劃出版IoT專輯——Special Issue on Internet of Things,該專輯的征稿說明中定義了物聯(lián)網(wǎng)OS (IoT OS)的一些關(guān)鍵特性,諸如協(xié)議設(shè)計(jì)和驗(yàn)證技術(shù),還有模塊、能耗、調(diào)度(基于能耗的調(diào)度)、硬件支持、架構(gòu)、網(wǎng)絡(luò)、協(xié)議棧、可靠性(即互通性)、通用API、實(shí)時性的能力等。
在產(chǎn)業(yè)界,微軟網(wǎng)站稱之為:The operating system built for Internet of Things(為物聯(lián)網(wǎng)打造的操作系統(tǒng)),谷歌網(wǎng)站的Android Things談的不是OS,而是“Build connected devices for a wide variety of consumer,retail,and industrial applications,”大意是針對所面向的應(yīng)用。Arm認(rèn)為是開源的嵌入式的操作系統(tǒng),是針對Thing(物)的設(shè)計(jì),當(dāng)然一定是包含Arm Cortex-M的物。
《嵌入式操作系統(tǒng)風(fēng)云錄》一書[1]對物聯(lián)網(wǎng)操作系統(tǒng)做出了一個基本定義,就是具備低功耗、實(shí)時性和安全的傳感、連接、云端管理服務(wù)軟件平臺。前三個(低功耗、實(shí)時性和安全性)是技術(shù),后三個(傳感、連接和云端管理)是指從端到云的一套方案。
3 物聯(lián)網(wǎng)OS的現(xiàn)狀
物聯(lián)網(wǎng)OS目前的情況還是大公司在布局,小公司在投石問路[3-5]。這是因?yàn)榧夹g(shù)和產(chǎn)品好做,商業(yè)模式還需要很多摸索。
物聯(lián)網(wǎng)OS可以分成兩類:一類是為物聯(lián)網(wǎng)而生的OS,即針對物聯(lián)網(wǎng)去做的OS,之前并沒有,代表產(chǎn)品是Mbed OS、MiCO OS、Android Things等,它們還可以再分成支持MCU和支持MPU(嵌入式處理器)的兩種,如圖4?! 〉诙愂且郧度胧絆S為基礎(chǔ),把它擴(kuò)展成支持物聯(lián)網(wǎng)應(yīng)用的,這一類的最大市場份額是Linux和Android。除此之外,F(xiàn)reeRTOS經(jīng)過加固、改造也能用于物聯(lián)網(wǎng)應(yīng)用[6],最近亞馬遜推出Amazon FreeRTOS,uC/OS-III、ThreadX也可以用,例如瑞薩的Arm MCU平臺——Synergy就是基于ThreadX。Vxwork稱也有自己的嵌入式OS。Nucleus和RT-Thread 3.0等也都是適合物聯(lián)網(wǎng)的OS。
但是目前市場上十余種物聯(lián)網(wǎng)OS都處于發(fā)展初期。例如Arm Mbed OS已出了三個版本——1.0/2.0、3.0和5.0(最新是5.6.3)版本,但如果瀏覽Arm Mbed的官方網(wǎng)站,其中會有一句中文提示:Mbed操作系統(tǒng)仍處于開發(fā)階段。說明Arm還是在摸索和發(fā)展中。
慶科MiCO OS的市場定位還處于調(diào)整期。MiCO OS商標(biāo)沒有了,之后慶科的MiCO SDK(軟件開發(fā)包)是以什么樣的市場品牌出來?大家正在觀望。因?yàn)槿绻粸樽约旱闹悄苡布K提供SDK,不能稱作物聯(lián)網(wǎng)OS。一個操作系統(tǒng)要求能夠支持不同的硬件平臺,這是操作系統(tǒng)的最基本條件。
Windows 10 IoT Core在向云端發(fā)展。我參加過多次微軟研討會,認(rèn)為微軟更強(qiáng)調(diào)“云管端”的云,即上面的云怎么對IoT設(shè)備進(jìn)行控制,而淡化操作系統(tǒng)在設(shè)備端的作用。
AliOS正在進(jìn)入IoT市場。AliOS開始和恩智浦(NXP)和ST等公司合作。
MCU廠商在2015年之后與物聯(lián)網(wǎng)OS的互動較少,例如ST沒怎么宣傳要支持Mbed,但是最近比較積極地表示要支持AliOS。
只有市場互動起來,才可能帶動更多的用戶來用。華為LiteOS也做了黑客松大賽,但目前用戶和合作伙伴規(guī)模相對較小,依靠NB-IoT 發(fā)展的策略偏于單調(diào)。
本節(jié)的結(jié)論是:很少看到和聽到國內(nèi)和國外企業(yè)宣傳在使用某種物聯(lián)網(wǎng)OS(注:這里指原生態(tài)的,諸如 Arm Mbed,而不是指本節(jié)開始所提到的第二類,諸如RT-Thread。因?yàn)榈诙愒谖锫?lián)網(wǎng)出現(xiàn)之前已經(jīng)有了,因此已積累了很多應(yīng)用和用戶),傳統(tǒng)的RTOS和Linux還是主流。當(dāng)然,被用戶接納是一個漫長的過程,但如果這個過程有了,那么后期客戶會愿意主動地用它,這種前仆后繼的浪潮就會產(chǎn)生,像海浪似的一浪推著一浪。
4 思考與建議
第一,無論是物聯(lián)網(wǎng)操作系統(tǒng)還是其他操作系統(tǒng),一個操作系統(tǒng)的普及,需要很長時間的市場引導(dǎo),用戶不太會在短時間決定選用哪一種,也不會輕易更換。即客戶換多家公司的芯片可能也比換一個操作系統(tǒng)容易,所以一旦用起來,操作系統(tǒng)的黏性/忠誠度是很高的。
第二,目前物聯(lián)網(wǎng)OS的內(nèi)涵和外延還不是很清晰。有一種趨勢是廠商都想做大,那么對于規(guī)模相對較小的團(tuán)隊(duì),就要由小到大、由簡到繁地展開,而不要什么都做、一步到位。例如RT-Thread的創(chuàng)始人熊譜翔先生稱并沒有做安全,這是一個很好的選擇,因?yàn)榘踩质橇硗庖活惣夹g(shù),沒有相當(dāng)?shù)募夹g(shù)儲備和積累不一定能做,或許你可以從外部引入一些安全技術(shù)?! 〉谌?,重視物聯(lián)網(wǎng)OS的安全研究。因?yàn)榘踩俏锫?lián)網(wǎng)中必備的功能,所以如果有一套安全方案,還是會很吸引用戶的。例如FreeRTOS也沒有現(xiàn)成的安全方案,如果增加了安全功能,會更易吸引人們?nèi)ナ褂眠@套物聯(lián)網(wǎng)操作系統(tǒng)。
第四,高校對物聯(lián)網(wǎng)操作系統(tǒng)的研究和關(guān)注還要加強(qiáng)。2017年我曾在幾次物聯(lián)網(wǎng)教育會議上介紹過物聯(lián)網(wǎng)操作系統(tǒng),認(rèn)為反響不太大。傳統(tǒng)的嵌入式操作系統(tǒng)的課程改進(jìn)目前處于窗口期了,未來可能升級,現(xiàn)在有些學(xué)校也開始考慮開設(shè)基于RTOS的嵌入式課程。實(shí)際上物聯(lián)網(wǎng)OS是有機(jī)會進(jìn)入到高校的,因?yàn)檫M(jìn)到高校之后才可能影響產(chǎn)業(yè)界,高校計(jì)劃企業(yè)要積極主動。
最后,企業(yè)要想將物聯(lián)網(wǎng)操作系統(tǒng)普及開來,需要注意以下兩點(diǎn)。首先確定好物聯(lián)網(wǎng)OS的邊界,不要什么都做。其次還要堅(jiān)持,例如有些企業(yè)做著做著就不開源了;有些企業(yè)剛開始時熱熱鬧鬧地做生態(tài),之后不做了,因?yàn)樽錾鷳B(tài)投資投入很大,很難短時間見到產(chǎn)出,因此一些企業(yè)做幾次開發(fā)者大會后就停下了,回頭還是去做大客戶。
5 結(jié)論
隨著物聯(lián)網(wǎng)應(yīng)用落地和逐漸成熟,物聯(lián)網(wǎng)OS正在興起,目前處于百花齊放的繁榮期,產(chǎn)業(yè)屆需要耐心培育。
參考文獻(xiàn):
[1]何小慶.嵌入式操作系統(tǒng)風(fēng)云錄[M].北京:機(jī)械工業(yè)出版社,2016
[2]Kantar:2017年中國智能手機(jī)市場Android份額高達(dá)87%[R/OL].(2017-5-12).http://tech.sina.com.cn/roll/2017-05-13/doc-ifyfecvz1148686.shtml
[3]江文瑞,何小慶.嵌入式計(jì)算設(shè)備[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(9)
[4]何小慶.物聯(lián)網(wǎng)操作系統(tǒng)淺析[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(1)
[5]江文瑞,何小慶.物聯(lián)網(wǎng)與實(shí)時操作系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(12)
[6]何小慶.談?wù)凢reeRTOS及其授權(quán)方式[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(10)
本文來源于《電子產(chǎn)品世界》2018年第1期第27頁,歡迎您寫論文時引用,并注明出處。
評論