The UNIX system: The evolution of the UNIX time-sharing system

  title={The UNIX system: The evolution of the UNIX time-sharing system},
  author={Dennis M. Ritchie},
  journal={AT\&T Bell Laboratories Technical Journal},
  • D. Ritchie
  • Published 10 September 1979
  • Computer Science
  • AT&T Bell Laboratories Technical Journal
This paper presents a brief history of the early development of the UNIX™ operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. This paper is reprinted from Lecture Notes on Computer Science, No. 79, Language Design and Programming Methodology, Springer-Verlag, 1980. During the past few years, the UNIX operating system has come… 
Anecdotes: Notes on the History of Fork and Join
A look back at the birth of the fork system call, a central element of modern computing, both with regard to software development principles and to hardware design, which increasingly accommodates parallelism in process execution.
A fork() in the road
This paper argues that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability and should be taught as a historical artifact, not the first process creation mechanism students encounter.
User defined services in file systems: A case study and prototype implementation
This thesis presents file system design techniques that allow file systems to be extended by user defined services and designed and implemented a file system prototype, which has been used as a base for a survey that concentrates on the following topics of extendable file systems.
The Art of Unix Programming
This book brings together for the first time the philosophy, design patterns, tools, culture, and traditions that make UNIX home to the world's best and most innovative software, and shows how these are carried forward in Linux and today's open-source movement.
Qwerks of History
et me take you back to 1969, the year of Woodstock and of Neil Armstrong's giant leap for mankind. Nixon was in the White House that year, Elvis was playing Vegas, and the Beatles were recording
Practical Structures for Parallel Operating Systems
The Symunix operating system for the NYU Ultracomputer, a machine with hardware support for Fetch&$\Phi$ operations and combining of memory references, is described and its claim of practicality for future large systems is supported.
The development of the C programming language
The C programming language was devised in the early 1970s as a system implementation language for the nascent Unix operating system, and evolved a type structure that has become one of the dominant languages of today.
Filesystem Daemons as Unifying Mechanism for Network Information Access
This paper presents a mechanism for unifying access to diverse network services through filesystem daemons, which allow network information services to be treated as if they were conventional files and directories, residing in the local namespace, and accessed transparently with standard tools.


The UNIX Time-sharing System
The strong and weak points of UNIX are discussed and a good case can be made that it is in essence a modern implementation of MIT’s CTSS system.
UNIX time-sharing system: Portability of c programs and the UNIX system
It is shown how the UNIX∗ operating system and most of its software have been transported to the Interdata 8/32 and how the source-language representation of most of the code involved is identical in all environments.
UNIX time-sharing system: Document preparation
The UNIX∗ operating system provides programs for sophisticated document preparation within the framework of a general-purpose operating system, which has proven to be easy to learn and use, even by secretaries, typists, and other nonspecialists.
The C Programming Language
This ebook is the first authorized digital version of Kernighan and Ritchie's 1988 classic, The C Programming Language (2nd Ed.), and is a "must-have" reference for every serious programmer's digital library.
Programming languages for non-numeric processing—1: TMG—a syntax directed compiler
To explain how one writes a translator in TMGL, it is described in some detail a compiler which translates a simple algebraic language (SAL) into symbolic machine code for the IBM 7040.
UNIX time-sharing system: The C programming language
An overview of the syntax and semantics of C is provided and a discussion of its strengths and weaknesses are discussed.
C++ Programming Language
Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
Computer typesetting of technical journals on UNIX
A UNIX-based system for typesetting technical papers for high-quality output was evaluated by measuring use of computer and economic resources. Five manuscripts submitted to Physical Review Letters
UNIX implementation
This paper describes in high-level terms the implementation of the resident UNIX† kernel and describes how the UNIX system views processes, users, and programs.
A system for typesetting mathematics
The design and implementation of a system for typesetting mathematics, designed to be easy to learn and to use by people who know neither mathematics nor typesetting, is described.