The original elegant design of the Unix system, along with the years of innovation
and evolutionary improvement that followed, has resulted in a powerful, robust, and stable
operating system.A handful of characteristics of Unix are at the core of its strength. First,
Unix is simple:Whereas some operating systems implement thousands of system calls and
have unclear design goals, Unix systems implement only hundreds of system calls and
have a straightforward, even basic, design. Second, in Unix, everything is a file.
This simplifies the manipulation of data and devices into a set of core system calls: open(), read(),
write(), lseek(), and close().Third, the Unix kernel and related system utilities are
written in C—a property that gives Unix its amazing portability to diverse hardware
architectures and accessibility to a wide range of developers. Fourth, Unix has fast process
creation time and the unique fork() system call. Finally, Unix provides simple yet robust
interprocess communication (IPC) primitives that, when coupled with the fast process
creation time, enable the creation of simple programs that do one thing and do it well.These
single-purpose programs can be strung together to accomplish tasks of increasing complexity.
Unix systems thus exhibit clean layering, with a strong separation between policy
and mechanism.