Android binder系统架构
2013-12-08 03:08
246 查看
http://blog.csdn.net/kickxxx/article/details/8997727
![](https://img-blog.csdn.net/20130531091159129)
1. binder驱动
是客户端和服务器端交换请求和处理结果的中介,
客户端先获得服务器端的代理对象,通过调用代理对象的方式向服务器端发送请求。
代理对象将用户的请求通过Binder驱动发送到服务器端
服务器进程处理用户请求,通过BInder驱动返回处理结果给客户端的服务器代理对象。
2. Binder Adapter
是对Binder驱动的封装,主要用于操作Binder驱动,实现包括IPCThreadState.cpp和ProcessState.cpp,以及Parcel.cpp的部分内容。
他们位于Android源代码的frameworks/base/include/binder和frameworks/base/libs/binder两个文件夹中,其中ProcessState类中包含了通信细节,利用open_binder打开设备节点/dev/binder。通过ioctl建立基本的通信框架,每个进程只有一个ProcessState对象,每一个线程都会有一个IPCThreadState对象,它主要负责Binder数据读取,写入和请求处理框架。
ProcessState是一个singleton类型,其作用是维护当前进程中的所有Service代理。一个客户端进程可能需要多个Service服务,这样可能会创建多个Service代理,客户端进程中的ProcessState对象就负责维护这些Service代理
3. Binder核心库
是Binder框架的核心实现,主要包括iBinder,Binder(服务器端)和BpBinder(客户端);
4. Binder框架,Binder客户端/服务器端
Binder框架分别有两种实现方案JAVA C++,主要供应用程序使用,他们通过调用Binder的核心库来实现
1. binder驱动
是客户端和服务器端交换请求和处理结果的中介,
客户端先获得服务器端的代理对象,通过调用代理对象的方式向服务器端发送请求。
代理对象将用户的请求通过Binder驱动发送到服务器端
服务器进程处理用户请求,通过BInder驱动返回处理结果给客户端的服务器代理对象。
2. Binder Adapter
是对Binder驱动的封装,主要用于操作Binder驱动,实现包括IPCThreadState.cpp和ProcessState.cpp,以及Parcel.cpp的部分内容。
他们位于Android源代码的frameworks/base/include/binder和frameworks/base/libs/binder两个文件夹中,其中ProcessState类中包含了通信细节,利用open_binder打开设备节点/dev/binder。通过ioctl建立基本的通信框架,每个进程只有一个ProcessState对象,每一个线程都会有一个IPCThreadState对象,它主要负责Binder数据读取,写入和请求处理框架。
ProcessState是一个singleton类型,其作用是维护当前进程中的所有Service代理。一个客户端进程可能需要多个Service服务,这样可能会创建多个Service代理,客户端进程中的ProcessState对象就负责维护这些Service代理
3. Binder核心库
是Binder框架的核心实现,主要包括iBinder,Binder(服务器端)和BpBinder(客户端);
4. Binder框架,Binder客户端/服务器端
Binder框架分别有两种实现方案JAVA C++,主要供应用程序使用,他们通过调用Binder的核心库来实现
相关文章推荐
- android系统源码分析——binder架构图
- Android binder系统架构
- android系统binder通信架构分析
- Android系统架构图
- Android WiFi--系统架构(一)
- android基础问题记录|android系统架构
- Android GPS学习笔记(1)—系统架构
- 第一章 Android体系与系统架构
- Android基础——1:Android体系与系统架构
- 20170325_Android_系统架构
- Android系统架构、基础组件、工具下载、JVM&DVM&ART
- android 系统基本架构-软件层次
- Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析(4)
- [Binder.3] Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- Android系统的架构
- 编译 Android 系统的 arm64 架构版 busybox
- Android零基础之背景及系统架构
- android binder机制,注册系统服务---客户端Binder驱动