From: Honghai Liu (liu789_at_hotmail.com)
Date: Wed Jan 07 2004 - 16:22:35 PST
Reviewer: Honghai Liu
The paper is an amazing one and I can hardly believe it was written 30 years ago, since most of the concepts suggested by the article still hold true for today. In fact, they have changed very little in contemporary Unix system.
The file system introduced by Unix is perhaps the most important feature in Unix. The Unix file system treats the different "files" in the same way, regardless of its difference in nature(ordinary files, directories and special files). This makes naming of the regular file, directory and device I/O have the same syntax, semantics and same protection mechanism. Moreover, the introduction of the mount mechanism makes the Unix file system more scalable.
Very interestingly, besides the normal protection bits on read, write and execution, set-user-id feature is discussed in full details, in respective of it useful application and potential security issues. It is still hard to say that whether set-user-id is good or not today, but I think the designers of the Unix system might have done something different if they would know it is one of the biggest security holes in Unix in the years to come.
A set of primitive operations on a file such as open, read and write, seek is clearly described.
The notion of i-number, i-list and I-node are the key ideas on how to implement the Unix file system. The i-node contains the description of the file, which facilitates the linking, copy, removing files.
Understanding processes is the key to Unix time-sharing, multi-tasking feature. Several system calls for process creation ( fork ), execution( exec), communication (pipe) , synchronization( wait) and finally termination( exit) are discussed.
A discussion of the special program, Shell, is followed. Some special punctuations such as for redirect ( <, >) and background(&) are introduced to demonstrate the flexibility and power of file input/output and how to do multitasking through Shell. The implementation of Shell once again shows that the powerfulness of combination of simple ideas such as fork, exec and redirection etc.
Traps referred here included hardware faults, which caused to core dump, and explicit software interrupt signal, one of which (quit) can also cause a process to core.
Paradoxically, the Unix was not designed to meet any predefined objectives. However, it could be one of the reasons for the conciseness and flexibility of the design, which influence the computer industry so many years.
In summary, Unix system is one of the most influential operating systems nowadays, and is largely because of the brilliant even though simply ideas suggested by the paper.
This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 16:22:38 PST