The UNIX Time-Sharing System

From: James Welle (jwelle_at_Exchange.Microsoft.com)
Date: Tue Jan 06 2004 - 19:52:43 PST

  • Next message: Chuck Reeves: "Review for ' The Unix Time Sharing System'"

            "The UNIX Time-Sharing System" serves mainly as a very good
    description of the early features of UNIX. The simplicity of this paper
    and the elegance of the ideas presented in the paper reflect well on the
    design of UNIX.
            The paper describes the UNIX filesystem including files,
    directories, removable file systems and how a mounted filesystem appears
    as a file on the parent system. Devices and directories also appear as
    files. This unified interface was designed to make programming on the
    system easier.
            Processes, pipes, synchronization, and the shell are all also
    discussed. Again here the design seems very elegant and easy to
    understand. Reading these sections was like a quick review of an
    undergraduate operating systems class.
            The description of buffering the read/write calls a program
    makes was interesting from a reliability standpoint. There was no
    mention of what would happen if a system crashed before the buffered
    output had been flushed to disk. The openness of the file system and how
    the security on files is divided between the owner and everyone else is
    also interesting. This seems to be relatively relaxed security and
    reliability. It is interesting to see that as systems have matured,
    these two issues have become some of the most important. This is
    probably true of any industry.
            One of the most interesting things about this paper is that the
    design and implementation of the system is still so similar today. The
    concept of everything as a file, the shell, fork, and the
    i-lists/i-nodes still live on and it really shows how elegant the design
    is. This is very impressive and especially more so when you think about
    the fact that the authors just set out to create "a more hospitable
    environment" for programming.
            I think the most important line in the entire paper is "First,
    since we are programmers, we naturally designed the system to make it
    easy to write, test, and run programs." This first principle of UNIX and
    Linux has been one of the biggest issues of the system recently. The
    systems were designed for programmers and that is readily apparent. If
    Linux is going to become a mainstream desktop operating system, the
    people working on these systems will have to show as much passion for
    end-users as they have for programmers.
            Reading this paper also tends to cause you to think about how
    you would design a system from the ground up today. Given all the issues
    in computing, maybe it is a good thing these guys were working in a
    simpler framework. If not, maybe the system wouldn't be as elegant as it
    is.


  • Next message: Chuck Reeves: "Review for ' The Unix Time Sharing System'"

    This archive was generated by hypermail 2.1.6 : Tue Jan 06 2004 - 19:53:32 PST