[發明專利]構造動態組件的方法和系統有效
| 申請號: | 200710063147.5 | 申請日: | 2007-01-29 |
| 公開(公告)號: | CN101236491A | 公開(公告)日: | 2008-08-06 |
| 發明(設計)人: | 吳濤 | 申請(專利權)人: | 大唐移動通信設備有限公司;上海大唐移動通信設備有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京信遠達知識產權代理事務所 | 代理人: | 王學強 |
| 地址: | 100083*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 構造 動態 組件 方法 系統 | ||
技術領域
本發明涉及計算機軟件技術領域,特別涉及一種構造動態組件的方法和系統。
背景技術
隨著第三代移動通信技術的不斷成熟,可提供的傳輸帶寬越來越寬。更寬的帶寬能夠提供給用戶更加豐富的業務和應用,且用戶對新業務的需求也不斷提高,因此,需要開發更多的應用以滿足需求。
目前較普遍的應用的開發模式為采用實時操作系統(Real?Time?OperatingSystem,RTOS)為開發環境,構造動態組件,使動態組件可以動態地加載到系統。其中,動態組件是按照一定的格式單獨編譯、連接好的應用,提供一定的功能,以文件的形式存在。該動態組件動態加載到系統上,具體的,是動態加載到系統內核上,成為可以執行的代碼指令。所述的應用可以由用戶自行開發,或由第三方開發,這樣將應用的開發和動態組件的構造分為兩個過程,利于開發應用的自由度,方便應用的單獨開發。
動態組件需要加載在系統內核上,調用系統內核中的API(ApplicationProgramming?Interface,應用程序接口),并提供接口到其它模塊,使其它模塊可以通過該接口使用該動態組件。基于此,一般的構造動態組件的方法如下:
編寫應用;
設定應用通過內核接口對內核API的方式;
設定應用導出給其它模塊使用的接口的方式;
將應用、設定的內核API調用方式和設定的導出接口方式經編譯、連接后生成動態組件。
其中,設定應用通過內核接口對內核API調用的方式,和設定應用導出給其它模塊使用的接口的方式,是構造動態組件過程中需要著重解決的兩個問題。因為這兩個問題的解決會影響到動態組件對內核調用的效率,還會涉及到在實時操作系統中構造動態組件的實現起來的難易度。
現有技術中的一種PIC/PID形式構造動態組件的方法中,解決上述兩個問題的方式如下:
內核提供統一的調用接口,該接口采用宏重新定義,以使動態組件可以通過統一的內核接口,按照定義的宏來調用內核API;
導出一個接口給其它模塊調用。
該方法中,由于內核提供的是統一的調用接口,因此動態組件通過該接口調用內核中不同API時,需要經過一定次數的比較對內核接口定義的宏才能得到真正調用的內核中API,這些對內核接口重新定義的宏位于頭文件中,很多時候,如果宏很多,需要比較的次數可能很大,這樣就影響了動態組件調用內核API的效率,同時,更改頭文件也導致該方法實現過程較繁瑣。此外,針對PIC/PID形式,需要修改實時操作系統中內核線程的調度,這也使該方法實現過程較困難。
另外,現有技術中還有一種Module形式的構造動態組件的方法。與前述方法不同,該方法中,內核提供所有接口的符號與API所在內核中的地址的對應表,動態組件對接口的引用通過符號進行引用,具體的,在內核加載過程中解析這些符號,同時,動態組件接口的導出也通過符號的形式導出。且方法最終生成的動態組件是未經連接的ELF文件。
該方法由于提供的接口是符號形式,則在內核加載過程和接口導出過程中,需要解析這些符號,這樣會導致效率降低。而且,連接過程的作用是指定文件執行時的入口,該方法生成的則是未經連接的ELF文件,即不會指定該文件執行時的入口。本領域技術人員知道,文件中包括很多不同的段,可能執行時只需要使用其中的某一些段,則將需要的段保留,將不需要的段去除,這樣可以精簡組件。而本方法不指定入口與出口,就不會知道哪些段是需要使用的段,也就不會去除不需要的段,這樣就使生成的文件體積很大,而在執行時需要將該文件全部調入內存中,這樣,該方法占用了較大內存空間,會造成內存資源的浪費。
發明內容
本發明的目的是提供一種構造動態組件的方法和系統,以克服現有技術構造的動態組件調用內核接口效率不高的問題。
為解決上述技術問題,本發明提供一種構造動態組件的方法和系統是這樣實現的:
一種構造動態組件的方法,預先設定內核各API與其所在地址的映射關系表,并設定應用所要調用的內核API標識到映射關系表相關記錄的映射關系的膠合函數,該方法包括:
設定應用調用內核中API的方式為通過膠合函數跳轉到內核中的映射關系表,再通過該映射關系表跳轉到內核中的API;
設定應用導出可被調用的接口;
將所述通過膠合函數跳轉到內核中的映射關系表、再跳轉到內核中的API的設定,和對導出接口方式的設定,和應用經編譯、連接后生成動態組件。
所述設定膠合函數還包括:
將每一膠合函數設定于不同的段中。
所述設定應用導出可被調用的接口由以下方式實現:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐移動通信設備有限公司;上海大唐移動通信設備有限公司,未經大唐移動通信設備有限公司;上海大唐移動通信設備有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710063147.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種雜環芳基-芳基聯苯類化合物的制備方法
- 下一篇:前列舒樂膠囊及其制備方法





