對于物聯(lián)網(wǎng)發(fā)展而言,“碎片化”是主要的問題,其中芯片、傳感器、通信協(xié)議、應(yīng)用場景千差萬別,“山頭林立”。比如無線通信標(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)用場景。開源,有利于打破技術(shù)障礙和壁壘,提高互操作性和可移植性,減小開發(fā)成本,同時(shí)也適合開源社區(qū)的開發(fā)人員參與進(jìn)來。
那么,對于物聯(lián)網(wǎng)開源操作系統(tǒng),你了解有多少呢?

什么是開源操作系統(tǒng)?
開源操作系統(tǒng)(open source operating system),是指源代碼公開的操作系統(tǒng)軟件,遵循開源協(xié)議進(jìn)行使用、編譯和再發(fā)布。在遵守相關(guān)開源協(xié)議的前提下,任何人都可以免費(fèi)使用,隨意控制軟件的運(yùn)行方式。開源操作系統(tǒng)最大的特點(diǎn)就是開放源代碼和自由定制。
在國際開源操作系統(tǒng)中最著名的一種為“Linux操作系統(tǒng)”,它是一種計(jì)算機(jī)操作系統(tǒng)的泛稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。
開源操作系統(tǒng)的歷史是和GNU緊密聯(lián)系在一起的。從1983年開始的GNU計(jì)劃致力于開發(fā)一個(gè)自由并且完整的類Unix操作系統(tǒng),包括軟件開發(fā)工具和各種應(yīng)用程序。到1991年 Linux內(nèi)核發(fā)布的時(shí)候,GNU已經(jīng)幾乎完成了除了系統(tǒng)內(nèi)核之外的各種必備軟件的開發(fā)。在Linus Torvalds和其他開發(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 分銷商之一。
下面列舉開源操作系統(tǒng)的一些優(yōu)勢:
易理解:開源操作系統(tǒng)源代碼公開,開發(fā)人員更容易查看理解代碼,獲取相關(guān)知識。
公開透明:操作系統(tǒng)漏洞和缺陷更容易曝光,同時(shí)代碼的開發(fā)和維護(hù)也是公開的。
可定制:用戶可以根據(jù)需求,依照不同的硬件平臺和應(yīng)用場景進(jìn)行定制。
低成本:無商業(yè)版權(quán)費(fèi),節(jié)省了相關(guān)開發(fā)管理和人力投入成本。
可持續(xù):即使之前開發(fā)的公司因?yàn)楦鞣N原因無法支持,依靠開源社區(qū)廣大的開發(fā)人員的參與,系統(tǒng)還可以持續(xù)維護(hù)下去。
集思廣益:因?yàn)殚_源操作系統(tǒng)公開,可以讓更多的開發(fā)者參與開發(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開發(fā)者,不管開發(fā)者有沒有移動開發(fā)經(jīng)驗(yàn)。該操作系統(tǒng)將能夠支持一系列物聯(lián)網(wǎng)設(shè)備的計(jì)算平臺,其中包括英特爾Edison 平臺,NXP公司的Pico平臺,以及“黑莓派3”。
2. Contiki
Contiki,是一個(gè)開源的、容易移植的多任務(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)行于嵌入式微控制器平臺(TI MSP430,Atmel AVR)以及電腦、游戲機(jī)等平臺。它支持的協(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 對于嵌入式系統(tǒng)的裁剪版,支持該操作系統(tǒng)的廠家、芯片和產(chǎn)品比較廣泛。該操作系統(tǒng)的維基主頁提供了開發(fā)、硬件、產(chǎn)品、廠家、社區(qū)等一系列相關(guān)信息。
4. FreeRTOS
FreeRTOS 是一個(gè)迷你的實(shí)時(shí)操作系統(tǒng)內(nèi)核,功能包括:任務(wù)管理、時(shí)間管理、信號量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時(shí)器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。