Android Binder系统的理解。

来源:互联网 发布:严格模式js有什么好处 编辑:程序博客网 时间:2024/06/04 18:09
以下是本人学习部分binder系统后自己对binder系统总体的想法领悟。欢迎各位大神指正。 
把binder驱动系统比作中介 ,把client比作需要找工作的工人,把server比作工厂,把service比作工作岗位。

工人(client)端:
工人通过电话打通中介(binder_open函数),然后用bio_init  bio_put_xxx函数组织语言,然后告诉中介自己需要什么具体的工作(binder_call函数,code代表具体的工作也就是要调用的函数),通过binder_get_xxx系列函数得到中介返回的信息,最后调用binder_done函数结束通话。

工厂(server)端:类似工人。不同的地方是它告诉中介它可以提供工作岗位。

中介:当中介接到工人的请求找什么具体工作(对应code)会把这个请求告诉工厂,工厂接收到中介的信息会查找自己厂里有没有这种工作岗位,如果有则会告诉中介然后工人顺利找到自己想要的工作(调用相应的函数实习目的)。

工人 工厂 和中介说话是通过binder_call函数实现的(client server 和binder驱动通信是用binder_call函数实现的) server要先于client运行,否则client获取服务会失败。
0 0
原创粉丝点击