(3.237.97.64) 您好!臺灣時間:2021/03/09 09:17
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:陳學儒
研究生(外文):Shiue-Ru Chen
論文名稱:Android實驗環境之建立與效能提升
論文名稱(外文):Build Android Experimental Environment with Performance Enhancement
指導教授:朱守禮
指導教授(外文):Slo-Li Chu
學位類別:碩士
校院名稱:中原大學
系所名稱:資訊工程研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2010
畢業學年度:98
語文別:中文
論文頁數:75
中文關鍵詞:Dalvik效能側寫Android虛擬平台
外文關鍵詞:Virtual PlatformAndroidProfilingDalvik
相關次數:
  • 被引用被引用:1
  • 點閱點閱:468
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
隨著半導體製程演進與系統晶片技術的成熟,嵌入式系統的整體效能有著長足的發展。在多媒體與娛樂功能的需求的日益增加下,智慧型手機漸漸受到消費者青睞。有鑑於此,Google 基於Linux作業系統,於2007 年推出Android 平台。有別於其他手持式作業系統的封閉性與專有性,Android平台為一開放原始碼之作業系統。推出之後,短短數年之內,即廣為智慧型手機與小筆電所採用,成為近代極具有市場潛力與商業價值的開放式開發平台。Android 系統的應用程式平台(Application Framework)主要以Java 語言設計,不同於傳統Java 使用Java 虛擬機器(Java Virtual Machine; JVM),以堆疊為基礎的直譯Java Bytecode,Android 平台採用他們自行設計Dalvik Executable (Dex),取代Java Bytecode,作為Java執行檔的最終形式。更設計了對應的Dalvik 虛擬機器,來直譯Dex程式。Dalvik 虛擬機器採用一種類似RISC 架構執行方式,來提升直譯Dex程式的效率。即使如此,Dalvik虛擬機器仍舊是Android平台的最大效能瓶頸。
有鑑於此,本研究將著眼於分析Dalvik虛擬機器的效能瓶頸。透過我們所修改的Dalvik虛擬機器,找出最常使用或最花時間的Dex運算。本研究首先SystemC塑模的方式,建立虛擬平台,並移植Android系統於此虛擬平台之上,以作為後續研究開發之用。接著修改Dalvik 虛擬機器,使其具有側寫(Profiling)的能力,以評估各個dex運算的特徵。最後,我們將以常見的Benchmark程式,了解目前Dalvik虛擬機器之運算特性與效能瓶頸,以作為後續開發之用。

As growing technologies of semiconductor and system-on-a-chip, the overall performance of embedded system has an explicit improvement. Due to the extended requirements of multimedia and entertainment functionalities, the market share of the smart phone is increase. Accordingly, based on Linux, Google proposed a new embedded operating system, Android, in 2007. Different from other closed and proprietary mobile operating systems, Android platform is an open-source operating system. Therefore it is widely adopted in many smart phone and netbook products in just a few yeas and become a good open development environment with market potential and business value. The Application Framework of Android is developed by Java. Distinct from conventional Java Bytecode that is executed by stack-based Java Virtual Machine, Android platform is adopted their designed Dalvik Executable (Dex) to be the final format of Java execution file. Then they design a corresponding Dalvik Virtual Machine to interpret Dex execution. The Dalvik Virtual Machine is designed by a RISC-like architecture to execute the Dex instructions which can improve the performance of interpreting Dex execution. But Dalvik Virtual Machine is still the major performance bottleneck of Android platform.
Accordingly, this study focuses on analyzing the performance bottleneck of Dalvik Virtual Machine. By using our modified Dalvik Virtual Machine, we can figure out the most frequent and longest latency Dex operations. Firstly, we adopt SystemC language to model a virtual platform, and port Android system on it, for our further development and research. Then we modify Dalvik Virtual Machine to enable the capabilities of profiling and record the attributes of dex operation on a Android program. Finally, we adopt the common benchmarks to evaluate the computation characteristics and performance bottleneck of Dalvik Virtual Machine for our development in the future.

目錄
摘要....................................................................................I
Abstract.............................................................................II
致謝...................................................................................III
目......................................................................................IV
圖目錄...............................................................................V
表格目錄.........................................................................VII
第一章 緒論...................................................................1
第二章 Android系統簡介.............................................3
 2.1 簡介Android系統內部架構..................................4
 2.2 Dalvik虛擬機器與Core Library介紹...................9
第三章 實驗環境建置與系統移植............................15
 3.1 實驗環境建置......................................................15
 3.2 Android作業系統之移植....................................20
第四章 Dalvik Virtual Machine之修改與程式編譯..31
 4.1 Dalvik Virtual Machine之修改............................31
 4.2 Jave 程式編譯流程.............................................34
 4.3 Dalvik Interpreter之執行流程.............................35
第五章 Dalvik Virtual Machine效能評估..................39
 5.1 Benchmark程式說明..........................................39
 5.2 各個Benchmark之實驗結果..............................40
 5.3 Benchmark實驗結果綜合討論..........................65
第六章 結論................................................................67
參考文獻........................................................................68

