物聯(lián)網(wǎng)操作系統(tǒng)的架構(gòu)和基本功能
物聯(lián)網(wǎng)操作系統(tǒng)由內(nèi)核、輔助外圍模塊(文件系統(tǒng)、圖形用戶界面、通信協(xié)議棧、各類常見設(shè)備的驅(qū)動(dòng)程序等)、集成開發(fā)環(huán)境等組成,基于此,可衍生出一系列面向行業(yè)的特定應(yīng)用,下圖展示了這個(gè)概念:
本文引用地址:http://m.butianyuan.cn/article/201710/368554.htm物聯(lián)網(wǎng)操作系統(tǒng)與傳統(tǒng)的個(gè)人計(jì)算機(jī)操作系統(tǒng)和智能手機(jī)類操作系統(tǒng)不同,它具備物聯(lián)網(wǎng)應(yīng)用領(lǐng)域內(nèi)的一些獨(dú)特特點(diǎn),現(xiàn)說明如下。
物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核的特點(diǎn)
1、內(nèi)核尺寸伸縮性強(qiáng),能夠適應(yīng)不同配置的硬件平臺(tái)。比如,一個(gè)極端的情況下,內(nèi)核尺寸必須維持在10K以內(nèi),以支撐內(nèi)存和CPU性能都很受限的傳感器,這時(shí)候內(nèi)核具備基本的任務(wù)調(diào)度和通信功能即可。在另外一個(gè)極端的情況下,內(nèi)核必須具備完善的線程調(diào)度、內(nèi)存管理、本地存儲(chǔ)、復(fù)雜的網(wǎng)絡(luò)協(xié)議、圖形用戶界面等功能,以滿足高配置的智能物聯(lián)網(wǎng)終端的要求。這時(shí)候的內(nèi)核尺寸,不可避免的會(huì)大大增加,可以達(dá)到幾百K,甚至M級。這種內(nèi)核尺寸的伸縮性,可以通過兩個(gè)層面的措施來實(shí)現(xiàn):重新編譯和二進(jìn)制模塊選擇加載。重新編譯措施很簡單,只需要根據(jù)不同的應(yīng)用目標(biāo),選擇所需的功能模塊,然后對內(nèi)核進(jìn)行重新編譯即可。這個(gè)措施應(yīng)用于內(nèi)核定制非常深入的情況下,比如要求內(nèi)核的尺寸達(dá)到10K以下的場合。而二進(jìn)制模塊選擇加載,則用在對內(nèi)核定制不是很深入的情況。這時(shí)候維持一個(gè)操作系統(tǒng)配置文件,文件里列舉了操作系統(tǒng)需要加載的所有二進(jìn)制模塊。在內(nèi)核初始化完成后,會(huì)根據(jù)配置文件,加載所需的二進(jìn)制模塊。這需要終端設(shè)備要有外部存儲(chǔ)器(比如硬盤、Flash等),以存儲(chǔ)要加載的二進(jìn)制模塊;
2、內(nèi)核的實(shí)時(shí)性必須足夠強(qiáng),以滿足關(guān)鍵應(yīng)用的需要。大多數(shù)的物聯(lián)網(wǎng)設(shè)備,要求操作系統(tǒng)內(nèi)核要具備實(shí)時(shí)性,因?yàn)楹芏嗟年P(guān)鍵性動(dòng)作,必須在有限的時(shí)間內(nèi)完成,否則將失去意義。內(nèi)核的實(shí)時(shí)性包涵很多層面的意思,首先是中斷響應(yīng)的實(shí)時(shí)性,一旦外部中斷發(fā)生,操作系統(tǒng)必須在足夠短的時(shí)間內(nèi)響應(yīng)中斷并做出處理。其次是線程或任務(wù)調(diào)度的實(shí)時(shí)性,一旦任務(wù)或線程所需的資源或進(jìn)一步運(yùn)行的條件準(zhǔn)備就緒,必須能夠馬上得到調(diào)度。顯然,基于非搶占式調(diào)度方式的內(nèi)核很難滿足這些實(shí)時(shí)性要求;
3、內(nèi)核架構(gòu)可擴(kuò)展性強(qiáng)。物聯(lián)網(wǎng)操作系統(tǒng)的內(nèi)核,應(yīng)該設(shè)計(jì)成一個(gè)框架,這個(gè)框架定義了一些接口和規(guī)范,只要遵循這些接口和規(guī)范,就可以很容易的在操作系統(tǒng)內(nèi)核上增加新的功能的新的硬件支持。因?yàn)槲锫?lián)網(wǎng)的應(yīng)用環(huán)境具備廣譜特性,要求操作系統(tǒng)必須能夠擴(kuò)展以適應(yīng)新的應(yīng)用環(huán)境。內(nèi)核應(yīng)該有一個(gè)基于總線或樹結(jié)構(gòu)的設(shè)備管理機(jī)制,可以動(dòng)態(tài)加載設(shè)備驅(qū)動(dòng)程序或其它核心模塊。同時(shí)內(nèi)核應(yīng)該具備外部二進(jìn)制模塊或應(yīng)用程序的動(dòng)態(tài)加載功能,這些應(yīng)用程序存儲(chǔ)在外部介質(zhì)上,這樣就無需修改內(nèi)核,只需要開發(fā)新的應(yīng)用程序,就可滿足特定的行業(yè)需求;
4、內(nèi)核應(yīng)足夠安全和可靠。可靠性就不用說了,物聯(lián)網(wǎng)應(yīng)用環(huán)境具備自動(dòng)化程度高、人為干預(yù)少的特點(diǎn),這要求內(nèi)核必須足夠可靠,以支撐長時(shí)間的獨(dú)立運(yùn)行。安全對物聯(lián)網(wǎng)來說更加關(guān)鍵,甚至關(guān)系到國家命脈。比如一個(gè)不安全的內(nèi)核被應(yīng)用到國家電網(wǎng)控制當(dāng)中,一旦被外部侵入,造成的影響將無法估量。為了加強(qiáng)安全性,內(nèi)核應(yīng)支持內(nèi)存保護(hù)(VMM等機(jī)制)、異常管理等機(jī)制,以在必要時(shí)隔離錯(cuò)誤的代碼。另外一個(gè)安全策略,就是不開放源代碼,或者不開放關(guān)鍵部分的內(nèi)核源代碼。不公開源代碼只是一種安全策略,并不代表不能免費(fèi)適用內(nèi)核;
5、節(jié)能省電,以支持足夠的電源續(xù)航能力。操作系統(tǒng)內(nèi)核應(yīng)該在CPU空閑的時(shí)候,降低CPU運(yùn)行頻率,或干脆關(guān)閉 CPU。對于周邊設(shè)備,也應(yīng)該實(shí)時(shí)判斷其運(yùn)行狀態(tài),一旦進(jìn)入空閑狀態(tài),則切換到省電模式。同時(shí),操作系統(tǒng)內(nèi)核應(yīng)最大程度的降低中斷發(fā)生頻率,比如在不影響實(shí)時(shí)性的情況下,把系統(tǒng)的時(shí)鐘頻率調(diào)到最低,以最大可能的節(jié)約電源。
物聯(lián)網(wǎng)操作系外圍模塊的特點(diǎn)
外圍模塊指為了適應(yīng)物聯(lián)網(wǎng)的應(yīng)用特點(diǎn),操作系統(tǒng)應(yīng)該具備的一些功能特征,比如遠(yuǎn)程維護(hù)和升級等。同時(shí)也指為了擴(kuò)展物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核的功能范圍,而開發(fā)的一些功能模塊,比如文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等。物聯(lián)網(wǎng)操作系統(tǒng)的外圍模塊(或外圍功能)應(yīng)該至少具備下列這些:
1、支持操作系統(tǒng)核心、設(shè)備驅(qū)動(dòng)程序或應(yīng)用程序等的遠(yuǎn)程升級。遠(yuǎn)程升級是物聯(lián)網(wǎng)操作系統(tǒng)的最基本特征,這個(gè)特性可大大降低維護(hù)成本。遠(yuǎn)程升級完成后,原有的設(shè)備配置和數(shù)據(jù)能夠得以繼續(xù)使用。即使在升級失敗的情況下,操作系統(tǒng)也應(yīng)該能夠恢復(fù)原有的運(yùn)行狀態(tài)。遠(yuǎn)程升級和維護(hù)是支持物聯(lián)網(wǎng)操作系統(tǒng)大規(guī)模部署的主要措施之一;
2、支持常用的文件系統(tǒng)和外部存儲(chǔ)。比如支持FAT32/NTFS/DCFS等文件系統(tǒng),支持硬盤、USB stick、Flash、ROM等常用存儲(chǔ)設(shè)備。在網(wǎng)絡(luò)連接中斷的情況下,外部存儲(chǔ)功能會(huì)發(fā)揮重要作用。比如可以臨時(shí)存儲(chǔ)采集到的數(shù)據(jù),再網(wǎng)絡(luò)恢復(fù)后再上傳到數(shù)據(jù)中心。但文件系統(tǒng)和存儲(chǔ)驅(qū)動(dòng)的代碼,要與操作系統(tǒng)核心代碼有效分離,能夠做到非常容易的裁剪;
3、支持遠(yuǎn)程配置、遠(yuǎn)程診斷、遠(yuǎn)程管理等維護(hù)功能。這里不僅僅包涵常見的遠(yuǎn)程操作特性,比如遠(yuǎn)程修改設(shè)備參數(shù)、遠(yuǎn)程查看運(yùn)行信息等。還應(yīng)該包涵更深層面的遠(yuǎn)程操作,比如可以遠(yuǎn)程查看操作系統(tǒng)內(nèi)核的狀態(tài),遠(yuǎn)程調(diào)試線程或任務(wù),異常時(shí)的遠(yuǎn)程dump內(nèi)核狀態(tài)等功能。這些功能不僅僅需要外圍應(yīng)用的支持,更需要內(nèi)核的天然支持;
4、 支持完善的網(wǎng)絡(luò)功能。物聯(lián)網(wǎng)操作系統(tǒng)必須支持完善的TCP/IP協(xié)議棧,包括對IPv4和IPv6的同時(shí)支持。這個(gè)協(xié)議棧要具備靈活的伸縮性,以適應(yīng)裁剪需要。比如可以通過裁剪,使得協(xié)議棧只支持IP/UDP等協(xié)議功能,以降低代碼尺寸。同時(shí)也支持豐富的IP協(xié)議族,比如Telnet/FTP/IPSec/SCTP等協(xié)議,以適用智能終端和高安全可靠的應(yīng)用場合;
5、對物聯(lián)網(wǎng)常用的無線通信功能要內(nèi)置支持。比如支持GPRS/3G/HSPA/4G等公共網(wǎng)絡(luò)的無線通信功能,同時(shí)要支持Zigbee/NFC/RFID等近場通信功能,支持WLAN/Ethernet等桌面網(wǎng)絡(luò)接口功能。這些不同的協(xié)議之間,要能夠相互轉(zhuǎn)換,能夠把從一種協(xié)議獲取到的數(shù)據(jù)報(bào)文,轉(zhuǎn)換成為另外一種協(xié)議的報(bào)文發(fā)送出去。除此之外,還應(yīng)支持短信息的接收和發(fā)送、語音通信、視頻通信等功能;
6、內(nèi)置支持XML文件解析功能。物聯(lián)網(wǎng)時(shí)代,不同行業(yè)之間,甚至相同行業(yè)的不同領(lǐng)域之間,會(huì)存在嚴(yán)重的信息共享壁壘。而XML格式的數(shù)據(jù)共享可以打破這個(gè)壁壘,因此XML標(biāo)準(zhǔn)在物聯(lián)網(wǎng)領(lǐng)域會(huì)得到更廣泛的應(yīng)用。物聯(lián)網(wǎng)操作系統(tǒng)要內(nèi)置對XML解析的支持,所有操作系統(tǒng)的配置數(shù)據(jù),統(tǒng)一用XML格式進(jìn)行存儲(chǔ)。同時(shí)也可對行業(yè)自行定義的XML格式進(jìn)行解析,以完成行業(yè)轉(zhuǎn)換功能;
7、支持完善的GUI功能。圖形用戶界面一般應(yīng)用于物聯(lián)網(wǎng)的智能終端中,完成用戶和設(shè)備的交互。GUI應(yīng)該定義一個(gè)完整的框架,以方便圖形功能的擴(kuò)展。同時(shí)應(yīng)該實(shí)現(xiàn)常用的用戶界面元素,比如文本框、按鈕、列表等。另外,GUI模塊應(yīng)該與操作系統(tǒng)核心分離,最好支持二進(jìn)制的動(dòng)態(tài)加載功能,即操作系統(tǒng)核心根據(jù)應(yīng)用程序需要,動(dòng)態(tài)加載或卸載GUI模塊。GUI模塊的效率要足夠高,從用戶輸入確認(rèn),到具體的動(dòng)作開始執(zhí)行之間的時(shí)間(可以叫做click-launch時(shí)間)要足夠短,不能出現(xiàn)用戶點(diǎn)擊了確定、但任務(wù)的執(zhí)行卻等待很長時(shí)間的情況;
8、支持從外部存儲(chǔ)介質(zhì)中動(dòng)態(tài)加載應(yīng)用程序。物聯(lián)網(wǎng)操作系統(tǒng)應(yīng)提供一組API,供不同應(yīng)用程序調(diào)用,而且這一組 API應(yīng)該根據(jù)操作系統(tǒng)所加載的外圍模塊實(shí)時(shí)變化。比如在加載了GUI模塊的情況下,需要提供GUI操作的系統(tǒng)調(diào)用,但是在沒有GUI模塊的情況下,就不應(yīng)該提供GUI功能調(diào)用。同時(shí)操作系統(tǒng)、GUI等外圍模塊、應(yīng)用程序模塊應(yīng)該二進(jìn)制分離,操作系統(tǒng)能夠動(dòng)態(tài)的從外部存儲(chǔ)介質(zhì)上按需加載應(yīng)用程序。這樣的一種結(jié)構(gòu),就使得整個(gè)操作系統(tǒng)具備強(qiáng)大的擴(kuò)展能力。操作系統(tǒng)內(nèi)核和外圍模塊(GUI、網(wǎng)絡(luò)等)提供基礎(chǔ)支持,而各種各樣的行業(yè)應(yīng)用,通過應(yīng)用程序來實(shí)現(xiàn)。最后在軟件發(fā)布的時(shí)候,只發(fā)布操作系統(tǒng)內(nèi)核、所需的外圍模塊、應(yīng)用程序模塊即可。
物聯(lián)網(wǎng)操作系統(tǒng)集成開發(fā)環(huán)境的特點(diǎn)
集成開發(fā)環(huán)境是構(gòu)筑行業(yè)應(yīng)用的關(guān)鍵工具,物聯(lián)網(wǎng)操作系統(tǒng)必須提供方便靈活的開發(fā)工具,以開發(fā)出適合行業(yè)應(yīng)用的應(yīng)用程序。開發(fā)環(huán)境必須足夠成熟并得到廣泛適用,以降低應(yīng)用程序的上市時(shí)間(GTMT)。集成開發(fā)環(huán)境必須具備如下特點(diǎn):
1、 物聯(lián)網(wǎng)操作系統(tǒng)要提供豐富靈活的API,供程序員調(diào)用,這組API應(yīng)該能夠支持多種語言,比如既支持C/C++,也支持Java、Basic等程序設(shè)計(jì)語言;
2、 最好充分利用已有的集成開發(fā)環(huán)境。比如可以利用Eclipse、Visual Studio等集成開發(fā)環(huán)境,這些集成開發(fā)工具具備廣泛的應(yīng)用基礎(chǔ),可以在Internet上直接獲得良好的技術(shù)支持;
3、 除配套的集成開發(fā)環(huán)境外,還應(yīng)定義和實(shí)現(xiàn)一種緊湊的應(yīng)用程序格式(類似Windows的PE格式),以適用物聯(lián)網(wǎng)的特殊需要。通過對集成開發(fā)環(huán)境進(jìn)行定制,使得集成開發(fā)環(huán)境生成的代碼,可以遵循這種格式;
4、 要提供一組工具,方便應(yīng)用程序的開發(fā)和調(diào)試。比如提供應(yīng)用程序下載工具、遠(yuǎn)程調(diào)試工具等,支撐整個(gè)開發(fā)過程。
可以看出,上述物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核、外圍模塊、應(yīng)用開發(fā)環(huán)境等,都是支撐平臺(tái),支撐更上一層的行業(yè)應(yīng)用。行業(yè)應(yīng)用才是最終產(chǎn)生生產(chǎn)力的軟件,但是物聯(lián)網(wǎng)操作系統(tǒng)是行業(yè)應(yīng)用得以茁壯生長和長期有效生存的基礎(chǔ),只有具備了強(qiáng)大靈活的物聯(lián)網(wǎng)操作系統(tǒng),物聯(lián)網(wǎng)這棵大樹才能結(jié)出豐碩的果實(shí)。
評論