framework啟動流程之android應用程式

來源:互聯網
上載者:User

標籤:系統原理

轉載請註明出處:http://blog.csdn.net/droyon/article/details/38022887

Linux啟動流程大體分三歩:1、開機啟動bootloader。2、作業系統核心初始化。3、執行第一個應用程式。

1、開機就是給硬體裝置上電,在上電過程中cpu的作用是執行執行,故而,只有其他硬體裝置初始化ok,cpu執行指令才有意義,故而cpu最後上電。

      cpu複位完畢就開始執行固定記憶體的程式指令,此時的執行所在的程式稱作“bootloader”引導程式。用於裝載使用者程式。裝載需要應用程式地址。

2、核心初始化。除bootloader以為的程式,在cpu看來都是使用者程式。故而此時的核心程式就是上一步中的應用程式。從軟體的角度來說,又可分為“核心程式”,應用程式。

      核心程式的作用是初始化各種硬體,包括記憶體、網路介面,顯示器,輸入裝置等。執行完這些核心程式就開始執行應用程式了。

3、第一個應用程式就是Home程式。就是Launcher,用於管理各種App。Launcher提供一種入口進而啟動其他應用程式。


Android所使用的Linux架構:

1、處理器複位完畢,執行唯讀ROM區的程式,此程式就是bootloader。這段程式會從處理器的引腳高低電平狀態裝載應用程式。比如:usb口,串口,sd卡,並口flash等。

多數會從NAND Flash晶片中的0X00000000地址開始裝載程式。對於小型嵌入式系統,此段程式就是最終要執行的程式。但對android而言,該地址中的程式還不是android應用程式,只是uboot或者fastboot程式,其作用是初始化硬體裝置。比如網口。同時提供刷機(核心燒寫、升級)也就是向NAND Flash中寫入新的資料。

uboot執行時,會檢測一些特定按鍵,這些按鍵是uboot在編譯時間預先約定好的,用於進入偵錯模式。例如:電源鍵 + 音量下鍵。 如果使用者沒有按這些按鍵,則uboot會跳過載入偵錯模式,進入NADN Flash中裝載核心程式。裝載地址由uboot指定。

2、Linux核心裝載完畢後,開始執行核心初始化。

android核心會載入init.rc檔案,根據此指令檔初始化應用程式。


言歸正傳,上述為android核心啟動流程,對於Linux來說,Android系統僅僅是其一個應用程式。應用程式套件組合含很多進程,android系統第一個應用進程就是zygote,這個進程就是LInux進程根據上述init.rc中配置資訊啟動的。zygote是一個中心進程,他會孵化其他應用進程,包含我們每一個apk所在的進程。

zygote進程主要包括兩個模組。1、socket服務端:用於接受並啟動新Dalvik進程的命令。每一個apk進程都是一個新的dalvik虛擬機器進程,我們可以直接使用dalvik虛擬機器識別的java程式開發android應用程式。2、Framework共用類和資源。載入preload-classes,preload-resources定義的類和資源。

zygote是android第一個進程,其應用程式名稱為:app_process,位於system/bin下。zygote是第一個應用程式,其孵化的第一個應用程式叫做system server,也運行在app_process中。

framework啟動流程之android應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.