Native Service和socket, poll, epoll, Binder的关系
2017-03-21 09:46:23 0 举报
Native Service和socket, poll, epoll, Binder的关系
作者其他创作
大纲/内容
RadioService
DrmManagerService
debuggerd
C++ 部分
vold
rild
src: frameworks/av/media/libmediaplayerservice
cameraserver
daemon: /system/bin/dumpstatesrc: frameworks\ative\\cmds\\dumpstate
src: \\frameworks\\av\\services\\audioflinger
控制权跳转到JAVA
daemon: /system/bin/cameraserversrc: frameworks/av/camera/cameraserver
AudioPolicyService
daemon: /system/bin/debuggerdsrc:
sp Proc(ProcessState::self()); //创建ProcessState,当前进程属性1. 打开/dev/binder设备,得到binder设备的fd;2. 将bidner设备fd映射到当前进程虚拟地址空间建立交互的通道ProcessState::self()--startThreadPool(); //启动进程的线程池//创建对象IPCThreadState::self()-joinThreadPool(); ;//执行线程消息循环
class late_start
dumpstate
surfaceflinger
audioserver
daemon: /system/bin/mediaextractorsrc: frameworks/av/services/mediaextractor
servicemanager
debuggerd64
daemon: /system/bin/mediacodecsrc: frameworks/av/services/mediacodec
MediaCodecService
daemon: /system/bin/lmkdsrc: /system/core/lmkd
Native Service
ART (Android Runtime)
installd
ueventd
mediadrmserver
后台守护进程 (Daemon)
/dev/binder
lmkd
class mainmain类型的守护进程
MediaExtractorService
src: frameworks/av/services/mediacodec
mediacodec
SoundTriggerHwService
adbd
mediaextractor
MediaPlayerService
Android的“DNS服务器\"
\"孕育“新的线程和进程
socket/poll/epoll
oem的一些伺服程序
daemon: /system/bin/surfaceflingersrc: /framework/native/services/surfaceflinger
daemon: /system/bin/mediaserversrc: frameworks/av/media/mediaserver
zygote (JAVA部分)
src: frameworks\\av\\services\\soundtrigger
System server (寄居N个Java Core Services)
src: frameworks/av/services/mediadrm
src: frameworks\\av\\services\\camera\\libcameraservice
src: frameworks/av/services/mediaextractor
daemon: /system/bin/drmserversrc: frameworks/av/drm/drmserver
bootanim
MediaDrmService
/system/core/healthd
Native的“系统服务”
drmserver
daemon:src: /system/core/init/watchdogd.cpp
src: frameworks/av/services/mediaresourcemanager
daemon: /system/bin/installdsrc: frameworks/native/cmds/installd
SurfaceFlinger
daemon: /system/bin/mediadrmserversrc: frameworks/av/services/mediadrm
healthd
src: \\frameworks\\av\\services\adio
zygote (C++部分)
GpuService
watchdogd
AudioFlinger
这些Native Service向Service Manager注册
CameraService
Android的“系统服务”
mediaserver
JAVA 部分
logd
daemon: /system/bin/bootanimationsrc: /framework/base/cmds/bootanimation
daemon: /sbin/adbd src: /system/core/adb
daemon: /sbin/ueventdsrc: /system/core/init/ueventd.cpp
daemon/system/bin/servicemanagersrc: framework/native/cmds/servicemanager
daemon: /system/bin/app_process
ResourceManagerService
src: frameworks/av/drm/drmserver
src: frameworks\\av\\services\\audiopolicy\\service
daemon: /system/bin/audioserversrc: frameworks/av/media/audioserver
daemon: /system/bin/logdsrc: /system/core/logd/
class coreCore类型的守护进程
0 条评论
下一页