亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)動態(tài)內(nèi)存分配的方法

文檔序號:6460463閱讀:204來源:國知局
專利名稱:一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)動態(tài)內(nèi)存分配的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種動態(tài)內(nèi)存分配的方法,尤其是涉及一種在無線傳感網(wǎng)絡(luò)節(jié) 點(diǎn)操作系統(tǒng)中的動態(tài)內(nèi)存分配方法。
背景技術(shù)
近年來,無線傳感網(wǎng)絡(luò)作為一個重要的研究領(lǐng)域,發(fā)展迅猛。很多無線傳 感網(wǎng)絡(luò)是基于節(jié)點(diǎn)類設(shè)備,例如伯克利節(jié)點(diǎn)。這些節(jié)點(diǎn)類設(shè)備包括低功耗微處
理器和極少量的內(nèi)存(3KB-10KBRAM)。既然對于這樣的節(jié)點(diǎn)類設(shè)備,內(nèi)存是一 種昂貴和有限的資源,因此有效的利用無線傳感網(wǎng)絡(luò)中節(jié)點(diǎn)類設(shè)備的內(nèi)存成為 無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)內(nèi)存分配的必然需求。
目前,在無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)中,有兩種基本的分配內(nèi)存的方法, 分別是靜態(tài)內(nèi)存分配和動態(tài)內(nèi)存分配。在現(xiàn)有的一些無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系 統(tǒng)中,TinyOS使用靜態(tài)內(nèi)存分配的方法,而MantisOS, SOS和Contiki等都使 用動態(tài)內(nèi)存分配的方法。
既然面向無線傳感網(wǎng)絡(luò)的應(yīng)用程序正向多樣性發(fā)展,在無線傳感網(wǎng)絡(luò)節(jié)點(diǎn) 操作系統(tǒng)中,使用動態(tài)內(nèi)存分配的方法與靜態(tài)內(nèi)存分配的方法相比可以獲取更 多的靈活性。然而,對于任意給出的一種現(xiàn)有的動態(tài)內(nèi)存分配算法,測試人員 都有可能發(fā)現(xiàn)一個特定應(yīng)用程序能夠破壞該動態(tài)內(nèi)存分配算法的策略。因此并 不存在一種現(xiàn)有的內(nèi)存分配算法可以針對所有的應(yīng)用程序提供最佳的性能和最 少的內(nèi)存花費(fèi)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)動態(tài)內(nèi)存分配的方 法,該方法通過模擬器和分析器為特定應(yīng)用程序選擇一個的動態(tài)分配算法,使 得實(shí)際部署于無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)上的應(yīng)用程序獲得最佳的性能和最少的內(nèi)存花
本發(fā)明采用的技術(shù)方案的步驟如下
1) 編輯源代碼為動態(tài)內(nèi)存分配指令添加用于指明候選動態(tài)內(nèi)存分配算法的 用戶標(biāo)簽,并設(shè)定分析器的分析參數(shù),供步驟5)分析參考使用,本地編譯計數(shù) 器清零,分析過程計數(shù)器清零;
2) 預(yù)編譯過程:將程序員編輯的帶有用戶標(biāo)簽的源代碼編譯成標(biāo)簽指代的內(nèi)存分配算法,生成預(yù)編譯代碼,并指定模擬次數(shù),將該值保存在模擬次數(shù)計數(shù)
器中,如果此時已經(jīng)獲取步驟5)的分析結(jié)果,則直接將帶有用戶標(biāo)簽的源代碼 編譯成唯一的最佳內(nèi)存分配算法,并指定模擬次數(shù)為零;
3) 本地編譯過程將步驟2)生成的預(yù)編譯代碼經(jīng)本地編譯器編譯,在本地編 譯過程中從候選分配器中加載由步驟2)指定的分配算法,生成可加載的鏡像文
件,然后將本地編譯計數(shù)器加一,如果本地編譯計數(shù)器的值小于等于步驟2)中
指定的模擬次數(shù)計數(shù)器,則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟6);
4) 模擬過程模擬器模擬執(zhí)行步驟3)中生成的可加載的鏡像文件,并生成應(yīng) 用程序的內(nèi)存訪問痕跡;
5) 分析過程首先將步驟4)中生成應(yīng)用程序的內(nèi)存訪問痕跡保存在分析器 中,當(dāng)本地編譯計數(shù)器的值等于模擬次數(shù)計數(shù)器的值時,分析器分析當(dāng)前保存 的所有由步驟4)生成應(yīng)用程序的內(nèi)存訪問痕跡,將分析后確定的內(nèi)存分配算法 的名稱傳給預(yù)編譯器,并轉(zhuǎn)入步驟2);當(dāng)本地編譯計數(shù)器的值小于模擬次數(shù)計 數(shù)器的值時,直接轉(zhuǎn)入步驟2);
6) 安裝過程:將步驟3)生成的可加載的鏡像文件通過燒入的方式安裝在實(shí)際 部署的節(jié)點(diǎn)中。
本發(fā)明與背景技術(shù)相比,具有有益的效果是
本發(fā)明所述的針對無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)的動態(tài)內(nèi)存分配的方式,可 以提高和改善動態(tài)內(nèi)存訪問的執(zhí)行時間和空間效率,并且應(yīng)用程序開發(fā)者可以 靈活的控制可供候選的動態(tài)內(nèi)存分配算法以及分析器的分析參數(shù)。


