相关术语:

  • 服务管理器(Service Server):指运行系统服务的进程,如System Server, Media Server

  • 服务客户端(Server Client):指使用系统服务的进程

  • 上下文管理器(Context Manager):是一个管理系统服务的系统进程,它管理安装在系统中的各种系统服务的位置信息Handle, 这些Handle用来指定Binder IPC的目的地址。

  • 服务框架(Service Framework):包含前面提到的Service Manager,其中定义了一系列类,用于服务使用者与系统服务间的RPC操作。

  • 服务接口(Service Interface):它是一个预先定义的接口,用在服务使用者与系统服务间。系统服务应该根据相关接口实现Stub函数,并提供相关服务。而服务使用者也必须根据相关接口调用服务。

  • 服务使用者:在服务客户进程中实际使用服务的模块。

  • 服务(Service):由服务Stub函数实现定义在服务接口中的功能,是提供实际服务功能的模块。

  • 服务代理(Service Proxy):执行RPC时用来对数据进行Marshalling处理的对象,不同的服务接口对应不同的服务代理。它提供服务代码函数,根据服务接口中定义的函数,对数据分别进行不同的Marshalling处理。

  • 服务Stub:RPC执行时用来对数据进行UnMarshalling处理的对象,该对象随接口不同而不同。它对接收到的数据进行UnMarshalling处理后,调用相关的服务Stub函数

  • Binder Driver:Binder是Android中为支持IPC而采用的机制,它以Android Linux内核的Device Driver形态存在。

  • Binder IPC:它是Android中进程间通过Binder Driver交换数据的方式。

  • Binder IPC数据:一种用在Service Framework与Binder Driver间的数据格式。

  • Binder RPC:服务会向使用者提供基于特定服务接口的函数,服务使用者通过Binder IPC调用这些函数,就像调用自身函数一样。Binder IPC内部是基于Binder IPC机制的。

  • Binder RPC数据:服务使用者与服务间进行Binder IPC时的数据。