By Dennis M. Ritchie
UNIX is a general-purpose, interactive time-sharing operating system for the DEC PDP-11 and Interdata 8/32 computers. Since it became operational in 1971, it has become quite widely used. This paper discusses the strong and weak points of UNIX and some areas where we have expended no effort. The following areas are touched on:
- The structure of files: a uniform, randomly-addressable sequence of bytes. The irrelevance of the notion of ``record.'' The efficiency of the addressing of files.
- The structure of file system devices; directories and files.
- I/O devices integrated into the file system.
- The user interface: fundamentals of the shell, I/O redirection, and pipes.
- The environment of processes: system calls, signals, and the address space.
- Reliability: crashes, losses of files.
- Security: protection of data from corruption and inspection; protection of the system from stoppages.
- Use of a high-level language--the benefits and the costs.
- What UNIX does not do: ``real-time,'' interprocess communication, asynchronous I/O.
- Recommendations to system designers.
NOTE: * A version of this paper was presented at the Tenth Hawaii International Conference on the System Sciences, Honolulu, January, 1977.