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