欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android ServiceManager 与 Binder Driver 如何共享内存

程序员文章站 2022-03-23 20:41:44
Binder学习[1]: ServiceManger 与 binder driver如何共享的 128K内存 先贴个手画的图,后续有时间再重新画。 大概数据传输的原理:...

Binder学习[1]: ServiceManger 与 binder driver如何共享的 128K内存

先贴个手画的图,后续有时间再重新画。

Android ServiceManager 与 Binder Driver 如何共享内存

大概数据传输的原理:

binder driver在内核中有一个 binder_context_mgr_node,代表 service manager其他用户进程想要使用 srvc_mgr的 addService,getService等服务时,把用户进程的请求及数据按一定规律写入这 128K内存中srvc_mgr进程在 binder_loop 中,不停的从这 128k读取数据(待详细分析),包括 cmd 和 data,进行操作