
ROM是只讀存儲(chǔ)器中? ? ? ? ? ->加載(引導(dǎo)程序)到 RAM 內(nèi)存,
ROM中的Boot加載BootLoader到RAM中
BootLoader系統(tǒng)啟動(dòng)加載器,啟動(dòng)內(nèi)核。
kernel(內(nèi)核)由BootLoader加載 ,它是由操作系統(tǒng)中用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的那些部分組成,內(nèi)核的啟動(dòng)后,設(shè)置緩存,受保護(hù)的內(nèi)存,調(diào)度和加載驅(qū)動(dòng)程序。 當(dāng)內(nèi)核完成系統(tǒng)設(shè)置時(shí),它會(huì)在系統(tǒng)文件中查找“init”,啟動(dòng)init進(jìn)程。
init進(jìn)程:解析init.rc配置文件,啟動(dòng)核心守護(hù)進(jìn)程serviceManager(它維護(hù)著系統(tǒng)服務(wù)和客戶端的binder通信),zygote(虛擬器進(jìn)程),其它守護(hù)進(jìn)程
Zygote:以后啟動(dòng)的所有應(yīng)用程序進(jìn)程是被Zygote進(jìn)程fork出來的,并都持有一個(gè)自己的Dalvik虛擬機(jī)
dalvik虛擬機(jī):zygote創(chuàng)建第一個(gè)虛擬機(jī)(這時(shí)你就能看到安卓的開機(jī)界面)!
SystemServer進(jìn)程:它能啟動(dòng)系統(tǒng)本地的各種服務(wù)程序,如電源管理器,電話注冊(cè),上下文管理器等。
在SystemServer的管理下又產(chǎn)生了ActivityManagerService和WindowsManager和其它Manager
Zygote進(jìn)程孵化出的第一個(gè)App進(jìn)程home應(yīng)用程序是Launcher,Launcher由ActivityManagerService啟動(dòng)的,運(yùn)行在dalvik虛擬機(jī)上