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

正文內(nèi)容

android開機(jī)啟動流程(已修改)

2025-04-19 05:06 本頁面
 

【正文】 Android的開機(jī)流程1. 系統(tǒng)引導(dǎo)bootloader1) 源碼:bootable/bootloader/*2) 說明:加電后,CPU將先執(zhí)行bootloader程序,此處有三種選擇a) 開機(jī)按Camera+Power啟動到fastboot,即命令或SD卡燒寫模式,不加載內(nèi)核及文件系統(tǒng),此處可以進(jìn)行工廠模式的燒寫b) 開機(jī)按Home+Power啟動到recovery模式,,基本的文件系統(tǒng),用于工程模式的燒寫c) 開機(jī)按Power,正常啟動系統(tǒng),,基本文件系統(tǒng),用于正常啟動手機(jī)(以下只分析正常啟動的情況)2. 內(nèi)核kernel1) 源碼:kernel/*2) 說明:kernel由bootloader加載3. 文件系統(tǒng)及應(yīng)用init1) 源碼:system/core/init/*2) 配置文件:system/rootdir/,3) 說明:init是一個由內(nèi)核啟動的用戶級進(jìn)程,:啟動服務(wù)(這里的服務(wù)指linux底層服務(wù),如adbd提供adb支持,vold提供SD卡掛載等),執(zhí)行命令和按其中的配置語句執(zhí)行相應(yīng)功能4. 重要的后臺程序zygote1) 源碼:frameworks/base/cmds/2) 說明:,該服務(wù)對應(yīng)的命令是/system/bin/app_processa) 建立Java Runtime,建立虛擬機(jī)b) 建立Socket接收ActivityManangerService的請求,用于Fork應(yīng)用程序c) 啟動System Server5. 系統(tǒng)服務(wù)system server1) 源碼:frameworks/base/services/java//android/server/2) 說明:被zygote啟動,通過System Manager管理android的服務(wù)(這里的服務(wù)指frameworks/base/services下的服務(wù),如衛(wèi)星定位服務(wù),剪切板服務(wù)等)6. 桌面launcher1) 源碼:,packages/apps/launcher*實現(xiàn)2) 說明:()通知各個服務(wù),系統(tǒng)已經(jīng)就緒,()通知的過程中建立的,最終調(diào)用 ()啟launcher7. 解鎖1) 源碼:frameworks/policies/base/phone//android/internal/policy/impl/*lock*2) 說明:()通知WindowManagerService,進(jìn)而調(diào)用PhoneWindowManager,最終通過LockPatternKeyguardView顯示解鎖界面,跟蹤代碼可以看到解鎖界面并不是一個Activity,這是只是向特定層上繪圖,其代碼了存放在特殊的位置8. 開機(jī)自啟動的第三方應(yīng)用程序1) 源碼:frameworks/base/services/java//android/server/am/2) 說明:().systemReady()通知ActivityManager啟動成功,ActivityManager會通過置變量mBooting,通知它的另一線程。9. 總結(jié)綜上所述,系統(tǒng)層次關(guān)于啟動最核心的部分是zygote(即app_process)和system server,zygote它負(fù)責(zé)最基本的虛擬機(jī)的建立,以支持各個應(yīng)用程序的啟動,而system server用于管理android后臺服務(wù),啟動步驟及順序。10. 參考Android 啟動過程詳解Android從Linux系統(tǒng)啟動有4個步驟;(1) init進(jìn)程啟動(2) Native服務(wù)啟動(3) System Server,Android服務(wù)啟動(4) Home啟動總體啟動框架圖如:第一步:initial進(jìn)程(system/core/init) init進(jìn)程,它是一個由內(nèi)核啟動的用戶級進(jìn)程。內(nèi)核自行啟動(已經(jīng)被載入內(nèi)存,開始運(yùn)行,并已初始化所有的設(shè)備驅(qū)動程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動一個用戶級程序init的方式,完成引導(dǎo)進(jìn)程。init始終是第一個進(jìn)程.:servicemanamger zygote 。最后Init并不退出,而是擔(dān)當(dāng)起property service的功能。init@System/Core/Init: parse_config_file() @parse_config_file()解析腳本文件:(硬件平臺相關(guān))(Android Init Language, System/Core/Init/)該腳本包含四個類型的聲明:Actions Commands Services Options. 服務(wù)啟動機(jī)制。(1),解析文件內(nèi)容@ system/core/init/將service信息放置到service_list中。@ system/core/init (2)restart_service()@ system/core/init/ service_start execve(…).建立service進(jìn)程。第二步 Zygote Servicemanager和zygote進(jìn)程就奠定了Android的基礎(chǔ)。Zygote這個進(jìn)程起來才會建立起真正的Android運(yùn)行空間,初始化建立的Service都是Navtive :service zygote /system/bin/app_process Xzygote /system/bin zygote startsystemserver所以Zygote從main(…)@frameworks/base/cmds/。(1) main(…)@frameworks/base/cmds/建立Java Runtime (, startSystemServer)。 (2) @建立虛擬機(jī) 運(yùn)行::main函數(shù)。 (3)main()@。registerZygoteSocket()。//登記Listen端口 startSyst
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1