先上目录 chapter 3 [apue] dup2的正确打开方式 chapter 10 [apue] 等待子进程的那些事儿 chapter 14 [apue] 使用文件记录锁无法实现父子进程交互执行同步 chapter 15 [apue] 多进程管道读写的一些疑问 [apue] 测试管道容量的一些 ...
分类:
其他好文 时间:
2020-01-17 18:42:58
阅读次数:
79
管道(PIPE)管道是一种最基本的IPC机制,由pipe函数在内核中开辟一块缓冲区(称为管道)用于通信,所以管道在用户程序看起来就像一个打开的文件,通过read(filedes[0]);或者write(filedes[1]);intpipe(intfiledes[2]);参数:filedes参数传给用户程序两个文件描述符表。filedes[0]..
分类:
其他好文 时间:
2016-08-04 19:53:02
阅读次数:
173
1.管道容量 count=65536,即64KB 2.管道的内部组织方式 在 Linux 中,管道的实现并没有使用专门的数据结构,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个 file 结构指向同一个临时的 VFS 索引节点,而这个 VFS 索引节点又指向一个物理页面而实 ...
分类:
系统相关 时间:
2016-07-17 13:13:22
阅读次数:
213
每个进程都有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,把进程1的数据从用户空间考到内核区,进程2再从内核区把数据考走,内核提供的这种机制叫做进程间通信(一)管道的外部实现当我们..
分类:
其他好文 时间:
2016-07-14 07:17:11
阅读次数:
384
效率不太高啊,记录一下下面这两个比较坑的地方: 1. 管道实际存储在内存中,不管是有名管道还是无名管道,都放在内核的缓冲区中。 管道有下面两个限制: 1)管道容量有限制,并且不能更改,所以需要大规模数据通信是不适合使用管道的,在linux下这个限制为64K,65535个字节。 2) 管道有一个缓冲区 ...
分类:
其他好文 时间:
2016-04-07 23:25:39
阅读次数:
217
“网络流博大精深”—sideman语一个基本的网络流问题感谢WHD的大力支持最早知道网络流的内容便是最大流问题,最大流问题很好理解:解释一定要通俗!如右图所示,有一个管道系统,节点{1,2,3,4},有向管道{A,B,C,D,E},即有向图一张. [1]是源点,有无限的水量,[4]是汇点,管道容量...
分类:
编程语言 时间:
2015-08-02 13:20:07
阅读次数:
132