Android Booting (综述)

来源:互联网 发布:工位优化 编辑:程序博客网 时间:2024/05/08 11:09

       Android 開機流程,是一個很值得詳細討論的主題;近期,也正在進行相關的技術工作,因此簡單整理一些相關資料,和大家分享。了解「整體開機流程」,是最重要的第一門課。我們將開機劃分為三大階段:

1. OS-Level,由 Bootloader 載入 Linux kernel 後,開始進行 kernel 本身的初始化,並載入 built-in 的驅動程式。Kernel 完成開機後,載入 init process,切換至 user-space 後,結束 kernel 的循序過程(sequence),進入排程模式(process scheduling)

2. Android-Level,由 init process 開始,讀取 init.rc 並啟動重要的外部程式,例如:servicemanager、Zygote 以及 SystemServer。

3. Zygote-Mode,Zygote 啟動完 SystemServer 後,進入 Zygote Mode,在 Socket 等候命令。隨後,使用者將看到一個桌面環境(Home Screen)。桌面環境由一個名為 [Launcher] 的應用程式負責提供。

整體開機流程如圖一所示。


圖一:Android 整體開機流程圖

初探 Android 開機技術的朋友,建議可以先行閱讀 init.rc 檔案,並了解 Android 的 init.rc 語法。Android init language 可參考 [PDK] 的說明。

Reference:

Android Booting


原创粉丝点击