圖目錄
圖一:主要之智慧型手機作業系統市佔率...1
圖二:十種採用Android系統之智慧型手機...3
圖三:Android系統架構圖...4
圖四:應用程式、Android Framework、OpenGL、Skia、Surface關係圖 (Android圖形系統Client端)...6
圖五:應用程式、Android Framework、OpenGL、Skia、Surface關係圖 (Android圖形系統Server端)...6
圖六:Dalvik VM運作流程(一)...12
圖七:Dalvik VM運作流程(二)...13
圖八:Dalvik VM運作流程(三)...13
圖九:Dalvik VM運作流程(四)...14
圖十:Platform Creator之開發環境...16
圖十一:Virtual Platform Analyzer的控制畫面...17
圖十二:適用於Android系統之Virtual Platform...18
圖十三:Android Virtual Platform之VPA控制畫面...19
圖十四:修改Android Linux kernel Makefile...22
圖十五:Linux kernel make menuconfig設定畫面...23
圖十六:Linux Kernel新增結構...24
圖十七:Linux versatile_clcd_panel修改...25
圖十八:Linux Kernel core.c時間相關更動部份...26
圖十九:Linux Kernel touchkit_ps2.c更動部份...26
圖二十:Android系統之編譯流程...28
圖二十一:Android Root Filesystem之建立流程...29
圖二十二:Android系統在 Virtual Platform之執行畫面...30
圖二十三:Davlik C版本Interpreter程式碼片段...31
圖二十四:Dalvik Interpreter Profiling架構示意圖...32
圖二十五:Interpreter程式碼檔案之組成...33
圖二十六:Java Program Compile to Dex File...34
圖二十七:<Android Source Code>/dalvik/vm/interp/Interp.c之Interpreter版本選擇...36
圖二十八:<Android Source Code>/dalvik/vm/Init.c之setCommandLineDefaults函式...37
圖二十九:<Android Source Code>/dalvik/vm/Init.c之dvmProcessOptions函式片段...38
圖三十:程式執行參數傳遞過程...38
圖三十一:SPEC JVM98 _201_compress執行次數前10名之Dex指令...41
圖三十二:SPEC JVM98 _201_compress總執行時間前10名之Dex指令...42
圖三十三:SPEC JVM98 _201_compress平均執行時間前10名之Dex指令...43
圖三十四:SPEC JVM98 _201_compress加權時間前10名之Dex指令...44
圖三十五:SPEC JVM98 _205_raytrace執行次數前10名之Dex指令...45
圖三十六:SPEC JVM98 _205_raytrace總執行時間前10名之Dex指令...46
圖三十七:SPEC JVM98 _205_raytrace平均行時間前10名之Dex指令...47
圖三十八:SPEC JVM98 _205_raytrace加權時間前10名之Dex指令...48
圖三十九:SPEC JVM98 _209_db執行次數前10名之Dex指令...49
圖四十:SPEC JVM98 _209_db總執行時間前10名之Dex指令...50
圖四十一:SPEC JVM98 _209_db平均執行時間前10名之Dex指令...51
圖四十二:SPEC JVM98 _209_db加權時間前10名之Dex指令...52
圖四十三:SPEC JVM98 _227_mtrt執行次數前10名之Dex指令...53
圖四十四:SPEC JVM98 _227_mtrt總執行時間前10名之Dex指令...54
圖四十五:SPEC JVM98 _227_mtrt平均執行時間前10名之Dex指令...55
圖四十六:SPEC JVM98 _227_mtrt加權時間前10名之Dex指令...56
圖四十七:SPEC JVM98 _999_checkit執行次數前10名之Dex指令...57
圖四十八:SPEC JVM98 _999_checkit總執行時間前10名之Dex指令...58
圖四十九:SPEC JVM98 _999_checkit平均執行時間前10名之Dex指令...59
圖五十:SPEC JVM98 _999_checkit加權時間前10名之Dex指令...60
圖五十一:CaffeineMark 3.0執行次數前10名之Dex指令...61
圖五十二:CaffeineMark 3.0總執行時間前10名之Dex指令...62
圖五十三:CaffeineMark 3.0平均執行時間前10名之Dex指令...63
圖五十四:CaffeineMark 3.0加權時間前10名之Dex指令...64

表格目錄
表一:ARM RealView Platform Baseboard之記憶體映射表[7]...18
表二:Kernel輸出檔案名稱之對應...27
表三:Android輸出檔案名稱之對應...28
表四:各Function與其所在之程式碼檔案對照表...36
表五:各Benchmark加權時間排名列表之合併...65
表六:各指令加速價值之評估值...66
[1]Patrick Brady, "2008 Google I/O Anatomy & Physiology of an Android", [Available Online]: http://sites.google.com/site/io/anatomy--physiology-of-an-android.
[2]Gartner Says Worldwide Mobile Phone Sales Grew 17 Per Cent in First Quarter 2010”, [Available Online]: http://www.gartner.com/it/page.jsp?id=1372013.
[3]“Smartphone”, [Available Online]:http://en.wikipedia.org/wiki/Smartphone.
[4]Android Official Site, [Available Online]: http://source.android.com/index.html
[5]Get Android Source Code,http://source.android.com/source/download.html
[6]android.git.kernel.org,Git,
[Available Online]:http://android.git.kernel.org/?p=kernel/common.git;a= summary
[7]CoWare, "CoWare ARM® RealView® Baseboard Virtual Platform User's Guide", Rev.1.04.
[8]鍾文昌,"Android作業系統移植之研究與實現",台北科技大學資訊工程所碩士論文,2009
[9]林國弘,張世學,陳仕杰,曾紹崟, "Android於ARM VersatilePB之移植技術探討" ,系統晶片科技中心技術期刊,010期, 2009.
[10]SPEC, "SPEC JVM98”, http://www.spec.org/jvm98/.
[11]Pendragon Software Co. "CaffeineMark 3.0", http://www.benchmarkhq.ru/cm30/ info.html.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