亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 832 | 回復(fù): 0
打印 上一主題 下一主題

Android啟動過程概要 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-01-17 15:50 |只看該作者 |倒序瀏覽
0. 總體啟動過程
BootRom->Boot Loader
kernel
Init
Zygote
System Server

1. 加電和boot Rom的執(zhí)行
最初上電時,時鐘還未設(shè)置,沒有任何初始化,只有Memory可用;
供電穩(wěn)定后,從固化在CPU ASIC中的Boot ROM代碼開始執(zhí)行。這段代碼會檢測啟動設(shè)備,并找到boot loader的第一階段。然后,加載第一階段的boot loader到internal RAM并jump執(zhí)行boot loader。

2. boot loader階段
GPL的boot loader uboot. 一般硬件廠商會出OEM的boot loader,不公開。
第一階段的boot loader會檢測并建立external RAM,然后會將第二階段的boot loader(boot loader的主要部分)加載到external RAM,第二階段的boot loader。
第二階段的boot loader是第一個run起來的主要程序,可能包括:建立文件系統(tǒng), 額外的內(nèi)存管理、網(wǎng)絡(luò)支持和其他功能。在移動設(shè)備或手機(jī)上,也負(fù)責(zé)加載modem CPU的代碼并且設(shè)置內(nèi)存保護(hù)和一些安全選項。boot loader執(zhí)行完這些后,就要加載內(nèi)核扔到RAM里,并會傳遞一些參數(shù)給內(nèi)核(傳遞方式是把內(nèi)核參數(shù)寫入內(nèi)存等內(nèi)核啟動時讀。。
這些都做好后,就跳至內(nèi)核執(zhí)行,通常是解壓內(nèi)核的代碼。內(nèi)核階段會假設(shè)系統(tǒng)一切都正常。

3. 內(nèi)核
內(nèi)核啟動就和PC機(jī)上的差不多了,這里就不詳細(xì)寫了。
等MMU可用(Mips沒有MMU, ARM有 -_-b),cache初始化后,虛存就可用了,這時候也就能啟動用戶態(tài)進(jìn)程了。init從此開始(system/core/init)。

4. Init
找init.rc(system/core/rootdir)

5. Zygote & Dalvik
init進(jìn)程加載了zygote,zygote初始化Dalvik

6. system server
第一個java程序,它負(fù)責(zé)啟動Android服務(wù),frameworks/base/services/java/com/android/server/SystemServer.java

7.啟動完成
廣播ACTION_BOOT_COMPLETED.

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP