Android平台软件架构设计
字号: 小 中 大 | 打印发布: 2009-9-12 06:32 作者: 网络转载 来源: Ctimes
谷歌(Google)的Android是针对便携设备所提出的软件平台(Platform),更具体说是一个软件迭层(Software Stack),若软硬件商均支持与遵循此平台规范,则可以达到软硬件高度分离、分立的理想,即软件商所开发的应用程序可以在各种支持Android的硬件上执行,达到与爪哇(Java)程序语言相同的原初理想:程序撰写一次后,可以在各种硬件上执行,达到最精省的程序心力开发,同时让程序的潜在执行机会达最大化。虽然Java已相当适合,然却有开放性及版权顾虑,因此Google才决议推行Android。
s(y9a*y_集成电路社区-欲知半导体动态,速上老杳吧Y!c7V MovC
Android的目标应用集成电路社区-欲知半导体动态,速上老杳吧 w{e6O
Android虽以便携设备为其推行目标,然本质上也适用于小型固接装置, 如数字相框(DPF)、视讯机顶盒(STB)等,不过实务上仍以便携设备为主,特别以智能型手机为主,可携式媒体播放器(PMP)、个人导航器(PND)、个人数字助理(PDA)则次之。值得注意的是,book)风潮兴起,book也成为高度瞩目的潜在应用。
集成电路社区-欲知半导体动态,速上老杳吧,rm `%q}$CudP
qt9nuz|Kt《图一 Google Android的标志(吉祥物?)为一个机器人》集成电路社区-欲知半导体动态,速上老杳吧+K1G)?],j xL E
6R/QsC*hf@图片来源:Google
:dy4ZiS迭层最底层:Linux核心
TZ1W8E3_y AX了解Android的目标应用,即进入迭层架构的正题,整个Android平台区分成4层、5个区块,并用不同的颜色进行标示。
+T1[;Y dC6KB,] [~2ZJ#F集成电路社区-欲知半导体动态,速上老杳吧-]:c"C-p$F
首先说明红色的最底层:Linux核心,此包含一套用于用便携设备的嵌入式Linux外,其余均为硬件装置的驱动程序,如音频驱动程序、Wi-Fi无线通信驱动程序等,另也有较核心的行程间通讯(IPC)驱动程序、电源管理驱动程序。
集成电路社区-欲知半导体动态,速上老杳吧d9j+VQOA
d1r+B6f8a5nx整个Linux核心都以红色标示,表示Linux核心的各软件组件,均是以C 语言撰写成,整个红色层均是由芯片业者,或便携设备的系统硬件开发商所负责,即音频芯片商在销售音频芯片时,也当附上Android的音讯驱动程序,而如宏达电子(HTC)之类的便携设备开发商,也必须针对特有的硬件功能,而自行开发驱动程序。集成电路社区-欲知半导体动态,速上老杳吧H+C4Gv)]
}&g&PZ!\K4K集成电路社区-欲知半导体动态,速上老杳吧p,C,WRGl|[
集成电路社区-欲知半导体动态,速上老杳吧tg/`7X)n R#TWX*N}
《图二 Google Android软件迭层图》集成电路社区-欲知半导体动态,速上老杳吧#~.N1yt!Y!G;b {
|+R}S4F'f7r m 集成电路社区-欲知半导体动态,速上老杳吧 N2P8J'k `#p
图片来源:Google集成电路社区-欲知半导体动态,速上老杳吧#e-Q0V\0S'o!BM
!d_Nh#^ r0@N(J6h$@集成电路社区-欲知半导体动态,速上老杳吧~ L$C b ca j
函式库层集成电路社区-欲知半导体动态,速上老杳吧Y6ot#B%G
接着是绿色的函式库层,此处收纳了诸多偏重于硬件的基础软件函式,如网络传输安全性的SSL加解密、FreeType字型、SQLite数据库、WebKit网页排版引擎等,这些绿色软件组件是以C或C++语言撰写成,并依循libc标准开发、放置。集成电路社区-欲知半导体动态,速上老杳吧JdVt&d_
集成电路社区-欲知半导体动态,速上老杳吧6J#eta2k V$~^g
至此有个疑问:红色的Linux核心层,可依据不同的硬件架构与配置而进行修改、扩充,而绿色的函式库层能否如此呢?对此答案是肯定的,然扩充与修改也必须合乎libc标准。此外,一旦对原有函式库进行修改或扩充,则平台的移携性(Portability)将降低,此必须事先了解。
Nyr w%-欲知半导体动态,速上老杳吧X*z*e2tK)h,D#n:b
android平台软件架构设计 来自淘豆网m.daumloan.com转载请标明出处.