- Binder驱动是一个标准的Linux接口,并不对应真实的硬件设备
- 上层调用的mmap()对应了binder_mmap,mmap()将设备指定内存块映射到应用程序虚拟内存中,而binder驱动将指针指向某个虚拟内存,经转换后也指向同一个内存块。在需要与另一个进程进行通信时,binder驱动将共享的数据复制到指针指向的内存中,从而与mmap()共享同一块内存块,直接进行数据访问。
- binder_ioctl承担Binder驱动大部分操作,使得Binder驱动不需要提供read()、write()等常规操作,实现了应用进程与Binder间等命令交互
网友评论