專利名稱:一種無(wú)線傳感器網(wǎng)絡(luò)專用操作系統(tǒng)的設(shè)計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式軟件以及無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,公開(kāi)了一種無(wú)線傳感器網(wǎng)絡(luò)專用 操作系統(tǒng)的設(shè)計(jì)方法。
背景技術(shù):
無(wú)線傳感網(wǎng)的研究以應(yīng)用為目標(biāo),然而無(wú)線傳感網(wǎng)應(yīng)用之廣泛是"無(wú)所不在"的,不同 應(yīng)用所針對(duì)的環(huán)境,不同應(yīng)用所采用的硬件平臺(tái)都是不同的,同時(shí)無(wú)線傳感網(wǎng)的三層構(gòu)架中 也會(huì)釆用不同能力的節(jié)點(diǎn)平臺(tái)來(lái)完成不同的任務(wù)。如何高效的組織不同應(yīng)用,不同硬件平臺(tái), 將成為無(wú)線傳感網(wǎng)推進(jìn)泛在化急需解決的問(wèn)題。無(wú)線傳感網(wǎng)操作系統(tǒng)是無(wú)線傳感網(wǎng)系統(tǒng)的基 本軟件環(huán)境,是許許多多的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)的基礎(chǔ)。性能優(yōu)良的操作系統(tǒng)可以 使整個(gè)網(wǎng)絡(luò)系統(tǒng)在運(yùn)行過(guò)程中資源配置優(yōu)化合理、工作穩(wěn)定可靠,系統(tǒng)使用者更容易基于這 樣的操作系統(tǒng)開(kāi)發(fā)各種應(yīng)用。因此,建立基于無(wú)線傳感網(wǎng)的具有標(biāo)準(zhǔn)化、模塊化、通用化接 口能力、各種傳輸體制集成兼容能力、向后兼容能力及強(qiáng)大的二次開(kāi)發(fā)及測(cè)試能力的通用無(wú) 線傳感網(wǎng)操作系統(tǒng)是縮短傳感網(wǎng)開(kāi)發(fā)周期,將傳感網(wǎng)推向快速應(yīng)用,產(chǎn)業(yè)化,最終實(shí)現(xiàn)無(wú)線 傳感網(wǎng)泛在化的核心研究?jī)?nèi)容。當(dāng)前主要的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)如下1. TinyOS為UC Berkeley開(kāi)發(fā)的,專為無(wú)線傳感網(wǎng)絡(luò)設(shè)計(jì)的開(kāi)源操作系統(tǒng),目前最 新版本為2. x2. S0S為UCLA開(kāi)發(fā)的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng),目前最新版本為2.x3. Mantis 0S是由Colorado大學(xué)研發(fā)的面向傳感器網(wǎng)絡(luò)的微型操作系統(tǒng),目前最新 版本為0. 9. 54. Contiki是由Swedish Institute of Computer Science開(kāi)發(fā)的開(kāi)源節(jié)點(diǎn)操作系統(tǒng), 目前版本為2.x其中應(yīng)用最為廣泛的為T(mén)iny0S,其系統(tǒng)架構(gòu)如圖一所示。當(dāng)前國(guó)內(nèi)外傳感網(wǎng)應(yīng)用方面的 研發(fā)大都采用Tiny0S的軟件體系設(shè)計(jì)。雖然Tiny0S當(dāng)前己經(jīng)具有一定的影響力,然而由于其自身功能固有的局限性,只能用于研究方面的應(yīng)用,并沒(méi)有也不會(huì)成為產(chǎn)業(yè)標(biāo)準(zhǔn)。在無(wú)線 傳感網(wǎng)通用操作系統(tǒng)研究方面,國(guó)內(nèi)外還都處于研究摸索狀態(tài)。 發(fā)明內(nèi)容本發(fā)明的目的是提出一種無(wú)線傳感器網(wǎng)絡(luò)專用操作系統(tǒng)的設(shè)計(jì)方法。本發(fā)明所述的無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法包括微內(nèi)核組件化設(shè)計(jì)、網(wǎng)絡(luò) 內(nèi)存管理策略、操作系統(tǒng)能耗管理、多虛擬機(jī)機(jī)制。采用本發(fā)明可形成一個(gè)高效、穩(wěn)定、安全可靠的分布式無(wú)線傳感計(jì)算平臺(tái)。
圖1顯示本發(fā)明系統(tǒng)的系統(tǒng)架構(gòu)。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。本發(fā)明包括微內(nèi)核組件化設(shè)計(jì)、網(wǎng)絡(luò)內(nèi)存管理策略、操作系統(tǒng)能耗管理、多虛擬機(jī)機(jī)制。 所述的微內(nèi)核組件化設(shè)計(jì)為支持多線程硬實(shí)時(shí)的微內(nèi)核組件化設(shè)計(jì),包含三個(gè)核心步驟設(shè)計(jì)支持多線程硬實(shí)時(shí)的操作系統(tǒng)微內(nèi)核、設(shè)計(jì)其他操作系統(tǒng)功能的模塊、模塊可自動(dòng)加載或更新并使得操作系統(tǒng)功能可裁剪。為了減少操作系統(tǒng)的尺寸以及對(duì)資源的消耗,本發(fā)明設(shè)計(jì)支持多線程硬實(shí)時(shí)的操作系統(tǒng)微內(nèi)核。所述的微內(nèi)核核心服務(wù)功能主要包括(1) 支持多進(jìn)程及多線程(多任務(wù))。(2) 支持硬實(shí)時(shí)。(3) 支持可搶占多模式任務(wù)調(diào)度固定優(yōu)先級(jí),可變優(yōu)先級(jí),死期調(diào)度,事件驅(qū)動(dòng)等,也 可支持分時(shí)調(diào)度??筛鶕?jù)不同能力的硬件節(jié)點(diǎn)動(dòng)態(tài)選擇不同的調(diào)度策略。(4) 可精確到系統(tǒng)時(shí)鐘周期的高精度定時(shí)器。(5) 對(duì)于事件和信號(hào)的支持POSIX信號(hào)和實(shí)時(shí)信號(hào),核心中的事件。內(nèi)核的核心服務(wù)只是構(gòu)成一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng)的最核心的部分,不包括驅(qū)動(dòng)程序以 及驅(qū)動(dòng)程序的管理。核心服務(wù)使用的硬件設(shè)備包括定時(shí)器和中斷設(shè)備。由于傳感器網(wǎng)絡(luò)節(jié)點(diǎn)資源有限,因此系統(tǒng)和應(yīng)用程序的代碼量小是其必須的要求。為此, 本發(fā)明對(duì)無(wú)線傳感網(wǎng)操作系統(tǒng)采用組件化結(jié)構(gòu)設(shè)計(jì),以減小系統(tǒng)對(duì)存儲(chǔ)資源的占用。對(duì)于組件化的系統(tǒng),每個(gè)組件是獨(dú)立的可定制及可加載的系統(tǒng)單元。對(duì)于核心服務(wù),如果不添加任 何組件,則可以構(gòu)成一個(gè)功能簡(jiǎn)單的,具有強(qiáng)實(shí)時(shí)特性的微型操作系統(tǒng)。
由于在無(wú)線傳感網(wǎng)三層架構(gòu)中,節(jié)點(diǎn)可分為傳感器節(jié)點(diǎn)、高能力傳感器節(jié)點(diǎn),匯聚節(jié)點(diǎn) 等,所以針對(duì)不同能力的節(jié)點(diǎn),設(shè)計(jì)能夠加載不同的組件,以適應(yīng)不同的硬件平臺(tái)角色以及 不同的處理能力,具體如下
(1) 高效的劃分組件,最大化組件的重用以及組件間的交叉引用。
(2) 支持高度可裁減,動(dòng)態(tài)可配置的組件化結(jié)構(gòu),針對(duì)不同應(yīng)用,不同能力硬件節(jié)點(diǎn)動(dòng)態(tài) 加載及卸載組件。根據(jù)不同的節(jié)點(diǎn)定位,加載不同的功能組件。在低能力節(jié)點(diǎn)上提供最基本 的功能組件;在高能力節(jié)點(diǎn)提供更多的操作系統(tǒng)實(shí)用性組件,如簡(jiǎn)單的文件系統(tǒng),數(shù)據(jù)庫(kù)系 統(tǒng)等組件。
(3) 支持對(duì)不同硬件平臺(tái)高度完備的抽象層,對(duì)于傳感器CPU,傳感外設(shè),定時(shí)器,MAC 等,建立完整的模型,以利于將來(lái)最小化不同硬件平臺(tái)的移植代價(jià)。
(4) 支持對(duì)不同無(wú)線協(xié)議棧的高度抽象層,以適應(yīng)多種環(huán)境下的多種天線。
(5) 可動(dòng)態(tài)更新組件,系統(tǒng)的配置、重載和升級(jí)是以組件為單元進(jìn)行,根據(jù)任務(wù)下發(fā)到 節(jié)點(diǎn)。
所述的內(nèi)存管理策略同時(shí)支持靜態(tài)和動(dòng)態(tài)內(nèi)存分配管理,包含兩個(gè)核心的步驟固定內(nèi) 存要求靜態(tài)管理、非固定內(nèi)存要求動(dòng)態(tài)管理。
無(wú)線傳感網(wǎng)操作系統(tǒng)由于節(jié)點(diǎn)的資源受限性, 一般采用靜態(tài)分配內(nèi)存和資源的方式。靜 態(tài)分配的內(nèi)存有可預(yù)測(cè)性和可靠性高的優(yōu)點(diǎn),但缺乏靈活性,不是預(yù)估大了而造成浪費(fèi)就是 小了造成系統(tǒng)崩潰。
為了充分利用內(nèi)存,本發(fā)明采用靜態(tài)和動(dòng)態(tài)分配相結(jié)合的資源分配方式的設(shè)計(jì)。同時(shí)在 采用動(dòng)態(tài)內(nèi)存管理的同時(shí),降低系統(tǒng)的復(fù)雜度,同時(shí)高效的解決動(dòng)態(tài)內(nèi)存分配可能帶來(lái)的內(nèi) 存碎片問(wèn)題。
所述的操作系統(tǒng)能耗管理,結(jié)合無(wú)線部分和CPU部分能耗管理,提供高精度,多粒度能 耗管理。
無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)中,在硬件平臺(tái)已經(jīng)確定的情況下,操作系統(tǒng)主要從CPU和外部設(shè) 備兩方面來(lái)降低功耗,所述的能耗管理,具體包括如下
(1) 低功耗監(jiān)聽(tīng)提供多種靈活的睡眠,喚醒接口,可分別講CPU或外部設(shè)備進(jìn)入睡眠狀 態(tài)。同時(shí)提高進(jìn)入睡眠和喚醒的響應(yīng)速度。
(2) 功率控制提供多種發(fā)射功率控制接口,不同層次的能耗控制功能庫(kù)。(3) 動(dòng)態(tài)電源管理和動(dòng)態(tài)電壓調(diào)整實(shí)現(xiàn)動(dòng)態(tài)電壓調(diào)整技術(shù),動(dòng)態(tài)改變微處理器的工作電 壓和頻率,從而在性能和能耗之間取得平衡。
(4) 應(yīng)用編譯優(yōu)化在對(duì)應(yīng)用進(jìn)行編譯時(shí),對(duì)代碼整體的分析做出對(duì)應(yīng)用代碼的全局優(yōu)化, 從而提高通訊和計(jì)算的可靠性,并降低功耗。
所述多虛擬機(jī)機(jī)制提供對(duì)多嵌入式操作系統(tǒng)的并行運(yùn)行的支持,具體包括輕量級(jí)的虛 擬機(jī)管理,提供虛擬中斷和虛擬管道來(lái)支持不同虛擬機(jī)上的程序的通訊要求。
為了兼顧已有的一些無(wú)線傳感網(wǎng)操作系統(tǒng),讓其能夠繼續(xù)使用一段時(shí)間,本發(fā)明設(shè)計(jì)了 一種最輕量級(jí)的虛擬機(jī)機(jī)制,使得不同現(xiàn)有操作系統(tǒng)的應(yīng)用能夠同時(shí)運(yùn)行。
本發(fā)明設(shè)計(jì)的最輕量級(jí)的虛擬機(jī)機(jī)制中,虛擬機(jī)的主要功能是提供對(duì)多種嵌入式操作系 統(tǒng)的并行運(yùn)行的支持,使得在新操作系統(tǒng)上開(kāi)發(fā)的應(yīng)用與原有的操作系統(tǒng)如uCOS, nucleus, TinyOS等能夠并行運(yùn)行。通過(guò)虛擬機(jī)管理系統(tǒng)來(lái)提供虛擬中斷和虛擬管道來(lái)支持不同虛擬機(jī) 上的程序的通訊要求。
利用本發(fā)明可形成一個(gè)高效、穩(wěn)定、安全可靠的分布式無(wú)線傳感計(jì)算平臺(tái)。
權(quán)利要求
1、一種無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法,其特征在于它包括微內(nèi)核組件化設(shè)計(jì)、網(wǎng)絡(luò)內(nèi)存管理策略、操作系統(tǒng)能耗管理、多虛擬機(jī)機(jī)制。
2、 根據(jù)權(quán)利要求l所述的一種無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法,其特征在于所述的微內(nèi)核組件化設(shè)計(jì)為支持多線程硬實(shí)時(shí)的微內(nèi)核組件化設(shè)計(jì),包含三個(gè)核心步驟設(shè)計(jì) 支持多線程硬實(shí)時(shí)的操作系統(tǒng)微內(nèi)核、設(shè)計(jì)其他操作系統(tǒng)功能的模塊、模塊可自動(dòng)加載或更 新并使得操作系統(tǒng)功能可裁剪。
3、 根據(jù)權(quán)利要求1所述一種無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法,其特征在于所述 的內(nèi)存管理策略同時(shí)支持靜態(tài)和動(dòng)態(tài)內(nèi)存分配管理,包含兩個(gè)核心的步驟固定內(nèi)存要求靜 態(tài)管理、非固定內(nèi)存要求動(dòng)態(tài)管理。
4、 根據(jù)權(quán)利要求1所述一種無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法,其特征在于所述 的操作系統(tǒng)能耗管理,結(jié)合無(wú)線部分和CPU部分能耗管理,提供高精度,多粒度能耗管理, 具體為提供多種靈活的睡眠,喚醒接口;提供多種發(fā)射功率控制接口;動(dòng)態(tài)電源管理和動(dòng) 態(tài)電壓調(diào)整。
5、 根據(jù)權(quán)利要求1所述一種無(wú)線傳感器網(wǎng)絡(luò)專有操作系統(tǒng)的設(shè)計(jì)方法,其特征在于所述 多虛擬機(jī)機(jī)制提供對(duì)多嵌入式操作系統(tǒng)的并行運(yùn)行的支持,具體包括輕量級(jí)的虛擬機(jī)管理, 提供虛擬中斷和虛擬管道來(lái)支持不同虛擬機(jī)上的程序的通訊要求。
全文摘要
本發(fā)明屬于嵌入式軟件以及無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,公開(kāi)了一種無(wú)線傳感器網(wǎng)絡(luò)專用操作系統(tǒng)的設(shè)計(jì)方法,包括微內(nèi)核組件化設(shè)計(jì)、網(wǎng)絡(luò)內(nèi)存管理策略、操作系統(tǒng)能耗管理、多虛擬機(jī)機(jī)制。采用本發(fā)明可形成一個(gè)高效、穩(wěn)定、安全可靠的分布式無(wú)線傳感計(jì)算平臺(tái)。
文檔編號(hào)G06F9/44GK101303647SQ20081006119
公開(kāi)日2008年11月12日 申請(qǐng)日期2008年3月20日 優(yōu)先權(quán)日2008年3月20日
發(fā)明者劉海濤, 鄭 姚, 延 巖, 鋒 張, 張寶賢, 壯 趙, 雪 高, 奎 黃 申請(qǐng)人:中科院嘉興中心微系統(tǒng)所分中心