对于 Binder 进程间通信的理解 呼吸决定 2021-12-04 111 阅读1分钟 进程 2 调用 mmap 与内核空间建立内存映射(即虚拟空间 A 和 B,并未在物理内存空间分配) 得知即将发送的数据大小,分配物理内存空间 C 将刚刚分配出来的物理页映射到进程2 的 A/B 区域中(由于 进程1 处于内核态,因此可以操作 进程2 的 PTE)。 将用户空间的发送数据通过 copy_from_user 拷贝到内核区域 B 中。 由于A/B映射到同样的物理页,因此 B 中的数据也可以通过 A 的地址读取出来 参考: Binder | 内存拷贝的本质和变迁