91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android系統(tǒng)啟動(dòng)過(guò)程從下往上的一個(gè)過(guò)程

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:李倩 ? 2018-04-04 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Google官方提供了一張經(jīng)典的四層架構(gòu)圖,從下往上依次分為:Linux內(nèi)核、系統(tǒng)庫(kù)和Android運(yùn)行時(shí)環(huán)境、框架層、應(yīng)用層,其中每一層都包含大量的子模塊或子系統(tǒng)。

Android系統(tǒng)啟動(dòng)過(guò)程從下往上的一個(gè)過(guò)程:

Loader - > Kernel - > Native - > Framework - > App

1、Loader

Boot ROM:當(dāng)手機(jī)處于關(guān)機(jī)狀態(tài)時(shí),長(zhǎng)按Power鍵開(kāi)機(jī),引導(dǎo)芯片開(kāi)始從固化在ROM里的預(yù)設(shè)出代碼開(kāi)始執(zhí)行,然后加載引導(dǎo)程序到RAM;

Boot Loader:這是啟動(dòng)Android系統(tǒng)之前的引導(dǎo)程序,主要是檢查RAM,初始化硬件參數(shù)等功能。

2、Kernel

到這里才剛剛開(kāi)始進(jìn)入Android系統(tǒng).

啟動(dòng)Kernel的0號(hào)進(jìn)程:初始化進(jìn)程管理、內(nèi)存管理,加載Display,Camera Driver,Binder Driver等相關(guān)工作;

啟動(dòng)kthreadd進(jìn)程(pid=2):是Linux系統(tǒng)的內(nèi)核進(jìn)程,會(huì)創(chuàng)建內(nèi)核工作線程kworkder,軟中斷線程ksoftirqd,thermal等內(nèi)核守護(hù)進(jìn)程。kthreadd進(jìn)程是所有內(nèi)核進(jìn)程的鼻祖。

Android基于Linux 提供核心系統(tǒng)服務(wù),

例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。如果你只是做應(yīng)用開(kāi)發(fā),就不需要深入了解Linux Kernel層

3、Native

啟動(dòng)init進(jìn)程(pid=1),是Linux系統(tǒng)的用戶(hù)進(jìn)程,init進(jìn)程是所有用戶(hù)進(jìn)程的鼻祖。

init進(jìn)程啟動(dòng)Media Server(多媒體服務(wù))、servicemanager(binder服務(wù)管家)、bootanim(開(kāi)機(jī)動(dòng)畫(huà))等重要服務(wù);

init進(jìn)程還會(huì)孵化出installd(用于App安裝)、ueventd、adbd、lmkd(用于內(nèi)存管理)等用戶(hù)守護(hù)進(jìn)程;

init進(jìn)程孵化出Zygote進(jìn)程,Zygote進(jìn)程是Android系統(tǒng)的第一個(gè)Java進(jìn)程,Zygote是所有Java進(jìn)程的父進(jìn)程,Zygote進(jìn)程本身是由init進(jìn)程孵化而來(lái)的。

4、Framework

Zygote進(jìn)程,是由init進(jìn)程通過(guò)解析init.rc文件后fork生成的,Zygote進(jìn)程主要包含:- 加載ZygoteInit類(lèi),注冊(cè)Zygote Socket服務(wù)端套接字;-加載虛擬機(jī);- PreloadClasses;-PreloadResouces。

Zygote進(jìn)程fork出System Server進(jìn)程,System Server是Zygote孵化的第一個(gè)進(jìn)程,地位非常重要。

System Server進(jìn)程:負(fù)責(zé)啟動(dòng)和管理整個(gè)Java framework,包含ActivityManager,PowerManager等服務(wù)。

Media Server進(jìn)程:負(fù)責(zé)啟動(dòng)和管理整個(gè)C++ framework,包含AudioFlinger,Camera Service等服務(wù)。

5、App

Zygote進(jìn)程孵化出的第一個(gè)App進(jìn)程是Launcher,這是用戶(hù)看到的桌面App;

Zygote進(jìn)程還會(huì)創(chuàng)建Browser,Phone,Email等App進(jìn)程,每個(gè)App至少運(yùn)行在一個(gè)進(jìn)程上。

所有的App進(jìn)程都是由Zygote進(jìn)程fork生成的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4024

    瀏覽量

    133969
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1399

    瀏覽量

    120538

