Android Framework ) Andrond 부팅 기본

Android 2014. 6. 8. 16:04 Posted by gaeddong2

안드로이드


리눅스 기반의 플랫폼. 부팅 시에 부트로더를 통해 리눅스 커널이 먼저 시작된다.

 

1) init

init프로세스를 통해 초기화하는 작업을 하고, 동작에 필요한 각 프로세스들을 실행한다.


2)  컨텍스트 매니저

안드로이드의 모든 시스템 서비스는 부팅 시 자신의 핸들 저보를 컨텍스트 매니저에 등록해야 한다. 서비스 등록 과정에서도 프로세스 간 통신을 수행하기 위해 바인더 IPC가 이용된다.


3)  Zygote

안드로이드 애플리케이션 로딩 시간의 단축을 위해 모든 자바 기반 안드로이드 애플리케이션은 Zygote 를 통해 포크 된 프로세스 상에서 동작한다.

 

시스템 서버 Zygote에서 최초로 포크되어 실행되는 안드로이드 애플리케이션 프로세스이다.

시스템 서버에서 실행하는 자바 시스템 서비스도 안드로이드 애플리케이션이나 프레임워크 내부 모듈에서 이용할 수 있게 하기 위해 컨텍스트 매니저에 등록돼 있어야 한다.


바인더 IPC를 통해 자바 시스템 서비스를 C언어 기반의 서비스 매니저에 등록하려면 자바와 C 언어 간의 인터페이스 역할을 하는 JNI(Java Native Interface)를 추가로 이용해야 한다.

 

 

 

'Android' 카테고리의 다른 글

Android Framework ) init.rc 파일  (0) 2014.06.09
Android Framework) init 프로세스  (0) 2014.06.08
Android) 이클립스 JNI 기본 설정  (0) 2014.03.21
Android) could not find ***apk error  (0) 2014.03.21
Android]Android.mk (opencv 설정)  (0) 2014.03.21