Pipe
The most fundamental inter-process communication (IPC) mechanism in Unix and Unix-like systems. It is essentially a ring buffer maintained by the kernel and follows first-in-first-out ordering. Anonymous pipes are created via the pipe() system call and are commonly used for communication between parent and child processes; named pipes exist as paths in the file system. On Linux, the default buffer size is 64 KB.
Timeline (last 90 days)
A pipe is one of the most fundamental inter-process communication (IPC) mechanisms in Unix and Unix-like systems; in essence it is a ring buffer maintained by the kernel that follows the first-in-first-out (FIFO) principle.
On Linux, the default pipe buffer size is 64KB.
When both the reading and writing sides of a pipe are in the same thread, the pipe degenerates into an inefficient memory-copy channel: data is written from user space into the kernel buffer and then copied from kernel space back to the same thread, which not only yields no concurrency benefit but also introduces system call overhead and the risk of blocking.
All Facts (3)
A pipe is one of the most fundamental inter-process communication (IPC) mechanisms in Unix and Unix-like systems; in essence it is a ring buffer maintained by the kernel that follows the first-in-first-out (FIFO) principle.
50%UnverifiedOn Linux, the default pipe buffer size is 64KB.
50%UnverifiedWhen both the reading and writing sides of a pipe are in the same thread, the pipe degenerates into an inefficient memory-copy channel: data is written from user space into the kernel buffer and then copied from kernel space back to the same thread, which not only yields no concurrency benefit but also introduces system call overhead and the risk of blocking.
50%