
105
5
장
-
프로세스 간 통신
4
장에서 논의한 바와 같이, 안드로이드 응용프로그램 스레드는 프로세스 메모리를 공유하는
프로세스 내에서 자주 통신을 한다. 뿐만 아니라 안드로이드 플랫폼은 바인더 프레임워크
binder
framework
를 통해 프로세스 경계를 넘는 통신, 즉 프로세스 간 통신
interprocess
communication
(
IPC
)도
지원한다. 바인더 프레임워크는 스레드 사이에 공유하는 메모리 영역이 없을 때 데이터 트랜잭
션을 관리한다.
가장 일반적인
IPC
사용 사례는 인텐트, 시스템 서비스, 콘텐트 프로바이더 등 안드로이드의 고
수준 구성요소에 의해 처리된다. 프로세스 간 통신은 프로세스 내 또는 프로세스 간의 통신 여부
를 알 필요 없이 응용프로그램에서 사용될 수 있다. 그러나 때로는 응용프로그램이 더 명시적
으로 통신을 정의하고 실제 통신에 더 관여하는 것이 필요할 수 있다. 이 장은 스레드가 프로세
스 경계에 걸쳐 통신하는 방법을 다룬다.
●
동기 및 비동기 원격 프로시저 호출(
RPCs
)
●
메신저
Messenger
를 통해 메시지 통신
5.1
안드로이드
RPC
IPC
는 시그널, 파이프, 메시지 큐, 세마포어, 공유 메모리 같은 여러
IPC
기술을 지원하는 리눅
스
OS
에 의해 관리된다. 안드로이드의 변형 리눅스 커널 안에서, 리눅스
IPC ...