linux pipe的緩沖區(qū)大小限制測(cè)試
pipe()創(chuàng)建管道、采用默認(rèn)方式的方式,即默認(rèn)阻塞模式。
平臺(tái):
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
三個(gè)概念:
1、頁(yè)緩沖區(qū)大?。?K
2、總緩沖區(qū)大小:64K
1、<4K的數(shù)據(jù)立即發(fā)送,以頁(yè)為單位
2、>4K的數(shù)據(jù),將會(huì)分成多個(gè)頁(yè)的數(shù)據(jù),分批發(fā)送。
函數(shù) write要么阻塞,要么成功(copy全部數(shù)據(jù)到內(nèi)核緩沖區(qū),不存在只copy部分?jǐn)?shù)據(jù)的情況),異常換回-1