国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 學(xué)習(xí)資源 > 講師博文 > init可執(zhí)行程序的結(jié)構(gòu)

init可執(zhí)行程序的結(jié)構(gòu) 時(shí)間:2018-09-25      來源:華清遠(yuǎn)見

init可執(zhí)行程序是系統(tǒng)運(yùn)行的第一個(gè)用戶控件的程序

它已守護(hù)進(jìn)程的方式運(yùn)行,它是從linux啟動(dòng)標(biāo)準(zhǔn)自動(dòng)進(jìn)入Android系統(tǒng)的入口

init可執(zhí)行成程序的代碼路徑為:system/core/init

由于是init本身一個(gè)可執(zhí)行程序,而不是庫,因此沒有給其他部分使用的頭文件。

init的目錄中的文件結(jié)構(gòu)比較清晰,各個(gè)核心文件如下所示。

init.c:主入口,包含了main()函數(shù)

parser.h和parser.c:底層的解析功能

init_parser.h和init_parser.c:init腳本解析的功能。

keywords.h和builtins.c:關(guān)鍵字的定義和init腳本中命令的處理。

util.h和util.c工具函數(shù)

logo.h和logo.c:處理開始畫面

property_service.h和property_service.c屬性方面的處理

signal_handler h c :信號(hào)方面的處理

keychords.c:keychord方面的處理

ueventd.c設(shè)備管理分支的入口

devices.c:設(shè)備管理的設(shè)備和興處理功能

ueventd_parser.c:設(shè)備管理的腳本解析功能

編譯結(jié)果為可執(zhí)行文件,安裝在TARGET_ROOT_OUT

靜態(tài)庫鏈接

init可執(zhí)行程序?qū)⒔馕鐾瑯游挥诟夸浿械膇nit腳本,執(zhí)行腳本中的那功能,采用這種方式的原因在于讓init可執(zhí)行程序的功能基本保持固定,定制的工作通過init腳本來執(zhí)行。

init腳本位于根目錄中,腳本被解析后將放入隊(duì)列執(zhí)行,在較新的Android版本中,init腳本有兩個(gè),第一個(gè)是init.rc,第二個(gè)是init.<設(shè)備>.rc,它作為額外的啟動(dòng)內(nèi)容,例如仿真器上使用的第二個(gè)init腳本的文件名稱為init.goldfish.rc。兩個(gè)init.rc腳本的語法和作用完全相同,知識(shí)前者用于通用的工作,后者用于設(shè)備相關(guān)的工作。

雖然理論上建議使用設(shè)備相關(guān)的init腳本中處理設(shè)備相關(guān)的工作,但是真正實(shí)現(xiàn)一個(gè)設(shè)備時(shí),主init腳本還需要修改。

關(guān)于init腳本的處理,實(shí)際上init_parse_config_file()構(gòu)建一個(gè)序列

真正執(zhí)行的是execute_one_command()中執(zhí)行

系統(tǒng)默認(rèn)的主init腳本的路徑為system/core/rootdir/init.rc

根據(jù)rootdir中的Android.mk文件,init.rc將被安裝在根文件系統(tǒng)中。

上一篇:Android日志消息的生成

下一篇:Freemodbus啟動(dòng)流程分析

戳我查看嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部