Maths encyclopedia and lessons  
Search

Mathematics Encyclopedia and Lessons

 
     
 

Lessons

Popular
Subjects

algebra
arithmetic
calculus
equations
geometry
differential equations
trigonometry
number theory
probability theory
more
 

References

applied mathematics
mathematical games
mathematicians
more
 
 

Named pipe

In computing, a named pipe (also FIFO for its behaviour) is an extension to the classical pipe concept on UNIX and UNIX-like systems, and is one of the methods of interprocess communication. The concept is also found in Windows, albeit the semantics are largely different.

Named pipes in UNIX

Instead of a conventional, unnamed, shell pipeline, a named pipeline is explicitly created using mknod or mkfifo , and two separate processes can access the pipeline by name.

For example, one can create a pipe, set up gzip to compress things piped to it

mkfifo pipe
gzip -9 -c < pipe > out

in a separate process, independently, one could perform

cat file > pipe

which would then perform the compression by gzip.

Named pipes in Windows

In Windows, the design of named pipes is biased towards client-server communication, and they work much like sockets: other than the usual read and write operations, Windows named pipes also support an explicit "passive" mode for server applications (compare: UNIX domain sockets).

Named pipes aren't permanent and can't be created as special files on any writable filesystem, unlike in UNIX, but are volatile names (freed after the last reference to them is closed) allocated in the root directory of the named pipe filesystem (NPFS), mounted under the special path \\.\pipe\ (that is, a pipe named "foo" would have a full path name of \\.\pipe\foo). Anonymous pipes used in pipelining actually are named pipes with a random name.

They are very rarely seen by users, but there are notable exceptions. The VMware PC emulator, for instance, can expose emulated serial ports to the host system as named pipes, and the kd kernel mode debugger from Microsoft supports named pipes as a transport for debugging sessions (in fact, VMware and kd can be coupled together - since kd normally requires a serial connection to the target computer - letting driver developers do their development and testing on a single computer). Both programs require the user to enter names in the \\.\pipe\name form.

Named pipes in Windows networking

Named Pipes is also a networking protocol in the NetBIOS suite, based on the use of a special IPC share.

01-04-2007 01:18:14
The contents of this article are licensed from Wikipedia.org
under the GNU Free Documentation License. How to see transparent copy