梳理一下Android 系統啟動流程
Android系統是一款基於Linux的開源系統,系統的架構劃分為:系統應用層、Java API Framework層、native C/C++庫和Android 執行時、硬體抽象層、和Linux核心層。
各層級之間的銜接關係可以以程式的視角來理解。如下圖,
-
當按下手機的開機鍵,會引導晶片從固化在ROM利的預設程式碼開始執行,載入載入程式到RAM
-
然後啟動Android系統的載入程式Boot Loader
載入程式的主要作用是:1 檢測外部的RAM;2 載入程式設定網路、記憶體等。 -
進入核心層
①啟動swapper程式(pid = 0,又叫idle程式,是系統初始化過程中開創的第一個程式),用於初始化程式管理、記憶體管理,載入Display,Camer Driver,Binder Driver等工作。
②啟動kthreadd程式(pid = 2),是Liunx系統的核心程式,會建立核心工作執行緒kworkder,是所有核心程式的鼻祖
pid:是程式號 -
當kernel啟動過程中會建立init程式(pid = 1),init程式是使用者空間的第一個程式。
-
init程式會啟動Zygote程式、serviceManager。Zygote程式是所有app的父程式
-
接著Zygote程式fork出systemserver程式提供給所有app。
圖片參考自 http://gityuan.com/images/android-arch/android-boot.jpg
相關文章
- Android 系統啟動流程Android
- Android系統啟動流程(四)Launcher啟動過程與系統啟動流程Android
- Android 系統原始碼-1:Android 系統啟動流程原始碼分析Android原始碼
- Android系統啟動流程(二)解析Zygote程式AndroidGo
- Android系統原始碼分析--Service啟動流程Android原始碼
- Android系統原始碼分析–Service啟動流程Android原始碼
- Android小知識-深入淺出Android系統啟動流程(上)Android
- Android小知識-深入淺出Android系統啟動流程(下)Android
- 系統的啟動流程
- (連載)Android 8.0 : 系統啟動流程之init程式(一)Android
- (連載)Android 8.0 : 系統啟動流程之init程式(二)Android
- 【android 7.1.2】系統啟動Android
- FlutterEngin啟動流程&androidFlutterAndroid
- Android系統啟動自動開啟mtklogAndroid
- linux系統開機啟動流程Linux
- 標題:Windows系統啟動流程Windows
- 談談Linux系統啟動流程Linux
- Android APP 冷啟動流程AndroidAPP
- Android 9.0 init 啟動流程Android
- Android 應用啟動流程Android
- Android應用啟動流程分析Android
- Android Activity啟動流程原始碼分析Android原始碼
- Flutter Android 端啟動流程淺析FlutterAndroid
- Android原始碼分析:Activity啟動流程Android原始碼
- Android App應用啟動流程(一)AndroidAPP
- 征服Android面試官路漫漫(四):5 張圖帶你搞懂Android系統啟動的核心流程Android面試
- 深入理解Android 之 Activity啟動流程(Android 10)Android
- Activity 的 "啟動流程"(基於 Android 9.0)Android
- 按下電源鍵後竟然發生了這一幕 —— Android 系統啟動流程分析Android
- 圖解 Android 系列(一)揭祕 Android 系統啟動過程圖解Android
- Android系統原始碼分析--Activity啟動過程Android原始碼
- linux-10-xshell介紹-作業系統的啟動流程-系統命令Linux作業系統
- 原始碼閱讀之Activity啟動與App啟動流程 – Android 9.0原始碼APPAndroid
- 原始碼閱讀之Activity啟動與App啟動流程 - Android 9.0原始碼APPAndroid
- Jshop流程梳理JS
- iOS作業系統-- App啟動流程分析與優化iOS作業系統APP優化
- 【系統之音】Android程式的建立及啟動簡述Android
- flutter在android端啟動流程和熱修復FlutterAndroid