freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的嵌入式系統(tǒng)研究及開發(fā)+源代碼-文庫吧

2025-10-13 20:49 本頁面


【正文】 日, TMobile 公司首度公布第一臺Android 手機(jī) (G1)的細(xì)節(jié),同日 Google 也放出了 Android SDK rc1。這樣 Android進(jìn)入了人們的視線。 Android 以其特有的開放性優(yōu)勢越來越受到人們和智能手機(jī)廠商的關(guān)注。 對于第三放軟件開發(fā)商來說, Android 是一個真正意義上的開放性移動設(shè) 備綜合平臺, Android 系統(tǒng)是 免費(fèi)向開發(fā)人員提供 的 , 這樣就避免了開發(fā)中專利 權(quán) 的 障礙 。因此,就能夠?yàn)榈谌杰浖_發(fā)商省下大筆資金。 對于設(shè)備制造商來說, Android 是一個免費(fèi)的平臺。當(dāng)設(shè)備制造商每制造一臺手機(jī)時,那些支付給手機(jī)系統(tǒng)制造商的費(fèi)用也省去了,這樣也降低了每臺手機(jī)的生產(chǎn)費(fèi)用,同時就降低了手機(jī)的價格,這樣在市場上也提高了競爭力。 對硬體開發(fā)廠商來說, Android 也是個開放的平臺。使用 Android 平臺的廠商可以更具自己的需求以及能力為 Android 開發(fā)具有該廠商特色的功能,但是這樣的增加完全不用考 慮版權(quán)的問題。 同時 Android 平臺支持各種先進(jìn)的網(wǎng)絡(luò)、繪圖、 3D 處理能力,可以用來提供更好的使用者體驗(yàn)。 Google Android 系統(tǒng)作為一個完全開源的操作系統(tǒng),是由操作系統(tǒng) (Linux)、中間件以及核心應(yīng)用程序組成的軟件棧 (software stack)。通過 android SDK 提供的 API 以及相應(yīng)的開發(fā)工具, 程序員可以很方便的開發(fā) android 平臺上的應(yīng)用程序。其整個系統(tǒng)由應(yīng)用程序( Application),應(yīng)用程序框架( Application Framework),應(yīng)用程序庫( Libraries), Android 運(yùn)行庫( Android Runtime), Linux 內(nèi)核( Linux Kernel)五個部分組成。 Android 操作系統(tǒng)內(nèi)置了一部分應(yīng)用程序, 包括電子郵件客戶端、 SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序, 值得一提的是這些所有的 程序都是用 java 編寫的。 因?yàn)?應(yīng)用程序框架使得組件更易于重用 ,所以 開發(fā)者的應(yīng)用程序可以 很容易的調(diào)用 API函數(shù)實(shí)現(xiàn)我們想要的功能 。在遵守應(yīng)用程序框架的安全機(jī)制約束的前提下, 開發(fā)者開發(fā)的 一個應(yīng)用程序可以使用其他程序所開發(fā)的功能 。雖然 Android的應(yīng)用程序是用 Java 語言開發(fā)的,但是 Android 給應(yīng)用程序開發(fā)者 提供了一系列的 C/C++ 程序庫 ,通過 Android 的一些特殊的設(shè)計(jì) , 我們 開發(fā)者可以使用這些庫 ,這在后面的敘述中將看到。 本科畢業(yè)論文 Google Android手機(jī)嵌入式系統(tǒng)的研究與開發(fā) 3 現(xiàn)今, Android 操作系統(tǒng)已成為許多手機(jī)制造商的寵兒,其中包括 HTC、索尼愛立信、 Samsung、摩托羅拉以及國內(nèi)的聯(lián)想、華為、海爾、華禹等。其中值得一提的是摩托羅拉公司,就在 2020年 11月憑借其一款搭載 Android 平臺的 Droid 手機(jī),兩個月內(nèi)就突破百萬臺,擊敗了蘋果的 iPhone 3GS,被《時代》雜 志評選為“年度最佳科技產(chǎn)品”。因此告別了兩年多的低迷態(tài)勢,走出了泥潭。 本科畢業(yè)論文 Google Android手機(jī)嵌入式系統(tǒng)的研究與開發(fā) 4 2 Android 的系統(tǒng)研究 Android 構(gòu)架 Android 的構(gòu)架綜述 Android 是一個包括操作系統(tǒng),中間件以及一些重要應(yīng)用程序的專門針對移動設(shè)備的層次結(jié)構(gòu)的軟件集 [1]。作為一個層次結(jié)構(gòu)的軟件集,一定有一個層次的系統(tǒng)構(gòu)架,下圖為 Android 的構(gòu)架圖: 圖 21 Android 系統(tǒng)構(gòu)架 從圖 21 中明顯的可以看出該系統(tǒng)從下到上包括 Linux 內(nèi)核層、 Libraries 和 運(yùn)行時環(huán)境層、應(yīng)用程序框架層、應(yīng)用程序?qū)铀膶咏Y(jié)構(gòu)。在 Android 的最下層的操作系統(tǒng)基于 內(nèi)核,往上的中間件包括 Libraries 和運(yùn)行時環(huán)境層和應(yīng)用程序框架層兩個層次,最上層則是應(yīng)用程序?qū)印? 在 Android 構(gòu)架中,可以很明顯的看到,底層的 Linux 內(nèi)核則采用的是 C 語言,libraries 采用 C 或者 C++,但是應(yīng)用程序?qū)?、?yīng)用程序框架層和運(yùn)行時環(huán)境中的Android 核心庫采用 Java 語言編寫,也就是說 Android 雖然底層用的是 C 或者 C++但是應(yīng)用程序的開發(fā)則用的是 Java。 Google 采 用這樣的模式可能是因?yàn)橄鄬τ?C 或者 C++, Java 的開發(fā)周期更短的緣故,這樣的話就能在短時間內(nèi)為 Android 提供大量本科畢業(yè)論文 Google Android手機(jī)嵌入式系統(tǒng)的研究與開發(fā) 5 的應(yīng)用軟件。我們知道,作為一個智能手機(jī)平臺,只有擁有了大量的源源不斷的應(yīng)用程序作為支持,才能受人們的歡迎,從而才能占領(lǐng)市場。之前 Nokia 的 s60第三版就是一個很好的例子,因此 Nokia S60v3 的系統(tǒng)才被世人所熟知,并且曾經(jīng)在智能手機(jī)行業(yè)占有很大的市場。而另一個例子就是 Linux 系統(tǒng),在所有操作系統(tǒng)中,穩(wěn)定性和性能上能夠和 Linux 抗衡的系統(tǒng)不多吧,但是在智能手機(jī)市場上為什么 Linux 卻 可以說是一敗涂地,其原因也和其第三方應(yīng)用少是脫不了關(guān)系的。 內(nèi)核層 Google Android 作為一個開源的操作系統(tǒng)其內(nèi)核采用了同樣開源的被業(yè)界認(rèn)為是相當(dāng)穩(wěn)定的 Linux 作為其內(nèi)核,其中 Linux 內(nèi)核包 括 以下功能模塊 :安全(Security)、存儲器管理 (Memory Management)、 進(jìn)程 管理 (Process Management)、網(wǎng)絡(luò)堆棧 (Network Stack)、驅(qū)動程序模型 (Driver Model)等,另外也在 給其上層的軟件和下層 硬件間建立起一個抽象層 (Abstraction Layer)。 同時 Android 在 Linux 的內(nèi)核上進(jìn)行了一些增加和刪改,使 Linux 更加適應(yīng) ARM 平臺。 ⑴增加了一個基于 ARM 構(gòu)架的 GoldFish 平臺作為虛擬機(jī)的虛擬 CPU。 ⑵增加了 YAFFS2 FLASH 系統(tǒng)文件,因此增加了對 NANDFLASH 支持。 ⑶增加了 Android 相關(guān)的驅(qū)動。例如 Android 的 IPC(進(jìn)程間通信機(jī)制) binder,使用這個能使運(yùn)行的進(jìn)程為其他進(jìn)程提供服務(wù); Android 的日志系統(tǒng)( Logger)和內(nèi)存控制臺( Ram_console);同時 Google 還重 寫了電源管理( Power) ⑷增加了新的共享方式 Ashmem(匿名共享內(nèi)存),多個應(yīng)用程序可以這種方式共享內(nèi)存獲取信息,為進(jìn)程間提供大量共享內(nèi)存,同時為內(nèi)核提供回收和管理這個內(nèi)存的機(jī)制。 Android Runtime 和函數(shù)庫層 函數(shù)庫 Android 包含一些 C/C++庫, Android 系統(tǒng)中的各種不同組件都能夠使用這些庫函數(shù)。這些庫函數(shù)通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下列舉了一些庫函數(shù) [2]: ①系統(tǒng) C 庫 一個專門為 Embedded Linux 設(shè)備定制 的從 BSD( Berkeley Software Distribution 伯克利軟件套件 )繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫。 ②媒體庫 基于 PacketVideo 公司的 OpenCORE 開發(fā)設(shè)計(jì)的。該庫支持 MPEG4, , MP3, AAC, AMR, JPG, PNG 多種常用的音頻、視頻格式的回放和錄制,同時支持靜態(tài)圖像文件。 ③ Surface Manager 對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提 供了 2D和3D 圖層的無縫融合,提供如同類似 iPhone 的界面管理功能。 本科畢業(yè)論文 Google Android手機(jī)嵌入式系統(tǒng)的研究與開發(fā) 6 ④ LibWebCore 一個支持 Android 瀏覽器和一個可嵌入的 web視圖的最新的 web瀏覽器引擎。 ⑤ 3D libraries 基于 OpenGL ES APIs 實(shí)現(xiàn) 。該庫可以使用硬件 3D加速 (如果可用 )或者使用高度優(yōu)化的 3D軟加速。 ⑥ SQLite 一個功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎, Android 中所有應(yīng)用程序都可以調(diào)用它。 ⑦ FreeType 位圖 (bitmap)和矢量 (vector)字體顯示。 ⑧ SGL 底層的 2D圖形引擎。 Android Runtime 前面說到 Android 采用 Java 作為應(yīng)用程序的開發(fā)語言,但是雖然使用的是 Java語言,但是 Google 卻沒使用傳統(tǒng)的 Java Runtime 來執(zhí)行應(yīng)用程序而是采用 Android自己特有的 Android Runtime。從 Android 的系統(tǒng)構(gòu)架圖中可以清楚的看到, Android Runtime 由 Android 函數(shù)庫( Android Libraries)和 Dalvik 虛擬機(jī)組成 [3]。 Android 函數(shù)庫中里包含了大部分 Java 程序語言所需要調(diào)用的函數(shù)庫,如 data structure, work, utilities, file system 等 ,其中很多代碼是源于 2020年的Apache Harmony 項(xiàng)目。這樣做的話能夠使 Android 的虛擬機(jī)的類庫與 Java SE 的類庫有非常大的相似性,進(jìn)而提高了 Java SE 類庫的兼容性,最大限度的降低了一個程序員從 Java 平臺開發(fā)到 Andorid 平臺開發(fā)的難度,這樣就降低了對 Android 開發(fā)的準(zhǔn)備時間以及前期培訓(xùn)的費(fèi)用,從而降低了 Android 應(yīng)用程序開發(fā)的周期以及開發(fā)費(fèi)用, 這樣的話短時間內(nèi)就能讓 Google Android 系統(tǒng)能夠擁有大量的可執(zhí)行的應(yīng)用程序 。另外,使 用 Apache Harmony 類庫還能完全擺脫 Sun的束縛而走上完全開源的 Java之路,這樣也奉行了 Google 對 Android 完全開源的原則。 我們知道,對一個應(yīng)用程序而言,都采用一個屬于該應(yīng)用程序的進(jìn)程作為執(zhí)行的載體,同樣,對于 Android 也是,一個應(yīng)用程序也是有一個屬于它的進(jìn)程。之前說過Android 采用 Java 作為開發(fā)語言,在進(jìn)程執(zhí)行時應(yīng)該會有一個 Java 虛擬機(jī)來為進(jìn)程提供服務(wù)。在 Android 構(gòu)架圖中可以看到, 該系統(tǒng)采用的是一個叫做 Dalvik 的虛擬機(jī)。在前面的研究中我們了解到 Dalvik 虛擬機(jī)是一個 Java 虛擬機(jī),但是又和 Java虛擬機(jī)有所不同。 Dalvik 虛擬機(jī)和傳統(tǒng)的 Java 虛擬機(jī)所不同之處的是傳統(tǒng)的 Java虛擬機(jī)是一個虛擬機(jī)來為不同應(yīng)用程序提供服務(wù),而 Google 自己開發(fā)的 Dalvik 虛擬機(jī)則是每一個 Android 應(yīng)用程序都擁有一個其自身的 Dalvik 虛擬機(jī),換句話說就是專屬于每一個應(yīng)用程序?qū)?yīng)著一個 Dalvik虛擬機(jī)而這個 Dalvik虛擬機(jī)相當(dāng)于一個執(zhí)行個體。有關(guān) Dalvik 虛擬機(jī)的內(nèi)容將在下一個部分詳細(xì)說明。 Android 函數(shù)庫和 Dalvik 虛擬機(jī)組成了 Android的運(yùn)行 時環(huán)境。從圖中可以看到,Android Runtime 和 Libraries 在同一層,建立在 Linux Kernel 層之上,與 Linux Kernel 沒有交集,而是直接嵌套到 libraries 中。我們之前說過,我們開發(fā)者可以本科畢業(yè)論文 Google Android手機(jī)嵌入式系統(tǒng)的研究與開發(fā) 7 調(diào)用 C 和 C++的一些類庫。其實(shí)就是這樣 Android Runtime 與 Libraries 在同一層的設(shè)計(jì)并同時讓 Android Runtime 中的 Android Libraries 引用 libraries 中的函數(shù),而通過 Dalvik 虛擬機(jī)編譯以后再調(diào)用這些函數(shù)做到上面所述的功能。 也 就是說其實(shí) Android Libraries 中的函數(shù)只是 libraries 中的一些引用,當(dāng)一個上層的應(yīng)用程序調(diào)用 Dalvik 虛擬機(jī)中的核心庫函數(shù)時,調(diào)用的其實(shí)只是一個函數(shù)名,并不是函數(shù)的具體實(shí)現(xiàn),然后 Dalvik 虛擬機(jī)對該函數(shù)進(jìn)行一些處理以后再通過Dalvik 虛擬機(jī)調(diào)用 libraries 中的相應(yīng)函數(shù),使之運(yùn)行。換句話說就是, Android Libraries 中的只是一個函數(shù)名,而真正代碼的實(shí)現(xiàn)是 libraries 中的 C 或者 C++代碼。這樣的好處就在于那些使用 Java 語言很難實(shí)現(xiàn)但是在 C 或者 C++卻能很容易實(shí)現(xiàn)的功能也能通過 Java 很容易等的實(shí)現(xiàn)。 Dalvik 虛擬機(jī) Dalvik 虛擬機(jī)是 Android Runtime 的一個組成部分,之所以要把他拿出來單獨(dú)進(jìn)行研究是因?yàn)椋?Dalvik 虛擬機(jī)作為一個 Java 虛擬機(jī),但它和普通的 Java 虛擬機(jī)有著一些不同。 Google 的工程師結(jié)合傳統(tǒng)的 Java 虛擬機(jī),根據(jù) Android 使用的平臺一般為移動終端設(shè)備這樣一個特點(diǎn)重新設(shè)計(jì)的虛擬機(jī),這個虛擬機(jī)在移動終端設(shè)備上
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1