pipe -- list or define pipe filesystem


/etc/pipe -d
/etc/pipe -l
/etc/pipe -p
/etc/pipe -s pathname
/etc/pipe -s HPPS

/etc/pipestat [ -n namelist ] [ -t timestep ]


pipe is used to manipulate the stack of filesystems on which anonymous pipes reside.

A pipe is a first-in first-out (FIFO) data structure used to transfer the output of one program to the input of another.

The data structures associated with UNIX System V (S5) and XENIX filesystem pipes are normally stored in the buffer cache and accessed via inodes, like regular files. They notionally reside on filesystems which must be mounted and both readable and writable; otherwise such pipes cannot be used. The pipes borrow inodes from this filesystem, but will not write data to the physical medium except under exceptional circumstances.

The High Performance Pipe System (HPPS) implements its pipes entirely within the kernel. The pipe inode never exists on any physical device, and data transfer via the buffer cache is not used. Typically, throughput of HPPS pipes is about twice that of S5 pipes.

Pipes to be opened are obtained from the topmost pipe filesystem on the stack. If no pipes are available, the request to open a pipe drops down the stack to try the next available pipe filesystem.

pipe takes the following options:

Disables pipes (there are no pipe filesystems). Pipes that are currently open are not affected.

Lists the contents of the pipe filesystem stack as the block special device filenames of the pipe filesystems. HPPS is displayed if the High Performance Pipe System is enabled. If there are no pipe filesystems, nothing is output.

Pops (removes) a pipe filesystem from the top of the pipe filesystem stack.

-s pathname
Pushes a pipe filesystem onto the pipe filesystem stack. The pipe filesystem type corresponding to the filesystem type on which pathname resides.

Pushes the High Performance Pipe System onto the pipe filesystem stack. By default, the HPPS is configured into the kernel and is the default pipe filesystem.

pipestat returns information about the usage of the HPPS. The statistics are totals since the HPPS was initialized. The output columns are:

number of HPPS pipes currently open

maximum number of HPPS pipes open concurrently since initialization of the driver

number of HPPS pipes successfully opened since initialization

number of failed opens of HPPS pipes since initialization

type of pipe last opened; hpps if an HPPS pipe, other for a filesystem-based pipe

number of reads from HPPS pipes since initialization

number of writes to HPPS pipes since initialization

number of writes followed by writes to HPPS pipes since initialization

total throughput of all HPPS pipes since initialization

If you specify a time interval timestep in seconds using the -t option, pipestat returns the statistics for the opened, fail, r, w, ww, and bytes columns as per second (/s) averages over the time interval.

The default namelist kernel binary is /unix. If you booted a different version of the kernel (such as unix.old), you must specify it using the -n option:

/etc/pipestat -n unix.old


Changes to the pipe filesystem take effect immediately.

Programs attempting to create, write to, or read from a pipe will experience an error condition if no writable or readable pipe filesystem is available.

Named pipes (FIFOs) reside on the filesystem containing their name, and do not use the pipe filesystem.

There is no support for named pipes in the High Performance Pipe System.

Each high performance pipe requires 8KB of memory while it is open.

See also

mkdev(ADM), mkfifo(C), mknod(C), pipe(S)
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003