附圖是本發(fā)明方法的流程示意圖。
具體實(shí)施例方式
使用SOS2.0作為無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)的平臺,將SOS, Mantis OS, Contiki以及AVRLibc等系統(tǒng)中動態(tài)內(nèi)存算法提取出來作為候選算法。在分配指 令后加入劇...}作為表示候選算法的標(biāo)簽。預(yù)編譯器采用JavaCC技術(shù),實(shí)現(xiàn)了 從用戶編輯的源代碼到預(yù)編譯代碼的源碼到源碼的翻譯。本地編譯器使用 AVR-GCC, MSP-GCC這兩個編譯器。模擬器使用Avrom。分析器使用剩余內(nèi) 存容量、分配算法費(fèi)用、碎片率以及分配算法執(zhí)行時間這四個指標(biāo)來衡量對于 當(dāng)前應(yīng)用程序動態(tài)內(nèi)存分配算法的優(yōu)劣。安裝使用UISP,BSL程序。如附圖所示, 具體流程如下
步驟l):使用文本編輯器編輯應(yīng)用程序源代碼,為動態(tài)內(nèi)存分配指令添加用于指明候選動態(tài)內(nèi)存分配算法的用戶標(biāo)簽,并設(shè)定分析器的分析參數(shù),供步
驟5)分析參考使用。本地編譯計數(shù)器清零,分析過程計數(shù)器清零。
步驟2):使用JavaCC預(yù)編譯帶有用戶標(biāo)簽的應(yīng)用程序源代碼,將程序員編 輯的帶有用戶標(biāo)簽的源代碼編譯成標(biāo)簽指代的內(nèi)存分配算法,生成預(yù)編譯代碼, 并指定模擬次數(shù),將該值保存在模擬次數(shù)計數(shù)器中。如果此時已經(jīng)獲取步驟5) 的分析結(jié)果,則直接將帶有用戶標(biāo)簽的源代碼編譯成唯一的最佳內(nèi)存分配算法, 并指定模擬次數(shù)為零。
步驟3):對于針對不同節(jié)點(diǎn)類的硬件平臺的應(yīng)用程序使用AVR-GCC或 MSP-GCC進(jìn)行本地編譯,將步驟2)生成的預(yù)編譯代碼經(jīng)本地編譯器編譯,在本 地編譯過程中從候選分配器中加載由步驟2)指定的分配算法,生成可加載的鏡 像文件,然后將本地編譯計數(shù)器加一。如果本地編譯計數(shù)器的值小于等于步驟 2)中指定的模擬次數(shù)計數(shù)器,則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟6)。
步驟4):使用Avrora模擬軟件模擬應(yīng)用程序,模擬器模擬執(zhí)行步驟3)中生 成的可加載的鏡像文件,并生成應(yīng)用程序的內(nèi)存訪問痕跡。
步驟5):分析模擬數(shù)據(jù)的結(jié)果,首先將步驟4)中生成應(yīng)用程序的內(nèi)存訪問 痕跡保存在分析器中。當(dāng)本地編譯計數(shù)器的值等于模擬次數(shù)計數(shù)器的值時,分 析器分析當(dāng)前保存的所有由步驟4)生成應(yīng)用程序的內(nèi)存訪問痕跡,將分析后確 定的內(nèi)存分配算法的名稱傳給預(yù)編譯器,并轉(zhuǎn)入步驟2);當(dāng)本地編譯計數(shù)器的 值小于模擬次數(shù)計數(shù)器的值時,直接轉(zhuǎn)入步驟2)。
步驟6):對于針對不同節(jié)點(diǎn)類的硬件平臺的應(yīng)用程序使用UISP或BSL進(jìn) 行安裝,將步驟3)生成的可加載的鏡像文件通過燒入的方式安裝在實(shí)際部署的 節(jié)點(diǎn)中。
權(quán)利要求
1. 一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)動態(tài)內(nèi)存分配的方法,特征在于該方法的步驟如下1)編輯源代碼為動態(tài)內(nèi)存分配指令添加用于指明候選動態(tài)內(nèi)存分配算法的用戶標(biāo)簽,并設(shè)定分析器的分析參數(shù),供步驟5)分析參考使用,本地編譯計數(shù)器清零,分析過程計數(shù)器清零;2)預(yù)編譯過程將程序員編輯的帶有用戶標(biāo)簽的源代碼編譯成標(biāo)簽指代的內(nèi)存分配算法,生成預(yù)編譯代碼,并指定模擬次數(shù),將該值保存在模擬次數(shù)計數(shù)器中,如果此時已經(jīng)獲取步驟5)的分析結(jié)果,則直接將帶有用戶標(biāo)簽的源代碼編譯成唯一的最佳內(nèi)存分配算法,并指定模擬次數(shù)為零;3)本地編譯過程將步驟2)生成的預(yù)編譯代碼經(jīng)本地編譯器編譯,在本地編譯過程中從候選分配器中加載由步驟2)指定的分配算法,生成可加載的鏡像文件,然后將本地編譯計數(shù)器加一,如果本地編譯計數(shù)器的值小于等于步驟2)中指定的模擬次數(shù)計數(shù)器,則轉(zhuǎn)入步驟4),否則轉(zhuǎn)入步驟6);4)模擬過程模擬器模擬執(zhí)行步驟3)中生成的可加載的鏡像文件,并生成應(yīng)用程序的內(nèi)存訪問痕跡;5)分析過程首先將步驟4)中生成應(yīng)用程序的內(nèi)存訪問痕跡保存在分析器中,當(dāng)本地編譯計數(shù)器的值等于模擬次數(shù)計數(shù)器的值時,分析器分析當(dāng)前保存的所有由步驟4)生成應(yīng)用程序的內(nèi)存訪問痕跡,將分析后確定的內(nèi)存分配算法的名稱傳給預(yù)編譯器,并轉(zhuǎn)入步驟2);當(dāng)本地編譯計數(shù)器的值小于模擬次數(shù)計數(shù)器的值時,直接轉(zhuǎn)入步驟2);6)安裝過程將步驟3)生成的可加載的鏡像文件通過燒入的方式安裝在實(shí)際部署的節(jié)點(diǎn)中。
全文摘要
本發(fā)明公開了一種在無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)操作系統(tǒng)動態(tài)內(nèi)存分配的方法。該方法包括如下步驟編輯源代碼,預(yù)編譯過程,本地編譯過程,模擬過程,分析過程和安裝過程。該方法可以提高和改善動態(tài)內(nèi)存訪問的執(zhí)行時間和空間效率,并且應(yīng)用程序開發(fā)者可以靈活的控制可供候選的動態(tài)內(nèi)存分配算法以及分析器的分析參數(shù)。該方法通過模擬器和分析器為特定應(yīng)用程序選擇一個的動態(tài)分配算法,使得實(shí)際部署于無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)上的應(yīng)用程序獲得最佳的性能和最少的內(nèi)存花費(fèi)。
文檔編號G06F9/445GK101281479SQ200810061579
公開日2008年10月8日 申請日期2008年5月7日 優(yōu)先權(quán)日2008年5月7日
發(fā)明者卜佳俊, 騰國棟, 鄭扣根, 純 陳 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1