'servicemanager'에 해당되는 글 1건

  1. 2009.08.25 service_manager 흐름
service manager 의 binder_parse 에서 처리하는 cmd 는 BR_NOOP, BR_TRANSACTION, BR_TRANSACTION_COMPLETE 입니다.

BR_NOOP, BR_TRANSACTION 는 항상 같이 붙어서 옵니다. 만찮가지로 BR_NOOP, BR_TRANSACTION_COMPLETE 는 항상 같이 붙어서 옵니다.

수신한 데이타의 포인터 처리는 mmap 의 영역내에 존재하고, 송신 하기 위한 데이타의 포인터 처리는 user 의 영역에 존재 합니다. ( binder 내부에서 사용자 영역을 mmap 영역으로 복사가 이루어 질 것이라고 예상합니다. )

다음은 로그를 찍어 가며 분석한 메모리 공간에서 포인터 처리와 서비스 핸들러 ( svcmgr_handler ) 에서 처리 하는 cmd 인 SVC_MGR_ADD_SERVICE, SVC_MGR_CHECK_SERVICE 에 대한 내용입니다.

binder_io 구조체가 두개 있는데, msg , reply 입니다. msg 는 수신한 데이타를 읽기 위한 포인터 조작에 사용되며, reply 는 송신할 데이타를 쓰기 위한포인터 조작에 사용됩니다. data, off 는 각각 읽거나 쓰면서 변경 되고,
data0, off0 는 초기 설정 값을 유지 합니다.

'안드로이드 > 플랫폼' 카테고리의 다른 글

SystemServer, MediaServer  (0) 2009.10.12
결과물  (0) 2009.09.30
init 분석 open 하는 디바이스 - null, kmsg  (0) 2009.08.18
init 분석 - 메인루프의 poll 의 timeout  (0) 2009.07.28
init 분석 - firmware  (0) 2009.07.28
Posted by blee
,