It's not quite that smart. Linux has to copy the data from kernel-space buffers into user-space memory, at least. So even if the block of data is in the page cache, there's still a copy operation. It doesn't just give a pointer to the kernel's block to a process, which is I think what you're describing there.
This may not be entirely true. I believe that linux has a mechanism that allows movement of data between files and pipes and between pipes and files so that no data is actually ever copied to user space. See: splice(2) See: http://en.wikipedia.org/wiki/Splice_(system_call) The wikipedia article explains such a possibility. --Ivan ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390