1)两个进程AB,在需要进行通信时向/dev/binder mmap 一块虚拟内存区域,这个大小通常是数MB。2)当进程A要向进程B传递数据时,A使用ioctl操作/dev/binder,将数据传递给binder驱动。
3)binder驱动依据A传递来的数据大小,申请合适的物理内存来存储这些数据。并在B mmap得到的虚拟内存区域中找到合适大小的虚存空间,然后修改B的内存映射表,使这段虚存空间映射到刚刚申请的物理内存。这样B就可以访问A传递进来的数据了
本文共 297 字,大约阅读时间需要 1 分钟。
1)两个进程AB,在需要进行通信时向/dev/binder mmap 一块虚拟内存区域,这个大小通常是数MB。2)当进程A要向进程B传递数据时,A使用ioctl操作/dev/binder,将数据传递给binder驱动。
3)binder驱动依据A传递来的数据大小,申请合适的物理内存来存储这些数据。并在B mmap得到的虚拟内存区域中找到合适大小的虚存空间,然后修改B的内存映射表,使这段虚存空间映射到刚刚申请的物理内存。这样B就可以访问A传递进来的数据了
转载于:https://www.cnblogs.com/sardine/archive/2011/07/26/2117433.html