Review of Ritchie and Thompson's "UNIX Time-sharing system" paper

From: Gail Rahn (gail_at_screaminggeek.com)
Date: Wed Jan 07 2004 - 15:54:05 PST

  • Next message: Gang Zhao: "On behalf of David Winkler -- Review: Programming Semantics for Multiprogrammed Computations"

    The Ritchie and Thompson UNIX paper is an introduction of an early version
    of UNIX. The paper describes the hardware and software environments in which
    UNIX runs, internals of the file system structure and addressing, functions
    in C that interact with devices and files, facilities and APIs for
    interprocess communication and synchronization and user interaction with the
    system.

    Aside from the historical oddities in the paper (only $40,000 for hardware
    to run UNIX! UNIX occupies 42k of memory!), I especially noticed the
    operating systems advancements made in the time between THE and UNIX. In
    contract with THE, which was written for dedicated hardware, UNIX is
    somewhat portable and "includes a large number of device drivers". UNIX also
    implements a shell - more advanced than THE's "message interpreter" and
    capable of searching and running installed programs. UNIX also introduces
    concepts of file management, protection and addressing.

    A major improvement since THE is also that UNIX cares as much about managing
    files as it does processes. Where THE goals of THE seemed singlemindedly to
    facilitate multiprogramming, UNIX accomplishes that while also considering
    the problem of managing persistent storage of arbitrary files. This
    operating system considers the file system to be permanent storage - and
    considers the file system to be an extremely important OS component.

    On the process front, UNIX advances the concept of process management by
    reducing the atomic unit of execution from the program (as in THE) to the
    thread.

    I can't believe I'm about to write this, but in contrast to a system like
    THE, UNIX considers and accomodates the (trained) user. A computer operator,
    using UNIX as described in this paper, can provide credentials, access
    private and shared directories, protect files using bitmask-based
    permissions, manage files by creating/moving/renaming/deleting, access other
    file systems by manually mount and unmount removable storage. A user can
    even play games in UNIX.

    -- Gail.
    grahn_at_cs.washington.edu

    -------------
    Gail Rahn
    gail_at_screaminggeek.com
    206.719.5563

    Screaming Geek Software
    www.screaminggeek.com


  • Next message: Gang Zhao: "On behalf of David Winkler -- Review: Programming Semantics for Multiprogrammed Computations"

    This archive was generated by hypermail 2.1.6 : Wed Jan 07 2004 - 15:54:13 PST