Zygote


    - Zygote 프로세스는 Dalvik 가상 머신을 구동

    - 안드로이드의 모든 어플리케이션은 각자 독립적인 가상 머신 위에서 동작 

    - 항상 가상 머신을 초기화하고 실행하기에는 많은 로드가 걸리기 때문에  Zygote가 실행된 가상 머신의 코드 및 메모리를 공유하도록 한다


    - Init -> Zygote -> com.android.alarm 


    - Zygote에서 fork를 하면 Zygote가 가진 가상 머신과 리소스를 그대록 복제.

    - 그리고 새로 만들어진 Zygote에서 android application을 실행

    - COW (Copy On Write) 기법을 이용


    Zygote는 자바로 작성되어 있으며, Zygote 또한 Dalvik 위에서 동작되어야 함 .

    따라서

    Init -> app_process -> Dalvik Vm 실행 -> Zygote 실행  

    -> 시스템 서버 실행 -> 네이티브 서비스(Surface finger, Audio Finger) 실행  

     -> 프레임워크 서비스(Activity manager, Package manager) 실행



    댓글