Android 系統(tǒng)啟動流程

源碼查看工具:Source Insight
參考:Android系統(tǒng)啟動流程
   Android應用程序啟動過程源代碼分析
   Android 7.0 ActivityManagerService(2) 啟動Activity的過程:一

Bootloader引導和Linux Kernel啟動

  • Bootloader引導
  • 路徑:bootable/bootloader/*
  • 加電后,CPU先執(zhí)行bootloader引導程序,正常啟動系統(tǒng),加載boot.img到RAM,然后執(zhí)行,boot.img中包含內(nèi)核。
  • 引導程序是在Android操作系統(tǒng)開始運行前的一個小程序。引導程序是運行的第一個程序,因此它是針對特定的主板與芯片的,不是Android操作系統(tǒng)的一部分。引導程序是OEM廠商或者運營商加鎖和限制的地方。
  • 引導程序分兩個階段執(zhí)行。第一個階段,檢測外部的RAM及加載對第二階段有用的程序;第二階段,引導程序設置網(wǎng)絡、內(nèi)存等。這些對于運行內(nèi)核是必要的,為了達到特殊的目標,引導程序可以根據(jù)配置參數(shù)或者輸入數(shù)據(jù)設置內(nèi)核。
  • Linux Kernel啟動
  • 路徑:kernel/*
  • 由bootloader加載kernel,kernel經(jīng)自解壓、初始化、載入built-in驅動程序,完成啟動。Kernel啟動后會創(chuàng)建若干內(nèi)核線程(kernel thread),之后裝入并執(zhí)行程序/sbin/init/,載入init process,切換至user- space。

三、Android啟動
Android從Linux系統(tǒng)啟動有4個步驟:

  1. init進程啟動 ramdisk.so
  2. Native服務啟動
  3. System Server,Android服務啟動
  4. Home啟動
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容