The Unix Operating System (from Operating System Concepts, Peterson/Silberschatz) The first version of Unix was developed in 1969 by Ken Thompson of the Research Group at Bell Laboratories to use an otherwise idle PDP-7. He was soon joined by Dennis Ritchie. Thompson, Ritchie, and others in the Research Group produced the early versions of Unix. Ritchie had previously worked on the Multics project, and Multics was a strong influence on the newer operating system. Even the name Unix is merely a pun on Multics. The basic organization of the file system, the idea of the command interpreter (the shell) as a user process, the use of a separate process for each command, the original line-editing characters (# to erase the last character and @ to erase the entire line), and numerous other features came directly from Multics. Ideas from various other operating systems, such as MIT'S CTSS and the DS-940 system, were also used. Ritchie and Thompson worked quietly on Unix for many years. Their work on the first version allowed them to move it to a PDP-11/20, for a second version. A third version resulted from rewriting most of the operating system in the systems programming language C, instead of the previously used assembly language. C was developed at Bell Labs to support Unix. Unix was also moved to larger PDP-11 models, such as the 11/45 and 11/70. Multiprogramming and other enhancements were added when it was rewritten in C and moved to systems (like the 11/45) with hardware support for multiprogramming. As Unix developed, it became widely used within Bell Labs and gradually spread to a few universities. The first version widely available outside Bell Labs was Version 6, in 1976. (The version number for early Unix systems corresponds to the edition number of the Unix Programmer's Manual that was current when the distribution was made; the code and the manuals were revised independently.) In 1978, Version 7 was distributed. This Unix system ran on the PDP-11/70 and the Interdata 8/32, and is the ancestor of most modern Unix systems. In particular, it was soon ported to other PDP-11 models and to the VAX computer line. The version available on the VAX was known as 32V. After the distribution of Version 7 in 1978, the Unix Support Group (USG) assumed administrative control and responsibility from the Research group for distributions of Unix within AT&T, the parent organization for Bell Labs. Unix was becoming a product, not simply a research tool. The Research group has continued with their own version of Unix to support their own internal computing, however. The system currently (1985) in development by the Research group at Bell Labs is Version 8, which is available only within Bell Labs. USG mainly provided support for Unix within AT&T. The first external distribution from USG was System III, in 1982. System III incorporated features of Version 7, 32V, and also of several Unix systems developed by groups other than Research. Features of UNIX/RT, a real-time Unix system, as well as numerous portions of the Programmer's Work Bench (PWB) were included in System III. USG released System V in 1983; it is largely derived from System III. The divestiture of the various Bell operating companies from AT&T has left AT&T in a position to aggressively market System V. USG has been restructured as the Unix System Development Laboratory (USDL), whose current distribution, released in 1984, is Unix System V Release 2 (V.2). The small size, modularity, and clean design of early Unix systems led to Unix-based work at numerous other computer science organizations such as Rand, BBN, the University of Illinois, Harvard, Purdue, and even DEC. The most influential of the non-Bell Labs and non-AT&T Unix development groups, however, has been the University of California at Berkeley. The first Berkeley VAX Unix work was the addition in 1978 of virtual memory, demand paging, and page replacement to 32V by Bill Joy and Ozalp Babaoglu to produce 3BSD. The large virtual memory space of 3BSD allowed the development of very large programs, such as Berkeley's own Franz Lisp. The memory management work convinced the Defense Advanced Research Projects Agency (DARPA) to fund Berkeley for the development of a standard Unix system for government use (4BSD). The 4BSD work for DARPA was guided by a steering committee which included many notable people from the Unix and networking communities. One of the goals of this project was to provide support for the DARPA Internet networking protocols (TCP/IP). This support was provided in a general manner. It is possible in 4.2BSD to uniformly communicate among diverse network facilities, including local area networks (such as Ethernets and token rings) and long-haul computer networks (such as DARPA'S Arpanet). In addition, Berkeley adapted many features from contemporary operating systems to improve the design and implementation of Unix.