物聯(lián)網(wǎng)、開源、操作系統(tǒng)是目前IT業(yè)界的熱門詞匯,也正是這三個詞匯構(gòu)成了物聯(lián)網(wǎng)開源操作系統(tǒng)。那么,對于物聯(lián)網(wǎng)開源操作系統(tǒng),你了解有多少呢?我們今天帶大家一起走近物聯(lián)網(wǎng)操作系統(tǒng),同時介紹10款經(jīng)典的物聯(lián)網(wǎng)操作系統(tǒng)。
從物聯(lián)網(wǎng)說起
(圖片來源于:維基百科)
物聯(lián)網(wǎng),英文名:Internet of Things,簡稱:IoT,是互聯(lián)網(wǎng)概念的一種延伸,廣義是指各種物理對象之間的聯(lián)網(wǎng),簡單的說,就是“物物互聯(lián)”。“物”在物聯(lián)網(wǎng)中,可以是各種各樣的設(shè)備,例如監(jiān)測心臟功能的植入物、監(jiān)測農(nóng)場動物的生物芯片、內(nèi)置傳感器的汽車、監(jiān)測食品環(huán)境的DNA分析設(shè)備、用于消防和搜救的現(xiàn)場操作設(shè)備等等。
(圖片來源于:思科)
物聯(lián)網(wǎng)技術(shù)包括了智能電網(wǎng)、智能家居、智能交通和智慧城市等等概念,是一種更廣的聯(lián)網(wǎng),最終目標是實現(xiàn)電網(wǎng)、家居、交通等領(lǐng)域網(wǎng)絡(luò)之間的互聯(lián),同時提供安全性、數(shù)據(jù)分析和管理。
操作系統(tǒng)是什么?
(圖片來源于:維基百科)
操作系統(tǒng),英文名 operating system,簡稱:OS,是一種系統(tǒng)軟件,位于計算機硬件和應(yīng)用程序中間的一層,管理硬件和軟件資源,為計算機程序提供相關(guān)服務(wù)。所有的計算機程序包括應(yīng)用程序或者固件,都需要操作系統(tǒng)支持。
一般來說,操作系統(tǒng)通常具有以下功能:進程管理、中斷、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動、網(wǎng)絡(luò)、安全、輸入輸出系統(tǒng)。
典型的操作系統(tǒng)主要有windows 操作系統(tǒng)(微軟)、Unix及類Unix操作系統(tǒng)(Linux、谷歌)、mac操作系統(tǒng)(蘋果)。
windows 操作系統(tǒng) MS-DOS 的基礎(chǔ)上設(shè)計的圖形操作系統(tǒng),是一種閉源系統(tǒng),即源代碼不開放。
而Unix及類Unix操作系統(tǒng),例如FreeBSD、OpenBSD、Solaris 、Minix、Linux、QNX、谷歌的Android 操作系統(tǒng)(基于linux),ubuntu,這些基本上都是開源系統(tǒng),源代碼開放。
另外就是蘋果的Mac OS X 和 iOS移動設(shè)備操作系統(tǒng),是以Darwin為基礎(chǔ)開發(fā)的,Darwin 是一種類Unix操作操作系統(tǒng),蘋果的操作系統(tǒng)(Mac OS X 和 iOS)是閉源的,但是蘋果于2000年將 Darwin 進行開源。
什么是開源操作系統(tǒng)?
開源操作系統(tǒng)(open source operating system),是指源代碼公開的操作系統(tǒng)軟件,遵循開源協(xié)議進行使用、編譯和再發(fā)布。在遵守相關(guān)開源協(xié)議的前提下,任何人都可以免費使用,隨意控制軟件的運行方式。開源操作系統(tǒng)最大的特點就是開放源代碼和自由定制。下面列舉開源操作系統(tǒng)的一些優(yōu)勢:
易理解:開源操作系統(tǒng)源代碼公開,開發(fā)人員更容易查看理解代碼,獲取相關(guān)知識。
公開透明:操作系統(tǒng)漏洞和缺陷更容易曝光,同時代碼的開發(fā)和維護也是公開的。
可定制:用戶可以根據(jù)需求,依照不同的硬件平臺和應(yīng)用場景進行定制。
低成本:無商業(yè)版權(quán)費,節(jié)省了相關(guān)開發(fā)管理和人力投入成本。
可持續(xù):即使之前開發(fā)的公司因為各種原因無法支持,依靠開源社區(qū)廣大的開發(fā)人員的參與,系統(tǒng)還可以持續(xù)維護下去。
集思廣益:因為開源操作系統(tǒng)公開,可以讓更多的開發(fā)者參與開發(fā),集中更多的智慧和想法。
物聯(lián)網(wǎng)為何需要開源操作系統(tǒng)?
對于物聯(lián)網(wǎng)發(fā)展而言,“碎片化”是主要的問題,其中芯片、傳感器、通信協(xié)議、應(yīng)用場景千差萬別,“山頭林立”。比如無線通信標準,就有藍牙、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)可以支持不同的硬件、通信標準、應(yīng)用場景。開源,有利于打破技術(shù)障礙和壁壘,提高互操作性和可移植性,減小開發(fā)成本,同時也適合開源社區(qū)的開發(fā)人員參與進來。
操作系統(tǒng),是物聯(lián)網(wǎng)中一個十分關(guān)鍵的環(huán)節(jié),而開源更佳助推了物聯(lián)網(wǎng)的開放和發(fā)展。目前,開源操作系統(tǒng)在物聯(lián)網(wǎng)中的應(yīng)用已經(jīng)十分廣泛,以后也必將在物聯(lián)網(wǎng)中扮演越來越重要的角色。
十大物聯(lián)網(wǎng)開源操作系統(tǒng)
手機市場呈現(xiàn)出Android和iOS兩家獨大的局面,而在物聯(lián)網(wǎng)體系中,操作系統(tǒng)也呈現(xiàn)出多樣性的特點,并不是一兩種操作系統(tǒng)可以支持所有的物聯(lián)網(wǎng)設(shè)備。
所以,我們今天要重點介紹的是十大物聯(lián)網(wǎng)開源操作系統(tǒng)。(微軟的Windows 10 for IoT 和 蘋果的 iOS,雖然也是很強大,但是因為閉源,不在本文介紹之列。)
1、Andorid Things
Andorid Things 是谷歌上周剛推出的物聯(lián)網(wǎng)操作系統(tǒng),是去年推出的“Brillo”操作系統(tǒng)的更新版本,作為 Andorid 系統(tǒng)的一個分支版本,類似于可穿戴和智能手表用的Andorid Wear(實際上它也是一種物聯(lián)網(wǎng)操作系統(tǒng))。
(圖片來源于:谷歌)
它使用一種名為 Weave的通信協(xié)議,實現(xiàn)設(shè)備與云端相連,并且與谷歌助手等服務(wù)交互。Android Things 面向所有Java開發(fā)者,不管開發(fā)者有沒有移動開發(fā)經(jīng)驗。該操作系統(tǒng)將能夠支持一系列物聯(lián)網(wǎng)設(shè)備的計算平臺,其中包括英特爾Edison 平臺,NXP公司的Pico平臺,以及“黑莓派3”。
2、Contiki
Contiki,是一個開源的、容易移植的多任務(wù)操作系統(tǒng),適用于內(nèi)存受限的網(wǎng)絡(luò)任務(wù)。Contiki 項目的作者是瑞典計算機科學研究所的網(wǎng)絡(luò)嵌入式系統(tǒng)小組的Adam Dunkels 博士。
(圖片來源于:contiki-os.org)
該系統(tǒng)只需要幾千字節(jié)或者幾百字節(jié)的內(nèi)存,就能提供多任務(wù)操作系統(tǒng)環(huán)境和TCP/IP支持。它已經(jīng)移植并成功運行于嵌入式微控制器平臺(TI MSP430,Atmel AVR)以及電腦、游戲機等平臺。它支持的協(xié)議有全標準 IPv6 和 IPv4,以及低功耗網(wǎng)絡(luò)標準:6lowpan、RPL、CoAP。
3、eLinux
(圖片來源于:elinux.org)
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 是一個迷你的實時操作系統(tǒng)內(nèi)核,功能包括:任務(wù)管理、時間管理、信號量、消息隊列、內(nèi)存管理、記錄功能、軟件定時器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。
5、mbed OS
(圖片來源于:https://www.mbed.com/)
這款操作系統(tǒng)由ARM開發(fā),專門為運行ARM處理器的物聯(lián)網(wǎng)設(shè)備而設(shè)計。它包含了C++應(yīng)用程序網(wǎng)絡(luò),公司也提供其他開發(fā)工具和相關(guān)的設(shè)備服務(wù)器。
默認情況下,mbed 操作系統(tǒng)是事件驅(qū)動的單線程架構(gòu),而非多線程(實時操作系統(tǒng))環(huán)境。 這確保了它可以擴展到尺寸最小、成本最低且功耗最低的物聯(lián)網(wǎng)設(shè)備。
ARM在移動設(shè)備端有著強大的市場占有率,所以這款操作系統(tǒng)實力和前景不可小覷。
6、Raspbian
Raspbian 是一款基于Debian,為樹莓派硬件而設(shè)計的操作系統(tǒng)。這個操作系統(tǒng)包括一些列的基礎(chǔ)程序和工具,保證樹莓派硬件的運行。
(圖片來源于:http://raspbian.org)
7、RIOT
RIOT,將自己稱為“友好的物聯(lián)網(wǎng)操作系統(tǒng)”,致力于開發(fā)者友好、資源友好、物聯(lián)網(wǎng)友好,關(guān)鍵的功能包括C/C++支持、多線程、能量效率、部分遵守POSIX等等。RIOT 開源社區(qū)自2008年以來就啟動了。RIOT能夠在眾多平臺上運行包括嵌入式設(shè)備、PC、傳感器等。
(圖片來源于:http://riot-os.org/)
8、Ubuntu Core
Ubuntu 是目前最流行的Linux 版本,而Ubuntu Core旨在將Ubuntu 帶向物聯(lián)網(wǎng)世界。它可以運行例如微軟Azure、 谷歌計算引擎、 亞馬遜彈性云計算服務(wù),也可以運行在例如BeagleBone Black 和樹莓派等硬件上。
(圖片來源于:http://developer.ubuntu.com)
9、Huawei LiteOS
Huawei LiteOS 是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺”,具有輕量級(內(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)互通,提高用戶體驗。
Liteos操作系統(tǒng)具有能耗最低,尺寸小、響應(yīng)快等特點,也建立了開源社區(qū),能夠支持的芯片例如海思的PLC芯片HCT3911、媒體芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等。
10、Tizen
Tizen,Linux基金會和LiMo基金會,聯(lián)合英特爾和三星電子,共同開發(fā)的開源操作系統(tǒng),它可以滿足物聯(lián)網(wǎng)設(shè)備生態(tài)系統(tǒng)(包括設(shè)備制造商、手機運營商、應(yīng)用開發(fā)者、獨立軟件服務(wù)提供商)的需求,應(yīng)用于手機、電視、穿戴等多個產(chǎn)品。