March 2003
Intermediate to advanced
912 pages
27h 17m
English
We have seen that access to normal files is too slow for them to be used as a general mechanism for inter-process communication. The pipe in UNIX is designed to be used like a file but implemented to allow more efficient transfer of information between two processes. When a file is opened by a process a small integer file identifier is returned by the system for subsequent use when reading or writing the file. For example:
| file-id = | open (filename, access required) |
| [bytes] = | read (file-id, byte-range-within-file) |
| write (file-id, number and location in memory of bytes to write to file, where to write bytes in file) |
A pipe is created by a special system call, but a normal file identifier is returned to the creating process. This ...