1)两个进程AB,在需要进行通信时向/dev/binder mmap 一块虚拟内存区域,这个大小通常是数MB。
2)当进程A要向进程B传递数据时,A使用ioctl操作/dev/binder,将数据传递给binder驱动。
3)binder驱动依据A传递来的数据大小,申请合适的物理内存来存储这些数据。并在B mmap得到的虚拟内存区域中找到合适大小的虚存空间,然后修改B的内存映射表,使这段虚存空间映射到刚刚申请的物理内存。这样B就可以访问A传递进来的数据了
1 楼 down_data01 2012-03-01