Review on the paper entitled “The Unix Time-Sharing System”

The paper  written by Dennis Ritchie and Ken Thompson under Bell Laboratories was published July 1964. In their paper, they discussed about about a simple, multi-user, and interactive operating system called Unix for the computer PDP-11/40 and 45. The paper was organized as follows.

The first part of the paper briefly discussed the implemented operating system where they compare it to existing larger operating systems. They also listed the number of functionalities that the operating system can support. These are  assembler, text editor based on QED, linking loader, symbolic debugger, compiler for a language resembling BCPL  with types and structures (C), interpreter for a dialect of BASIC, text formatting program, Fortran compiler, Snobol interpreter, top-down compiler- compiler (TMG),  bottom-up compiler-compiler (YACC), form letter generator, macro processor (M6), and permuted index program. The main advantage of Unix compared to the larger system is that it is simple, elegant, and easy to use.

In the second section, they discussed about the file system used. In unix there are three types of files, these are ordinary, directory, and special files. An ordinary file contains information as strings separated by a new line. A directory imposes a structure of the set of ordinary files. It lets the user to organize the ordinary files into a tree form. The tree structure was imposed by defining a root directory, where all searches start. Every directory has a parent directory and all directories is rooted at the root directory. One major contribution of this paper is on allowing  links which are not allowed in existing larger operating systems. Instead of the actual directory, links are pointers to a directory. What happens to a directory happens to all links that are pointed in that directory. The third type of file is called special files. These files are associated with I/O devices that are supported by UNIX, examples of which are mountable devices such as external memory drives. Treating I/O devices as files, according to the paper has threefold advantage.

The advantages are the following.  “File and device I/O are as similar as possible; file and device names have the same syntax and meaning, so that a program expecting a file name as a parameter can be passed as device name; finally, special files are subject to the same protection mechanism as regular files.”

Aside from the three different versions of files, the paper also discussed about  file protection. i.e. control scheme used by UNIX. Where capability to read, write, or execute is controlled by a 7 bit information about the file.

The paper also discussed about I/O calls, from files in the main memory or from a mountable device. Files in mountable devices when mounted will be a subtree  of the file system from the root. Links between two separated memory drives are not allowed. They also discussed the implementation of the file system. In their implementation, each file has the following description.

1. Its owner.

2. Its protection bits.

3. The physical disk or tape addresses for the file contents.

4. Its size.

5. Time of last modification

6. The number of links to the file, that is, the number of times it appears in a directory.

7. A bit indicating whether the file is a directory.

8. A bit indicating whether the file is a special file.

9. A bit indicating whether the file is “large” or “small.”

A file is represented by an i-node where all information about the file is stored, the list of all files are called i-list.

Sections 5 and 6 of the paper discussed about the functionality of the operating system. In particular, how processes are called and executed. The paper also introduced the shell. It is a program that is responsible for interpreting commands from the user. Statistics on the performance of the operating system were also presented in the paper. However, interpretations of the statistics were not presented.

Sections 5 and 6 of the paper discussed about the functionality of the operating system. In particular, how processes are called and executed. The paper also introduced the shell. It is a program that is responsible for interpreting commands from the user. Statistics on the performance of the operating system were also presented in the paper. However, interpretations of the statistics were not presented.

One major flaw I have read in the paper is the number of hardware faults experienced by the PDP-11 where it has references to nonexistent of memory or unimplemented instructions.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s