When processes wish to communicate, they must first establish communication. The stream mechanisms introduced in the Eighth Edition Unix system , which have now become part of AT&T’s Unix System V , provide a flexible way for processes to conduct an already-begun conversation with devices and with each other: an existing stream connection is named by a file descriptor, and the usual read, write, and I/O control requests apply. Processing modules may be inserted dynamically into a stream connection, so network protocols, terminal processing, and device drivers separate cleanly. However, these mechanisms, by themselves, do not provide a general way to create channels between processes. Simple extensions provide new ways of establishing communication. In our system, the traditional Unix IPC mechanism, the pipe, is a cross-connected stream. A generalisation of file-system mounting associates a stream with a named file. When the file is opened, operations on the file are operations on the stream. Open files may be passed from one process to another over a pipe. These low-level mechanisms allow construction of flexible and general routines for connecting local and remote processes.  D. M. Ritchie, `A Stream Input-Output System,’ AT&T Bell Laboratories Technical Journal, 63 8, October, 1984  AT&T, UNIX System V Release 3 STREAMS Programmer’s Guide 1986 pp. 307-227
More like this (3)
What If Two Processes Write to the Same File Simultaneously What if your open the same...What If Two Processes Write to the Same File Simultaneously What if your open the same file in several processes and you write to it simultaneously? What is the result? Do these process share the same file offset when they try to write? What about writing to the same file in the same process using different threads?(Take Linux for example.)
Linux Kernel Teaching This is a collection of lectures and labs Linux kernel topics. The lectures...Linux Kernel Teaching This is a collection of lectures and labs Linux kernel topics. The lectures focus on theoretical and Linux kernel exploration. You will learn about system call, interrupt, and Symmetric Multi-Processing
Unix Toolbox This document is a collection of Unix/Linux/BSD commands and tasks which are useful for...Unix Toolbox This document is a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users. This is a practical guide with concise explanations.