一.Linux内核的基础知识

1.进程隔离/虚拟地址空间.

进程隔离: 避免进程间的干扰,防止进程A访问进程B的情况。采用的虚拟地址空间来运行进程.

在android中如果要访问不同进程,那么就需要用Binder来进行访问.

2.系统调用

应用程序通过系统调用访问内核空间.

3.Binder驱动

运行在内核空间中,负责各个用户进程通过Binder通信的内核来进行交互的一个模块.


二.Binder通信机制介绍

1.为什么使用Binder

a.Android使用的Linux内核拥有非常多的跨进程通信机制

b.性能

c. 安全.

2.Binder通信模型

a.通信录:Binder驱动

b.电话基站:service manager1.首先有一个进程要申请成为service manager.负责管理各电话号码.

2.各service启动的时候向service manager进行报告,注册自己的电话号码(service的地址)

自此service manager拥有了各同学的电话号码(service的地址)

3.如果Client同学想和Server2同学进行通信,那么首先client同学要去service manager那里去查询server2的地址,拿到地址后就可以通过Binder和server2同学进行通信了.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

什么是Binder:

是一种跨进程的通信机制.

对于server进程来说Binder指的是Binder的本地对象.对于client来说,Binder指的是Binder的代理对象.

对传输过程而言,Binder是可以进行跨进程传递的对象

=======================================================================================================

AIDL:Binder的实例

results matching ""

    No results matching ""