前言
对于 Android 开发者来说 Binder 应该不会陌生了,Binder 是 Android 提供的 IPC 通信机制,它是通过内存映射实现的,而这也是 Binder 相对于其他传统进程间通信方式的优点之一,即我们说的 Binder 只需要做“一次拷贝”,而其他传统方式需要“两次拷贝”!
那么,这所谓的“一次拷贝”的实现原理到底是什么?
其实,在 Binder 驱动的源码中有多次 copy_from_user 和 copy_to_user 的调用,根本不止"一次拷贝",但是很多的书籍包括 Android 官方都宣称只有一次拷贝,这是为什么呢?
