linux pipe的缓冲区大小限制测试
pipe()创建管道、采用默认方式的方式,即默认阻塞模式。
平台:
uname -a
Linux develop 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT 2008 i686 i686 i386 GNU/Linux
三个概念:
1、页缓冲区大小:4K
2、总缓冲区大小:64K
1、<4K的数据立即发送,以页为单位
2、>4K的数据,将会分成多个页的数据,分批发送。
函数 write要么阻塞,要么成功(copy全部数据到内核缓冲区,不存在只copy部分数据的情况),异常换回-1