對(duì)于物聯(lián)網(wǎng)發(fā)展而言,“碎片化”是主要的問(wèn)題,其中芯片、傳感器、通信協(xié)議、應(yīng)用場(chǎng)景千差萬(wàn)別,“山頭林立”。比如無(wú)線通信標(biāo)準(zhǔn),就有藍(lán)牙、Wi-Fi、ZigBee、PLC、Z-Wave、RF、Thread、Z-Wave、NFC、UWB、LiFi、NB-IoT、LoRa等等。很明顯,技術(shù)方案不統(tǒng)一,體系結(jié)構(gòu)不一致,阻礙了物聯(lián)網(wǎng)的發(fā)展,也局限了互聯(lián)互通的范圍。
然而,各種操作系統(tǒng)可以支持不同的硬件、通信標(biāo)準(zhǔn)、應(yīng)用場(chǎng)景。開(kāi)源,有利于打破技術(shù)障礙和壁壘,提高互操作性和可移植性,減小開(kāi)發(fā)成本,同時(shí)也適合開(kāi)源社區(qū)的開(kāi)發(fā)人員參與進(jìn)來(lái)。
那么,對(duì)于物聯(lián)網(wǎng)開(kāi)源操作系統(tǒng),你了解有多少呢?
什么是開(kāi)源操作系統(tǒng)?
開(kāi)源操作系統(tǒng)(open source operating system),是指源代碼公開(kāi)的操作系統(tǒng)軟件,遵循開(kāi)源協(xié)議進(jìn)行使用、編譯和再發(fā)布。在遵守相關(guān)開(kāi)源協(xié)議的前提下,任何人都可以免費(fèi)使用,隨意控制軟件的運(yùn)行方式。開(kāi)源操作系統(tǒng)最大的特點(diǎn)就是開(kāi)放源代碼和自由定制。
在國(guó)際開(kāi)源操作系統(tǒng)中最著名的一種為“Linux操作系統(tǒng)”,它是一種計(jì)算機(jī)操作系統(tǒng)的泛稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開(kāi)放源代碼發(fā)展中最著名的例子。
開(kāi)源操作系統(tǒng)的歷史是和GNU緊密聯(lián)系在一起的。從1983年開(kāi)始的GNU計(jì)劃致力于開(kāi)發(fā)一個(gè)自由并且完整的類Unix操作系統(tǒng),包括軟件開(kāi)發(fā)工具和各種應(yīng)用程序。到1991年 Linux內(nèi)核發(fā)布的時(shí)候,GNU已經(jīng)幾乎完成了除了系統(tǒng)內(nèi)核之外的各種必備軟件的開(kāi)發(fā)。在Linus Torvalds和其他開(kāi)發(fā)人員的努力下,GNU組件可以運(yùn)行于Linux內(nèi)核之上。整個(gè)內(nèi)核是基于 GNU 通用公共許可,也就是GPL(GNU General Public License,GNU通用公共許可證)的,但是Linux內(nèi)核并不是GNU 計(jì)劃的一部分。1994年3月,Linux1.0版正式發(fā)布,Marc Ewing成立了 Red Hat軟件公司,成為最著名的 Linux 分銷商之一。
下面列舉開(kāi)源操作系統(tǒng)的一些優(yōu)勢(shì):
易理解:開(kāi)源操作系統(tǒng)源代碼公開(kāi),開(kāi)發(fā)人員更容易查看理解代碼,獲取相關(guān)知識(shí)。
公開(kāi)透明:操作系統(tǒng)漏洞和缺陷更容易曝光,同時(shí)代碼的開(kāi)發(fā)和維護(hù)也是公開(kāi)的。
可定制:用戶可以根據(jù)需求,依照不同的硬件平臺(tái)和應(yīng)用場(chǎng)景進(jìn)行定制。
低成本:無(wú)商業(yè)版權(quán)費(fèi),節(jié)省了相關(guān)開(kāi)發(fā)管理和人力投入成本。
可持續(xù):即使之前開(kāi)發(fā)的公司因?yàn)楦鞣N原因無(wú)法支持,依靠開(kāi)源社區(qū)廣大的開(kāi)發(fā)人員的參與,系統(tǒng)還可以持續(xù)維護(hù)下去。
集思廣益:因?yàn)殚_(kāi)源操作系統(tǒng)公開(kāi),可以讓更多的開(kāi)發(fā)者參與開(kāi)發(fā),集中更多的智慧和想法。
介紹10款經(jīng)典的物聯(lián)網(wǎng)操作系統(tǒng)
1、Andorid Things
Andorid Things 是谷歌上周剛推出的物聯(lián)網(wǎng)操作系統(tǒng),是去年推出的“Brillo”操作系統(tǒng)的更新版本,作為 Andorid 系統(tǒng)的一個(gè)分支版本,類似于可穿戴和智能手表用的Andorid Wear(實(shí)際上它也是一種物聯(lián)網(wǎng)操作系統(tǒng))。
它使用一種名為 Weave的通信協(xié)議,實(shí)現(xiàn)設(shè)備與云端相連,并且與谷歌助手等服務(wù)交互。Android Things 面向所有Java開(kāi)發(fā)者,不管開(kāi)發(fā)者有沒(méi)有移動(dòng)開(kāi)發(fā)經(jīng)驗(yàn)。該操作系統(tǒng)將能夠支持一系列物聯(lián)網(wǎng)設(shè)備的計(jì)算平臺(tái),其中包括英特爾Edison 平臺(tái),NXP公司的Pico平臺(tái),以及“黑莓派3”。
2、Contiki
Contiki,是一個(gè)開(kāi)源的、容易移植的多任務(wù)操作系統(tǒng),適用于內(nèi)存受限的網(wǎng)絡(luò)任務(wù)。Contiki 項(xiàng)目的作者是瑞典計(jì)算機(jī)科學(xué)研究所的網(wǎng)絡(luò)嵌入式系統(tǒng)小組的Adam Dunkels 博士。
該系統(tǒng)只需要幾千字節(jié)或者幾百字節(jié)的內(nèi)存,就能提供多任務(wù)操作系統(tǒng)環(huán)境和TCP/IP支持。它已經(jīng)移植并成功運(yùn)行于嵌入式微控制器平臺(tái)(TI MSP430,Atmel AVR)以及電腦、游戲機(jī)等平臺(tái)。它支持的協(xié)議有全標(biāo)準(zhǔn) IPv6 和 IPv4,以及低功耗網(wǎng)絡(luò)標(biāo)準(zhǔn):6lowpan、RPL、CoAP。
3、eLinuxi
eLinux,也稱為Embedded Linux,即嵌入式Linux 操作系統(tǒng),該操作系統(tǒng)基于Linux 內(nèi)核,是Linux 對(duì)于嵌入式系統(tǒng)的裁剪版,支持該操作系統(tǒng)的廠家、芯片和產(chǎn)品比較廣泛。該操作系統(tǒng)的維基主頁(yè)提供了開(kāi)發(fā)、硬件、產(chǎn)品、廠家、社區(qū)等一系列相關(guān)信息。
4、FreeRTOS
FreeRTOS 是一個(gè)迷你的實(shí)時(shí)操作系統(tǒng)內(nèi)核,功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時(shí)器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。
FreeRTOS 操作系統(tǒng)是完全開(kāi)源你的操作系統(tǒng),具有源碼公開(kāi)、可移植、可裁減、調(diào)度策略靈活的特點(diǎn)。目前,該操作系統(tǒng)已經(jīng)數(shù)百萬(wàn)設(shè)備上部署,它號(hào)稱是“市場(chǎng)上領(lǐng)先的嵌入式實(shí)時(shí)操作系統(tǒng)”,能夠?yàn)槲⒖刂破骱臀⑻幚砥魈峁┖芎玫慕鉀Q方案。
5、mbed OS
這款操作系統(tǒng)由ARM開(kāi)發(fā),專門(mén)為運(yùn)行ARM處理器的物聯(lián)網(wǎng)設(shè)備而設(shè)計(jì)。它包含了C++應(yīng)用程序網(wǎng)絡(luò),公司也提供其他開(kāi)發(fā)工具和相關(guān)的設(shè)備服務(wù)器。
默認(rèn)情況下,mbed 操作系統(tǒng)是事件驅(qū)動(dòng)的單線程架構(gòu),而非多線程(實(shí)時(shí)操作系統(tǒng))環(huán)境。 這確保了它可以擴(kuò)展到尺寸最小、成本最低且功耗最低的物聯(lián)網(wǎng)設(shè)備。
ARM在移動(dòng)設(shè)備端有著強(qiáng)大的市場(chǎng)占有率,所以這款操作系統(tǒng)實(shí)力和前景不可小覷。
6、Raspbian
Raspbian 是一款基于Debian,為樹(shù)莓派硬件而設(shè)計(jì)的操作系統(tǒng)。這個(gè)操作系統(tǒng)包括一些列的基礎(chǔ)程序和工具,保證樹(shù)莓派硬件的運(yùn)行。
7、RIOT
RIOT,將自己稱為“友好的物聯(lián)網(wǎng)操作系統(tǒng)”,致力于開(kāi)發(fā)者友好、資源友好、物聯(lián)網(wǎng)友好,關(guān)鍵的功能包括C/C++支持、多線程、能量效率、部分遵守POSIX等等。RIOT 開(kāi)源社區(qū)自2008年以來(lái)就啟動(dòng)了。RIOT能夠在眾多平臺(tái)上運(yùn)行包括嵌入式設(shè)備、PC、傳感器等。
8、Ubuntu Core
Ubuntu 是目前最流行的Linux 版本,而Ubuntu Core旨在將Ubuntu 帶向物聯(lián)網(wǎng)世界。它可以運(yùn)行例如微軟Azure、 谷歌計(jì)算引擎、 亞馬遜彈性云計(jì)算服務(wù),也可以運(yùn)行在例如BeagleBone Black 和樹(shù)莓派等硬件上。
9、Huawei LiteOS
Huawei LiteOS 是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺(tái)”,具有輕量級(jí)(內(nèi)核小于10k)、低功耗、互聯(lián)互通、安全等關(guān)鍵能力。Huawei LiteOS 目前主要應(yīng)用于智能家居、穿戴式、車聯(lián)網(wǎng)、智能抄表、工業(yè)互聯(lián)網(wǎng)等 IoT 領(lǐng)域的智能硬件上,還可以和LiteOS生態(tài)圈內(nèi)的硬件互聯(lián)互通,提高用戶體驗(yàn)。
Liteos操作系統(tǒng)具有能耗最低,尺寸小、響應(yīng)快等特點(diǎn),也建立了開(kāi)源社區(qū),能夠支持的芯片例如海思的PLC芯片HCT3911、媒體芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等。
10、Tizen
Tizen,Linux基金會(huì)和LiMo基金會(huì),聯(lián)合英特爾和三星電子,共同開(kāi)發(fā)的開(kāi)源操作系統(tǒng),它可以滿足物聯(lián)網(wǎng)設(shè)備生態(tài)系統(tǒng)(包括設(shè)備制造商、手機(jī)運(yùn)營(yíng)商、應(yīng)用開(kāi)發(fā)者、獨(dú)立軟件服務(wù)提供商)的需求,應(yīng)用于手機(jī)、電視、穿戴等多個(gè)產(chǎn)品。
Tizen底層平臺(tái)相關(guān)API按照HTML5的形式公開(kāi)出來(lái),服務(wù)將涵蓋通信、多媒體、相機(jī)、網(wǎng)絡(luò)、社區(qū)媒體等。三星已經(jīng)售賣了幾款搭載該操作系統(tǒng)的產(chǎn)品,是它的最大支持者。
開(kāi)源操作系統(tǒng)究竟解決了什么問(wèn)題?
連接:操作系統(tǒng)通過(guò)集成常見(jiàn)的網(wǎng)絡(luò)協(xié)議棧,例如TCP/IP、ZigBee、藍(lán)牙、WiFi驅(qū)動(dòng)等,算是為解決連接問(wèn)題作出了貢獻(xiàn)。
智能硬件間的區(qū)別和識(shí)別:這兩個(gè)問(wèn)題,似乎真的跟操作系統(tǒng)沒(méi)啥關(guān)系,基本上只能為同一廠家產(chǎn)品之間的“區(qū)別和識(shí)別”提供部分幫助。
溝通和互操作:物和物之間的溝通和互操作,操作系統(tǒng)基本上看熱鬧而已,同樣只能對(duì)使用同一個(gè)廠商提供的開(kāi)發(fā)工具開(kāi)發(fā)的特定應(yīng)用提供一些幫助,其互操作,基本僅限于使用它們的開(kāi)發(fā)工具開(kāi)發(fā)的智能硬件,且主要是物和人之間;人和物之間的互操作,支持支持遠(yuǎn)程桌面和webserver的操作系統(tǒng)能夠提供比較完善的幫助。
小結(jié)
在物聯(lián)網(wǎng)時(shí)代,大家都在談?wù)撐锫?lián)網(wǎng)操作系統(tǒng),我們要分析物聯(lián)網(wǎng)的核心問(wèn)題是什么,操作系統(tǒng)對(duì)于物聯(lián)網(wǎng),能做什么,不能做什么,它如何影響操作系統(tǒng)設(shè)計(jì)。設(shè)計(jì)操作系統(tǒng),要服務(wù)于物聯(lián)網(wǎng)應(yīng)用的話,就要分析清楚物聯(lián)網(wǎng)面臨的問(wèn)題,要集中精力于解決核心問(wèn)題,有的放矢,不要人云亦云地跟著感覺(jué)走。(原標(biāo)題:“開(kāi)源”為何對(duì)于IoT如此重要?)