詳解Android系統的啟動流程

2021-10-01 12:41:23 字數 888 閱讀 5218

一、init程序啟動

1.按下power鍵,引導晶元**從預定義的地方(固化在rom(read only memory)的預定義位置) 開始載入引導程式 bootloader到ram(random access memory),然後執行引導程式(bootloader)

引導程式bootloader是android系統執行前的第乙個程式,它的主要作用是把系統os拉起來並執行.

bootloader是針對特定的主機板與晶元的,裝置製造商可以使用常見的引導程式如redboot、uboot、qi bootloader

或者開發自己的引導程式,它不是android作業系統的一部分.

2.linux核心啟動. kernel(核心)啟動時會設定快取、被保護儲存器、計畫列表、載入驅動.然後在系統檔案中尋找init檔案,並啟動init程序

3.init程序啟動

init程序是linux系統中 使用者空間的第乙個程序,程序號為1,是所有程序的父程序.

init程序**(system/core/init目錄) init.cpp

system/core/init/inti.cpp   **如下:

int main(int argc, char** ar**) {

...// 建立並掛載目錄,如/sys、/dev、/proc

...if (bootscript.empty()) {

parser.parseconfig("/init.rc");         // 解析init.rc配置檔案

parser.set_is_system_etc_init_loaded(

parser.parseconfig("/system/etc/init&

Android系統啟動

rom是唯讀儲存器 read only memory 的簡稱,是一種只能讀出事先所存資料的固態半導體儲存器。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,並且資料不會因為電源關閉而消失。bootloader 參考計算的bios,系統啟動載入器。linux k...

Android開機自啟動詳解

如果需要在android開機時自動啟動應用程式,可以通過響應android.intent.action.boot completed廣播訊息來實現,android系統啟動結束時,會發出 android.intent.action.boot completed 訊息。要實現開機自啟動應用或servic...

Android系統啟動簡述

1 bootloader 引導載入器 執行到一定階段後,將載入並啟動linux核心。準備啟動核心時,bootloader需要傳入核心使用的啟動引數。檢視啟動引數可使用下面的命令 cat proc cmdline root dev nfs nfsroot 192.168.6.158 home hous...