android系統啓動流程

     編譯源碼燒寫到nexus後,在開機後有時會出現各類各樣的問題,本篇就來介紹下android系統的啓動流程。引用網上的圖片來展開分析:java

                                      

  

第一階段:Android設備上電後,首先會從處理器片上ROM的啓動引導代碼開始執行,片上ROM會尋找Bootloader代碼,並加載到內存。(這一步由「芯片廠商」負責設計和實現)linux

第二階段:Bootloader開始執行,首先負責完成硬件的初始化,而後找到Linux內核代碼,並加載到內存。(這一步由「設備廠商」負責設計和實現)android

第三階段:Linux內核開始啓動,初始化各類軟硬件環境,加載驅動程序,掛載根文件系統,並執行init程序,由此開啓Android的世界。(這一步則是Android內核開發過程當中須要涉及的地方)動畫

  從上面能夠很容易看出來android系統啓動的流程:bootloader、linux kernel、init(此處啓動Zygote進入java世界)。這是從android設計者的角度出發,接下來咱們從用戶角度看看android啓動流程(即開機流程)。android啓動後會呈現三個不一樣的圖片和動畫,咱們能夠從這裏深刻。spa

Android系統在啓動的過程當中,最多能夠出現三個畫面,每個畫面都用來描述一個不一樣的啓動階段。第一個開機畫面是在內核啓動的過程當中出現的,它是一個靜態的畫面。第二個開機畫面是在init進程啓動的過程當中出現的,它也是一個靜態的畫面。第三個開機畫面是在系統服務啓動的過程當中出現的,它是一個動態的畫面。——by 老羅.net

  既然理性和感性認識都有了,接下來就結合android4.4源碼來詳細分析啓動過程吧:設計

 臥槽 bootloader沒找到,稍等啊blog

參考資料:進程

一、Android內核開發:圖解Android系統的啓動過程圖片

二、Android系統的開機畫面顯示過程分析

三、Android系統啓動流程 -- bootloader

相關文章
相關標籤/搜索