Linux IPC
有名管道
Linux IPC通信之有名管道,管道形象的理解为水管,水流通过管道从一个地方(源)流到另一个地方(尾),管道就是一种规则保证水不会撒掉。而在Linux系统内核当中进程间通信方式之一就是有名管道,管道是水管,数据是水流,一端是进程1写入,另一端是进程2读取,这样2个进程间就可以通过管道进行数据交互,而管道作为Linux内核的一个机制提供了类似于水管硬件支持.
创建2个进程: name_pipe.c(进程1) name_pipe1.c(进程2),进程1创建管道demo_fifo, 进程1向管道(demo_fifo)一端写入数据,进程2从管道另一端读取数据消费,这样2个进程之间就可以通过管道进行数据交互了。Linux内核提供底层的IPC通信方式——有名管道。数据通信模型如下图所示:
进程1在管道的一端写入数据,数据通过管道流入到另一端,进程2在管道的另一端读取数据进行消费.
管道的底层机制
没有仔细了解过Linxu管道的底层机制,猜测一下,是创建了一个文件(类似一个全局数组缓存区),一个任务写入,一个任务读出,加了一些同步机制。差不多就这些吧!