原文標(biāo)題:Android系統(tǒng)架構(gòu)及啟動(dòng)流程

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳解STM32啟動(dòng)過(guò)程

    本章教程主要跟大家講STM32H7的啟動(dòng)過(guò)程,這里的啟動(dòng)過(guò)程是指從CPU上電復(fù)位執(zhí)行第1條指令開(kāi)始(匯編文件)到進(jìn)入C程序main()函數(shù)入口之間的部分。
    發(fā)表于 11-14 11:24 ?2398次閱讀

    Linux和Windows系統(tǒng)啟動(dòng)過(guò)程的簡(jiǎn)單分析

    拷貝到內(nèi)存的指定位置開(kāi)始運(yùn)行,Windows系統(tǒng)啟動(dòng)之后就識(shí)別盤(pán)符(C,D等盤(pán)),再接著的就是啟動(dòng)個(gè)應(yīng)用程序,這時(shí)就可以看到Windows桌面了。 Linux
    發(fā)表于 08-28 11:27

    android--系統(tǒng)啟動(dòng)--init進(jìn)程啟動(dòng)過(guò)程如何

    android--系統(tǒng)啟動(dòng)--init進(jìn)程啟動(dòng)過(guò)程
    發(fā)表于 05-29 10:35

    關(guān)于Android系統(tǒng)啟動(dòng)的理解

    雖然第2章Android系統(tǒng)啟動(dòng)看得比較暈,但還是想把些總結(jié)性的內(nèi)容做個(gè)筆記,加深自己對(duì)Android系統(tǒng)啟動(dòng)的理解。1. init進(jìn)程
    發(fā)表于 07-28 07:05

    Android系統(tǒng)啟動(dòng)流程總結(jié)

    Android系統(tǒng)是如何啟動(dòng)的?Android系統(tǒng)啟動(dòng)過(guò)程是怎樣的?
    發(fā)表于 10-22 07:14

    FreeRTOS系統(tǒng)啟動(dòng)過(guò)程

    FreeRTOS系統(tǒng)啟動(dòng)過(guò)程主要分為三部分:匯編部分、main函數(shù)初始化部分、開(kāi)啟任務(wù)調(diào)度部分。對(duì)于匯編部分主要是設(shè)置些中斷向量表、設(shè)置堆和棧等些C語(yǔ)言運(yùn)行需要的條件,當(dāng)這些部分設(shè)置完成時(shí)候
    發(fā)表于 12-13 07:07

    嵌入式Linux系統(tǒng)的構(gòu)成和啟動(dòng)過(guò)程

    文章目錄、嵌入式Linux系統(tǒng)構(gòu)成二、嵌入式Linux系統(tǒng)啟動(dòng)過(guò)程在我們的周?chē)?,大量的嵌入式設(shè)備都是基于Linux系統(tǒng)來(lái)構(gòu)建的,嵌入式Linux與主機(jī)Linux相比有著自己的
    發(fā)表于 12-16 06:20

    系統(tǒng)啟動(dòng)過(guò)程

    系統(tǒng)啟動(dòng)過(guò)程系統(tǒng)啟動(dòng)過(guò)程主要由下幾步組成(以硬盤(pán)啟動(dòng)為例):1. 開(kāi)機(jī)2. BIOS 加電自檢 ( Power On Self Test -- POST ),內(nèi)存地址為 0ffff:
    發(fā)表于 10-11 12:17 ?2540次閱讀

    嵌入式uCLinux內(nèi)核啟動(dòng)過(guò)程分析

    分析uCLinux的啟動(dòng)過(guò)程,可以加快系統(tǒng)啟動(dòng)速度、正確建立應(yīng)用環(huán)境。本文要研究的就是uCLinux操作系統(tǒng)內(nèi)核的啟動(dòng)過(guò)程
    發(fā)表于 08-15 16:51 ?934次閱讀

    嵌入式系統(tǒng)內(nèi)核引導(dǎo)啟動(dòng)過(guò)程淺析

    嵌入式系統(tǒng)內(nèi)核引導(dǎo)啟動(dòng)過(guò)程淺析
    發(fā)表于 10-30 10:26 ?6次下載
    嵌入式<b class='flag-5'>系統(tǒng)</b>內(nèi)核引導(dǎo)<b class='flag-5'>啟動(dòng)過(guò)程</b>淺析

    走進(jìn)Linux之systemd啟動(dòng)過(guò)程

    Linux系統(tǒng)啟動(dòng)方式有點(diǎn)復(fù)雜,而且總是有需要優(yōu)化的地方。傳統(tǒng)的Linux系統(tǒng)啟動(dòng)過(guò)程主要由著名的init進(jìn)程(也被稱(chēng)為SysV init啟動(dòng)系統(tǒng)
    發(fā)表于 04-27 19:14 ?3660次閱讀

    MCU和SOC啟動(dòng)過(guò)程對(duì)比

    :電源->Bootloader(引導(dǎo)操作系統(tǒng)啟動(dòng))->Linux內(nèi)核->文件系統(tǒng)(根據(jù)功能劃分,如div中是硬件,home是工作目錄,帶訪問(wèn)權(quán)限)x86Intel 如winsows OS啟動(dòng)過(guò)程:電源 ->BIOS-》windo
    發(fā)表于 10-25 19:21 ?9次下載
    MCU和SOC<b class='flag-5'>啟動(dòng)過(guò)程</b>對(duì)比

    stm32啟動(dòng)過(guò)程

    個(gè)不同作用的空間在單片機(jī)里面占了三個(gè)空間,單片機(jī)引導(dǎo)哪個(gè)空間資源啟動(dòng),由BOOT1和BOOT0決定!正常來(lái)說(shuō)般是從flash啟動(dòng)?。?!二
    發(fā)表于 12-16 16:57 ?8次下載
    stm32<b class='flag-5'>啟動(dòng)過(guò)程</b>

    logd的啟動(dòng)過(guò)程和內(nèi)容

    logd作為native service,系統(tǒng)啟動(dòng)過(guò)程通過(guò)讀取rc文件來(lái)啟動(dòng),相關(guān)的屬性定義在如下logd.rc文件中。 2.2.1 logd啟動(dòng)過(guò)程 logd啟動(dòng)后會(huì)存在三
    的頭像 發(fā)表于 11-23 16:54 ?1904次閱讀
    logd的<b class='flag-5'>啟動(dòng)過(guò)程</b>和內(nèi)容

    stm32啟動(dòng)過(guò)程詳解

    啟動(dòng)過(guò)程。本文將詳細(xì)介紹STM32的啟動(dòng)過(guò)程、復(fù)位電路 對(duì)于STM32微控制器來(lái)說(shuō),復(fù)位是啟動(dòng)的第步。任何
    的頭像 發(fā)表于 12-08 15:47 ?2943次閱讀