用户空间的进程如果想相互通信, 必须经过内核, 因为不同进程的用户地址空间是独立的, 但是共享同一个内核空间. 内核为了支持进程间通信, 一般会有一个驱动, 以字符设备的形式存在(也可以是其它形式, 这个驱动的本质就是在不同的进程间传递数据). 两个进程间通信一般以client/server的形式进行, 大致流程如下: