[發(fā)明專利]移動終端操作系統(tǒng)基于全系統(tǒng)擴展調(diào)用圖的自動優(yōu)化方法有效
| 申請?zhí)枺?/td> | 201210495453.7 | 申請日: | 2012-11-28 |
| 公開(公告)號: | CN103034486A | 公開(公告)日: | 2013-04-10 |
| 發(fā)明(設計)人: | 董淵;王生原;李疊;駱歡 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京思海天達知識產(chǎn)權代理有限公司 11203 | 代理人: | 樓艮基 |
| 地址: | 100084*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 移動 終端 操作系統(tǒng) 基于 全系統(tǒng) 擴展 調(diào)用 自動 優(yōu)化 方法 | ||
技術領域
本發(fā)明涉及移動通信領域,特別涉及一種移動終端操作系統(tǒng)基于全系統(tǒng)擴展調(diào)用圖的自動優(yōu)化方法。
背景技術
在中國,互聯(lián)網(wǎng)和移動設備的發(fā)展相互影響,形成強大的普及浪潮。以智能手機、上網(wǎng)本為代表的移動終端在激烈的競爭中迅猛發(fā)展。根據(jù)中國互聯(lián)信息網(wǎng)絡中心(CNNIC)第29次互聯(lián)網(wǎng)調(diào)查報告稱,截止2011年12月底,中國有5.13億互聯(lián)網(wǎng)用戶,其中手機上網(wǎng)用戶3.56億,占網(wǎng)民總體的近69.4%。
以安卓(Android)系統(tǒng)為代表的移動終端開源操作系統(tǒng)的使用比例和影響能力在不斷擴大。GARTNER公司的報告顯示,在2011年的第四季度,Android是全球使用最廣泛的智能手機操作系統(tǒng),在全球智能手機中的市場占有率約50%。
Android系統(tǒng)一開始就是用開源、開放的開發(fā)方式,受到業(yè)界和學術界的廣泛關注,自從發(fā)布以來,Android的版本基本上每半年一個臺階地向前發(fā)展。其平臺的開放性也吸引了大量的第三方開發(fā)者進行應用程序開發(fā),Android?Market上的應用程序數(shù)量從2009年12月的1.6萬迅速增長到2012年上半年的50萬。
隨著近年移動設備和相關軟件的迅速發(fā)展,移動設備上的操作系統(tǒng)和應用程序的復雜性、程序體積都比幾年前大幅提高,這也就對移動操作系統(tǒng)的優(yōu)化提出了很多新的需求。
在這些快速發(fā)展中,有相當數(shù)量原來用于桌面和服務器系統(tǒng)的組件僅作少量移植后就用于移動操作系統(tǒng)上,例如Android系統(tǒng)自身就使用了一百余個外來的開源軟件代碼,它們既包括最底層的Linux內(nèi)核,也包括上層的WebKit瀏覽器引擎等。這些組件并非專門針對移動操作系統(tǒng)所編寫,移植到移動操作系統(tǒng)以后往往還存在優(yōu)化空間,但如果對它們一一進行手工優(yōu)化將耗費大量人力物力資源。因此發(fā)明一種能自動進行全系統(tǒng)優(yōu)化的方法非常有必要。
Android系統(tǒng)分為四層,從上到下依次為:
·應用程序:使用Java語言編寫,可通過Java本地接口(JNI)調(diào)用本地代碼。
·應用程序框架:使用Java、C、C++編寫,向應用程序提供活動管理器、窗口管理器等服務。
·系統(tǒng)庫和Android運行時環(huán)境:使用C/C++以及少量匯編編寫,為應用程序和應用程序框架提供必要的與系統(tǒng)交互的接口。
·Linux內(nèi)核:操作系統(tǒng)內(nèi)核,使用為Android修改過的Linux內(nèi)核。
整個Android系統(tǒng)(Android-x86,20120215版本)包含2270萬行代碼,包括C、C++、Java以及其他語言。除了Linux內(nèi)核以外,系統(tǒng)中共有950萬行本地代碼(C、C++及少量匯編)。
Android系統(tǒng)基于Linux內(nèi)核,但并沒有使用其他Linux系統(tǒng)常用的GNU?libc(服務器、桌面Linux系統(tǒng)常用)或uClibc(基于Linux的嵌入式系統(tǒng)常用),而是使用了專有的C庫,稱為Bionic。Bionic庫的部分代碼衍生自BSD,部分專門為Android編寫,并針對Android系統(tǒng)作了優(yōu)化和精簡,刪除了Android不需要的功能。優(yōu)化后的Bionic庫的代碼體積顯著減小,在x86平臺上僅有GNU?libc的26%,uClibc的62%。
從Bionic的例子可以看出,通用的代碼在被用于特定的系統(tǒng)時會有比較大的優(yōu)化空間。據(jù)此可以推測:Android上的其他組件也會有優(yōu)化的空間,尤其是那些原本為服務器和桌面系統(tǒng)編寫的組件。由于工作量的關系,Android沒有也不可能為系統(tǒng)中的每一個組件都人工進行如此細致的優(yōu)化。本發(fā)明通過一種自動進行全系統(tǒng)優(yōu)化的方法解決了這個問題。
本發(fā)明給出移動終端操作系統(tǒng)基于全系統(tǒng)擴展調(diào)用圖的自動優(yōu)化方法,從全系統(tǒng)編譯后的目標文件中讀取信息,基于這些信息構(gòu)建全系統(tǒng)的擴展調(diào)用圖,進一步找出擴展調(diào)用圖中的有效子圖,根據(jù)有效子圖對目標文件進行二進制重寫后,鏈接生成優(yōu)化后的可執(zhí)行文件和動態(tài)庫文件。本發(fā)明使用自動的方法進行全系統(tǒng)分析和優(yōu)化,不影響系統(tǒng)的源代碼,優(yōu)化過程不需人工干預,優(yōu)化后的系統(tǒng)體積減小,性能有所提升,具有重要的實際意義和應用價值。
發(fā)明內(nèi)容
本發(fā)明使用程序分析技術,設計出一種移動終端操作系統(tǒng)基于全系統(tǒng)擴展調(diào)用圖的自動優(yōu)化方法,方法針對目前廣泛采用的移動終端操作系統(tǒng)中的軟件優(yōu)化問題,給出自動優(yōu)化的方法。以Android系統(tǒng)為例,要求考慮除了底層Linux內(nèi)核以外的所有本地代碼,對它們進行自動優(yōu)化,在確保優(yōu)化后的系統(tǒng)正確性不受影響的前提下,消除無用代碼,減小代碼體積,提升系統(tǒng)性能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經(jīng)清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210495453.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:三類底盤及故障車下線裝置
- 下一篇:叉車載荷穩(wěn)定裝置





