亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動(dòng)中間件SDK兩級(jí)重定位算法優(yōu)化

        2010-01-08 07:28:34賈德祥何加銘黃錦濤
        關(guān)鍵詞:系統(tǒng)

        賈德祥,何加銘,陳 平,黃錦濤

        (寧波大學(xué)通信技術(shù)研究所,浙江寧波315211)

        移動(dòng)中間件SDK兩級(jí)重定位算法優(yōu)化

        賈德祥,何加銘,陳 平,黃錦濤

        (寧波大學(xué)通信技術(shù)研究所,浙江寧波315211)

        移動(dòng)中間件被越來越廣泛地應(yīng)用于手機(jī)平臺(tái),但終端硬件限制復(fù)雜,對(duì)SDK運(yùn)行效率要求高,給平臺(tái)應(yīng)用帶來很大困難。該文提出一種改進(jìn)的重定位算法,將通常意義下的重定位算法擴(kuò)展為兩級(jí)索引表結(jié)構(gòu),使用二級(jí)跳轉(zhuǎn)完成代碼重定位。在主頻≤110MHz移動(dòng)終端環(huán)境下進(jìn)行比較測(cè)試,結(jié)果表明,使用該算法,可以有效提高庫(kù)的執(zhí)行效率,實(shí)現(xiàn)代碼快速重定位,并降低了應(yīng)用解釋與執(zhí)行的系統(tǒng)消耗。

        中間件;重定位;開發(fā)包;應(yīng)用開發(fā)環(huán)境

        0 引 言

        IBM的CICS是最早具有中間件技術(shù)思想及功能的軟件,但由于其不是分布式環(huán)境的產(chǎn)物,人們一般把1984年由貝爾實(shí)驗(yàn)室開發(fā)的Tuxedo作為第一個(gè)嚴(yán)格意義上的中間件產(chǎn)品,盡管中間件的概念很早就產(chǎn)生,但其廣泛應(yīng)用卻是在最近10年[1]。國(guó)內(nèi)在中間件起步于整個(gè)世界范圍內(nèi)中間件的初創(chuàng)時(shí)期。東方通信科技早在1992年就開始中間件的研究和開發(fā),1993年推出第一個(gè)產(chǎn)品TongLINK/Q,而且中科院軟件所、國(guó)防科技大學(xué)等研究機(jī)構(gòu)也對(duì)中間件技術(shù)進(jìn)行了同步研究,可以說,在中間件領(lǐng)域,國(guó)內(nèi)的起步時(shí)間并不比國(guó)外晚多少。而隨著移動(dòng)設(shè)備的普及,越來越多的機(jī)構(gòu)將中間件的思想應(yīng)用于移動(dòng)通信領(lǐng)域,國(guó)內(nèi)的斯凱、沃勤等都是比較成功的典范[2]。本文提出的中間件開發(fā)SDK,側(cè)重研究基于移動(dòng)中間件的應(yīng)用擴(kuò)展方法,通過優(yōu)化的兩級(jí)重定位算法為移動(dòng)設(shè)備提供了一個(gè)完整高效的開發(fā)平臺(tái),使得終端制造商可以在跨芯片平臺(tái)上進(jìn)行手機(jī)應(yīng)用研發(fā),同時(shí)也使得移動(dòng)應(yīng)用商能夠得到開發(fā)工具和支持。

        1 移動(dòng)中間件

        移動(dòng)中間件的提出,最早是為了解決分布異構(gòu)問題。通俗來講,中間件是處于操作系統(tǒng)和應(yīng)用程序之間的軟件及通用服務(wù),也有人認(rèn)為它應(yīng)該屬于操作系統(tǒng)的一部分。人們?cè)谑褂弥虚g件時(shí),往往是一組中間件集成在一起,構(gòu)成一個(gè)平臺(tái)(包括開發(fā)平臺(tái)和運(yùn)行平臺(tái))。針對(duì)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。中間件在系統(tǒng)中的位置如圖1所示:

        圖1 中間件示意圖

        而SDK作為中間件應(yīng)用開發(fā)的主要環(huán)境和工具,其設(shè)計(jì)的是否合理直接關(guān)系到應(yīng)用的執(zhí)行效果。當(dāng)前大多數(shù)開發(fā)環(huán)境都能解決系統(tǒng)間接調(diào)用的問題,但其解釋代碼執(zhí)行的效率往往達(dá)不到終端硬件的限制要求,導(dǎo)致應(yīng)用的運(yùn)行消耗資源大,表現(xiàn)為系統(tǒng)卡機(jī)等,由此設(shè)計(jì)出代碼效率高,定位迅速的SDK非常必要,本文通過研究中間件應(yīng)用開發(fā)中的重定位機(jī)制,并對(duì)其進(jìn)行了兩級(jí)重定位的擴(kuò)展,加快了代碼解釋執(zhí)行的效率,解決了應(yīng)用運(yùn)行難的問題。

        2 SDK系統(tǒng)架構(gòu)設(shè)計(jì)

        在Windows中程序都是以文件形式存儲(chǔ)在文件系統(tǒng)中,然后通過操作系統(tǒng)控制這些程序的運(yùn)行,也就是說,它的程序是分散式的。而在嵌入式系統(tǒng)中通常是將程序燒錄在Flash芯片中,CPU直接從Flash芯片中讀取指令運(yùn)行,并不經(jīng)過文件系統(tǒng),稱這種程序是一體式的。因此為了使中間件開發(fā)環(huán)境SDK正在可用,必須建立類似Windows文件系統(tǒng)的分散式結(jié)構(gòu),實(shí)現(xiàn)應(yīng)用與系統(tǒng)的分離。

        一個(gè)分散式系統(tǒng)需要有3個(gè)部分組成:平臺(tái)、軟件開發(fā)工具包(SDK:Software Development Kit)和應(yīng)用程序。分散式應(yīng)用程序的運(yùn)行需要平臺(tái)的支持,應(yīng)用程序則通過SDK進(jìn)行開發(fā),開發(fā)出源程序經(jīng)過編譯之后可以運(yùn)行在運(yùn)行平臺(tái)之上。平臺(tái)分為開發(fā)平臺(tái)和運(yùn)行平臺(tái),開發(fā)平臺(tái)是SDK運(yùn)行的平臺(tái),用來開發(fā)可以在運(yùn)行平臺(tái)上運(yùn)行的應(yīng)用程序,對(duì)于一些系統(tǒng)還會(huì)提供模擬運(yùn)行平臺(tái)的模擬器,以便于在沒有顯而易見的運(yùn)行設(shè)備時(shí)可以看到開發(fā)的效果;運(yùn)行平臺(tái)是應(yīng)用程序運(yùn)行的平臺(tái),它提供應(yīng)用程序運(yùn)行的環(huán)境,并控制應(yīng)用的運(yùn)行。它們之間的關(guān)系如圖2所示:

        圖2 SDK系統(tǒng)關(guān)系圖

        3 SDK重定位算法

        由圖1可知,應(yīng)用開發(fā)環(huán)境最核心的部分是SDK,其創(chuàng)造了應(yīng)用與終端系統(tǒng)之間的互動(dòng)環(huán)境,應(yīng)用可通過SDK提供的接口訪問終端系統(tǒng)函數(shù),而程序的動(dòng)態(tài)分發(fā),由SDK中最核心的開發(fā)庫(kù)實(shí)現(xiàn)。開發(fā)庫(kù)是供模塊調(diào)用者鏈接使用的專有庫(kù),與相關(guān)模塊一一對(duì)應(yīng),將封裝的模塊接口供目標(biāo)程序使用。除此之外,它還有一個(gè)運(yùn)行時(shí)才確定的模塊重定位表地址指針和模塊動(dòng)態(tài)查找定位的代碼[3]。

        當(dāng)開發(fā)庫(kù)被使用時(shí),庫(kù)初始化代碼會(huì)被執(zhí)行,它通過指定的系統(tǒng)調(diào)用來初始化庫(kù)中的模塊重定位表基地址指針。此后每次目標(biāo)程序使用模塊提供的函數(shù)接口時(shí),都通過以下公式得到該接口在系統(tǒng)中的實(shí)際地址:

        其數(shù)學(xué)表達(dá)式為YE=N+Ln×4,YE為接口實(shí)際地址,N為重定位表基地址,Ln為函數(shù)在表中的位置。

        在式1中,函數(shù)index是指對(duì)應(yīng)函數(shù)在模塊重定位表中的數(shù)組下標(biāo)值。因?yàn)楦鶕?jù)模塊聲明文件生成的開發(fā)庫(kù)中已經(jīng)包含了每個(gè)函數(shù)的索引信息(index),同時(shí)在32位系統(tǒng)中需要乘以4得到準(zhǔn)確的偏移量,所以當(dāng)開發(fā)庫(kù)中重定位表地址被初始化后,可以通過這個(gè)公式得到指定接口實(shí)際地址,完成函數(shù)調(diào)用。

        4 兩級(jí)重定位優(yōu)化

        在本文的設(shè)計(jì)中,為了降低性能開銷和增加確定性,在終端系統(tǒng)端不進(jìn)行程序重定位的工作,而將其在主機(jī)端完成[4],即在應(yīng)用開發(fā)端完成。為了實(shí)現(xiàn)系統(tǒng)動(dòng)態(tài)擴(kuò)展,必須使各個(gè)模塊能夠單獨(dú)鏈接生成執(zhí)行程序,并且運(yùn)行時(shí)不用關(guān)心彼此的定位。本文通過兩級(jí)重定位表機(jī)制來完成這一協(xié)調(diào)性工作。其示意圖如圖3所示:

        圖3 兩級(jí)重定位表示意圖

        其算法描述如下:

        (1)進(jìn)入定位循環(huán),如果全部模塊已經(jīng)遍歷完畢,則停止循環(huán),說明要定位的模塊并不存在于定位表中;否則進(jìn)行下一個(gè)模塊判斷;

        (2)將第i個(gè)表地址與待判斷模塊比較;若匹配,轉(zhuǎn)至(3);否則,轉(zhuǎn)至(1);

        (3)記錄i,并取出其對(duì)應(yīng)的模塊二級(jí)重定位表首地址;

        (4)記錄二級(jí)重定位表首地址為tad,并在該表中進(jìn)入定位循環(huán),遍歷查找接口,若匹配,則取接口index,并以下面公式計(jì)算。

        tad為引用的外部接口所在模塊地址(即二級(jí)重定位表首地址),i為一級(jí)表模塊位置,ts為二級(jí)重定位表大小,pAdress為所要求的實(shí)際引用外部接口地址,index為其在表中的位置,得到pAdress后便可以使用下面的方法對(duì)該接口進(jìn)行引用:((void(*)())pAdress)();這樣就可以做到函數(shù)運(yùn)行地址的可浮動(dòng),也就是在主機(jī)端便創(chuàng)造了動(dòng)態(tài)加載的條件。

        5 實(shí)驗(yàn)結(jié)果

        為了測(cè)試算法的可用性及執(zhí)行效率,分別在使用一般的重定位算法和使用本文所提出的改進(jìn)的重定位算法兩種情況下,在同一測(cè)試平臺(tái)BIRD D717上,對(duì)同一應(yīng)用進(jìn)行了測(cè)試。測(cè)試平臺(tái)BIRD D717的詳細(xì)參數(shù)如表1所示:

        表1 測(cè)試環(huán)境BIRD D717參數(shù)

        為了比較兩種算法的代碼定位效率,在應(yīng)用中對(duì)入口函數(shù)sr_app_entry使用了RDTSC指令,以生成時(shí)間比對(duì)數(shù)據(jù)。函數(shù)定位測(cè)試數(shù)據(jù)如表2所示,表2中所記時(shí)間均為從加載完成后,到成功重定位到sr_app_entry函數(shù)所經(jīng)過的CPU執(zhí)行周期數(shù)(即時(shí)間片):

        表2 入口函數(shù)sr_app_entry代碼定位數(shù)據(jù)

        兩種算法下應(yīng)用的實(shí)際運(yùn)行效果比對(duì)如表3所示,由數(shù)據(jù)可知,本文重定位算法對(duì)同一函數(shù)的定位時(shí)間比通常算法的實(shí)現(xiàn)平均小43個(gè)CPU時(shí)間片,這表明使用本文提出的兩級(jí)重定位算法,可以有效提高應(yīng)用的執(zhí)行效率,實(shí)現(xiàn)運(yùn)行代碼的快速重定位,這樣就保證了應(yīng)用的流暢運(yùn)行;因此采用包含本文所提算法的SDK進(jìn)行應(yīng)用開發(fā),可以降低應(yīng)用的系統(tǒng)消耗,使得應(yīng)用開發(fā)更加具有可操作性。

        表3 實(shí)驗(yàn)-兩種平臺(tái)下實(shí)際運(yùn)行結(jié)果比較

        6 結(jié)束語(yǔ)

        一個(gè)實(shí)用、可靠的中間件平臺(tái),必須要有穩(wěn)定的終端運(yùn)行模塊及完整高效的應(yīng)用開發(fā)環(huán)境,本文針對(duì)典型的中間件平臺(tái)SDK在中低端手機(jī)上的不足,研究提出了一種基于C語(yǔ)言的移動(dòng)終端應(yīng)用SDK,設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單,占用資源少,解決了第三方業(yè)務(wù)內(nèi)容在中低端手機(jī)上應(yīng)用推廣難的問題,降低了應(yīng)用開發(fā)成本,并成功應(yīng)用于MTKOS,實(shí)驗(yàn)結(jié)果表明,由本文提供的開發(fā)環(huán)境制作的應(yīng)用程序體積精簡(jiǎn),加載速度快,運(yùn)行效率高,實(shí)現(xiàn)了手機(jī)應(yīng)用的快速開發(fā)與推廣。

        本文所提出的中間件SDK,由于側(cè)重于研究環(huán)境使用的間接可操作性,在文件安全[5]方面并未做有效工作,下一步將考慮在應(yīng)用的開發(fā)過程中加入安全設(shè)計(jì),由開發(fā)環(huán)境自主完成對(duì)應(yīng)用關(guān)鍵資源及代碼的安全加密及認(rèn)證簽名,藉此保護(hù)應(yīng)用開發(fā)者的利益。

        [1]李娜,王維哲.基于CORBA的異構(gòu)數(shù)據(jù)庫(kù)訪問中間件的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(5):61-83.

        [2]徐照 .面向服務(wù)的普適計(jì)算中間件若干技術(shù)研究[D].杭州:浙江大學(xué),2008.

        [3]范文彬.基于智能手機(jī)平臺(tái)的RFID中間件研究[D].廈門:廈門大學(xué),2009.

        [4]段雪峰,王小鴿.基于反射的中間件設(shè)計(jì)[D].西安:西北工業(yè)大學(xué),2004.

        [5]馮國(guó)瑞.基于中間件技術(shù)的異構(gòu)機(jī)器人網(wǎng)絡(luò)控制系統(tǒng)的研究[J].工業(yè)控制計(jì)算機(jī),2010,23(2):101-123.

        The Two-level Relocation Algorithm Optimization of Mobile M iddleware SDK JIA De-xiang,HE Jia-m ing,CHEN Ping,HUANG Jin-tao

        (Instituteof Communication,Ningbo University,Ningbo Zhejiang315211,China)

        Themobilemiddleware platform has been applied inmobile terminalsmore and morewidely.But the mobile terminals havemany complex restrictions on the hardware part,which bring a lot of difficult to the platform’s commercial application.So this request themidd leware platform has an efficient SDK.For this point,wemade changes based on the general relocation algorithm,improve the algorithm to a two-level index structure,and use tow-stage jumpmethod to realize the code relocation.We tested the improved algorithm in amobile terminalenvironmentwith≤110MHz CPU.The results show that this algorithm can effectively improve the execution efficiency of the SDK,realize the quick code relocation,and reduce the system implementation of running application.

        middleware;relocation;SDK;application development environment

        TP301.6

        A

        1001-9146(2010)05-0069-04

        2010-07-20

        國(guó)家重大專項(xiàng)核高基資助項(xiàng)目(ZX01039-001-002-004、ZX03001-016、ZX03004-005);科技部公共服務(wù)平臺(tái)創(chuàng)新基金資助項(xiàng)目(C26243314159);浙江省科技計(jì)劃資助項(xiàng)目(C31107);國(guó)際科技合作資助項(xiàng)目(DFA12120)

        賈德祥(1986-),男,山東泰安人,在讀研究生,通信終端核心應(yīng)用軟件技術(shù).

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        国产在线成人精品| 91精品国产高清久久福利| 高清日韩av在线免费观看 | 国产欧美va欧美va香蕉在线| 伊人大杳焦在线| 久久精品国产亚洲av高清漫画 | 日韩精品午夜视频在线| 神马影院午夜dy888| 日本真人做人试看60分钟| 少妇无码太爽了不卡视频在线看 | 97成人精品视频在线| 亚洲精品乱码久久久久久不卡| 国产成人无码精品久久二区三区| 亚洲aⅴ天堂av天堂无码麻豆| 最新四色米奇影视777在线看| 无码片久久久天堂中文字幕| 久久久亚洲欧洲日产国码是AV| 永久免费看黄在线观看| 午夜性无码专区| 久久久久久亚洲AV成人无码国产| 一区二区三无码| 玖玖资源站亚洲最大的网站| 精品精品国产高清a毛片| 果冻传媒2021精品一区| 成人免费网站视频www| 亚洲AV小说在线观看| 伊人狼人激情综合影院| 亚洲av综合av一区| 午夜无码伦费影视在线观看| 亚洲 国产 哟| av在线免费播放网站| 亚洲黄色精品在线播放| aaa日本高清在线播放免费观看| 国产精品久久人妻无码| 国产精品麻豆aⅴ人妻| 国产自产拍精品视频免费看| 国产白浆一区二区在线| 狼人香蕉香蕉在线28 - 百度 | 亚洲av日韩av一卡二卡| 在线视频一区二区三区中文字幕| av免费网站免费久久网|