資源描述:
《Android結(jié)構(gòu)概覽》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Android結(jié)構(gòu)概覽文件系統(tǒng)篇Android是一個(gè)基于Linux內(nèi)核的嵌入式操作系統(tǒng),其本質(zhì)上依舊是Linux,講解Android的文件系統(tǒng)是離不開Linux文件系統(tǒng)的。文件系統(tǒng)(Filesystem)指代貯存在計(jì)算機(jī)上的文件和目錄。文件系統(tǒng)可以有不同的格式,叫做文件系統(tǒng)類型(FileSystemTypes)。這些格式?jīng)Q定信息是如何被貯存為文件和目錄。某些文件系統(tǒng)類型貯存重復(fù)數(shù)據(jù),某些文件系統(tǒng)類型加快硬盤驅(qū)動(dòng)器的存取速度。因此文件系統(tǒng)就是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤上組織文件
2、的方法。也指用于存儲(chǔ)文件的磁盤或分區(qū),或文件系統(tǒng)種類。文件系統(tǒng)由虛擬層、邏輯層以及物理層三個(gè)部分組成,如圖1-1所示。1、虛擬層虛擬層是操作系統(tǒng)提供的可以簡(jiǎn)易識(shí)別的文件地址或路徑。當(dāng)然絕不僅僅如此,和PC時(shí)代一樣,設(shè)備都被劃分成輸入設(shè)備或輸出設(shè)備,其中交互事件也都被稱之為輸入輸出事件。2、邏輯層邏輯層的作用是將虛擬層的地址轉(zhuǎn)換為硬件地址。3、物理層物理層就是文件被貯存的硬件實(shí)際位置。圖:1-1完整操作系統(tǒng)的文件系統(tǒng)構(gòu)架虛擬文件系統(tǒng)邏輯文件系統(tǒng)塊設(shè)備字符設(shè)備網(wǎng)絡(luò)設(shè)備緩沖區(qū)網(wǎng)絡(luò)協(xié)議其他設(shè)備虛擬層級(jí)–文件系統(tǒng)And
3、roid文件系統(tǒng)結(jié)構(gòu)與Linux大體上是一致的,從根目錄開始,樹形分支。Android目錄分支粗解:/--根/data/--用戶數(shù)據(jù)/data/app/--用戶應(yīng)用/data/dalvik-cache/--虛擬機(jī)緩存/dev/--后面重點(diǎn)講解/mnt//mnt/sdcard/--SD卡/mnt/sdcard/.android_secure/--SD卡應(yīng)用/proc//sbin/--Linux嵌入式執(zhí)行文件/sys/--與dev目錄類似/system/--Android系統(tǒng)目錄/system/app/--系統(tǒng)應(yīng)
4、用/system/bin/--Linux嵌入式執(zhí)行文件/system/etc/--配置文件/system/etc/firmware/--固件/system/fonts/--系統(tǒng)缺省字體文件/system/framework/--Android系統(tǒng)框架/system/lib/--Linux嵌入式庫(kù)文件、廠商適配庫(kù)文件、AndroidJNI/system/lib/modules/--Radio相關(guān),與系統(tǒng)內(nèi)核一同編譯,非常重要。/system/media/--各種多媒體文件/system/usr//system/
5、xbin/--Linux嵌入式執(zhí)行文件/vendor/--廠商定制/vendor/app/--廠商定制應(yīng)用/vendor/bin/--Linux嵌入式執(zhí)行文件/vendor/firmware/--固件/vendor/framework/--廠商定制框架/vendor/lib/--Linux嵌入式庫(kù)文件、廠商適配庫(kù)文件、AndroidJNI其中有些目錄實(shí)際的位置可能不同,但是也會(huì)通過符號(hào)鏈接(SymbolicLink)的形式來(lái)使用。在linux下,/dev/目錄是很重要的,各種設(shè)備都在下面。下面簡(jiǎn)單總結(jié)一下:d
6、ev是設(shè)備(device)的英文縮寫。/dev這個(gè)目錄對(duì)所有的用戶都十分重要。因?yàn)樵谶@個(gè)目錄中包含了所有Linux系統(tǒng)中使用的設(shè)備物理層映射。但是這里并不是放設(shè)備的驅(qū)動(dòng)程序,這一點(diǎn)和Windows操作系統(tǒng)不一樣。/proc/這個(gè)文件系統(tǒng)是一個(gè)偽文件系統(tǒng),它只存在內(nèi)存當(dāng)中,而不占用存儲(chǔ)空間。關(guān)于Android業(yè)務(wù)中提到的應(yīng)用相關(guān)解釋如下:1、軟件預(yù)裝軟件預(yù)裝這個(gè)說(shuō)法比較模糊,按預(yù)裝位置目前可以分為以下兩種情況:data分區(qū)預(yù)裝-用戶可以直接卸載;system分區(qū)預(yù)裝–用戶需對(duì)手機(jī)root之后才能卸載;目前我們公
7、司所說(shuō)的軟件預(yù)裝屬于data分區(qū)預(yù)裝。1、Rom集成Rom集成這個(gè)說(shuō)法也同樣比較模糊,同樣分為data和system分區(qū)兩中情況,目前我們公司所說(shuō)的Rom集成就是將應(yīng)用集成到system分區(qū)。2、廠商內(nèi)置廠商內(nèi)置就是將軟件提供給廠商,由廠商自己來(lái)內(nèi)置到手機(jī)當(dāng)中,我們目前業(yè)務(wù)中對(duì)于廠商內(nèi)置的要求是system分區(qū)內(nèi)置。3、僅針對(duì)具備開發(fā)能力的廠商(方案商)這部分的客戶多會(huì)對(duì)系統(tǒng)進(jìn)行定制,比如設(shè)計(jì)自己的分區(qū)類型(FileSystemTypes),這種做法類似vendor目錄,預(yù)裝到這樣的地方根據(jù)客戶的理念會(huì)有能夠
8、卸載和無(wú)法卸載的區(qū)別,默認(rèn)情況是無(wú)法卸載。注意:業(yè)務(wù)流程中務(wù)必給客戶解釋清楚,避免出現(xiàn)因?yàn)槊枋霾划?dāng)而造成誤解。物理層級(jí)–文件系統(tǒng)物理層級(jí)涉及到硬件相關(guān),這里只做一些簡(jiǎn)單的結(jié)構(gòu)說(shuō)明,以HTCA510e這個(gè)機(jī)型做為講解的例子,該機(jī)型定位為入門機(jī)型,其結(jié)構(gòu)設(shè)計(jì)可以作為一個(gè)標(biāo)準(zhǔn)的Android手機(jī)系統(tǒng)結(jié)構(gòu)。對(duì)于定制程度較高的機(jī)型(特別是國(guó)產(chǎn)機(jī)型)這里不做分析說(shuō)明。物理層也就是硬件層,文件系統(tǒng)將數(shù)據(jù)存儲(chǔ)在硬件