物聯(lián)網(wǎng)操作系統(tǒng)與傳統(tǒng)的個人計算機(jī)操作系統(tǒng)和智能手機(jī)類操作系統(tǒng)不同,它具備物聯(lián)網(wǎng)應(yīng)用領(lǐng)域內(nèi)的一些獨(dú)特特點(diǎn),現(xiàn)說明如下。
1、內(nèi)核尺寸伸縮性強(qiáng),能夠適應(yīng)不同配置的硬件平臺。比如,一個極端的情況下,內(nèi)核尺寸必須維持在10k以內(nèi),以支撐內(nèi)存和cpu性能都很受限的傳感器,這時候內(nèi)核具備基本的任務(wù)調(diào)度和通信功能即可。在另外一個極端的情況下,內(nèi)核必須具備完善的線程調(diào)度、內(nèi)存管理、本地存儲、復(fù)雜的網(wǎng)絡(luò)協(xié)議、圖形用戶界面等功能,以滿足高配置的智能物聯(lián)網(wǎng)終端的要求。這時候的內(nèi)核尺寸,不可避免的會大大增加,可以達(dá)到幾百k,甚至m級。這種內(nèi)核尺寸的伸縮性,可以通過兩個層面的措施來實(shí)現(xiàn):重新編譯和二進(jìn)制模塊選擇加載。重新編譯措施很簡單,只需要根據(jù)不同的應(yīng)用目標(biāo),選擇所需的功能模塊,然后對內(nèi)核進(jìn)行重新編譯即可。這個措施應(yīng)用于內(nèi)核定制非常深入的情況下,比如要求內(nèi)核的尺寸達(dá)到10k以下的場合。而二進(jìn)制模塊選擇加載,則用在對內(nèi)核定制不是很深入的情況。這時候維持一個操作系統(tǒng)配置文件,文件里列舉了操作系統(tǒng)需要加載的所有二進(jìn)制模塊。在內(nèi)核初始化完成后,會根據(jù)配置文件,加載所需的二進(jìn)制模塊。這需要終端設(shè)備要有外部存儲器(比如硬盤、flash等),以存儲要加載的二進(jìn)制模塊;
2、內(nèi)核的實(shí)時性必須足夠強(qiáng),以滿足關(guān)鍵應(yīng)用的需要。大多數(shù)的物聯(lián)網(wǎng)設(shè)備,要求操作系統(tǒng)內(nèi)核要具備實(shí)時性,因?yàn)楹芏嗟年P(guān)鍵性動作,必須在有限的時間內(nèi)完成,否則將失去意義。內(nèi)核的實(shí)時性包涵很多層面的意思,首先是中斷響應(yīng)的實(shí)時性,一旦外部中斷發(fā)生,操作系統(tǒng)必須在足夠短的時間內(nèi)響應(yīng)中斷并做出處理。其次是線程或任務(wù)調(diào)度的實(shí)時性,一旦任務(wù)或線程所需的資源或進(jìn)一步運(yùn)行的條件準(zhǔn)備就緒,必須能夠馬上得到調(diào)度。顯然,基于非搶占式調(diào)度方式的內(nèi)核很難滿足這些實(shí)時性要求;
3、內(nèi)核架構(gòu)可擴(kuò)展性強(qiáng)。物聯(lián)網(wǎng)操作系統(tǒng)的內(nèi)核,應(yīng)該設(shè)計成一個框架,這個框架定義了一些接口和規(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)該有一個基于總線或樹結(jié)構(gòu)的設(shè)備管理機(jī)制,可以動態(tài)加載設(shè)備驅(qū)動程序或其它核心模塊。同時內(nèi)核應(yīng)該具備外部二進(jìn)制模塊或應(yīng)用程序的動態(tài)加載功能,這些應(yīng)用程序存儲在外部介質(zhì)上,這樣就無需修改內(nèi)核,只需要開發(fā)新的應(yīng)用程序,就可滿足特定的行業(yè)需求;
4、內(nèi)核應(yīng)足夠安全和可靠??煽啃跃筒挥谜f了,物聯(lián)網(wǎng)應(yīng)用環(huán)境具備自動化程度高、人為干預(yù)少的特點(diǎn),這要求內(nèi)核必須足夠可靠,以支撐長時間的獨(dú)立運(yùn)行。安全對物聯(lián)網(wǎng)來說更加關(guān)鍵,甚至關(guān)系到國家命脈。比如一個不安全的內(nèi)核被應(yīng)用到國家電網(wǎng)控制當(dāng)中,一旦被外部侵入,造成的影響將無法估量。為了加強(qiáng)安全性,內(nèi)核應(yīng)支持內(nèi)存保護(hù)(vmm等機(jī)制)、異常管理等機(jī)制,以在必要時隔離錯誤的代碼。另外一個安全策略,就是不開放源代碼,或者不開放關(guān)鍵部分的內(nèi)核源代碼。不公開源代碼只是一種安全策略,并不代表不能免費(fèi)適用內(nèi)核;
5、節(jié)能省電,以支持足夠的電源續(xù)航能力。操作系統(tǒng)內(nèi)核應(yīng)該在cpu空閑的時候,降低cpu運(yùn)行頻率,或干脆關(guān)閉 cpu。對于周邊設(shè)備,也應(yīng)該實(shí)時判斷其運(yùn)行狀態(tài),一旦進(jìn)入空閑狀態(tài),則切換到省電模式。同時,操作系統(tǒng)內(nèi)核應(yīng)最大程度的降低中斷發(fā)生頻率,比如在不影響實(shí)時性的情況下,把系統(tǒng)的時鐘頻率調(diào)到最低,以最大可能的節(jié)約電源。