Third Edition Unix
Release Date: February, 1973
Released By: Bell Labs Research
Source Code: some source code is in the Unix Archive, browsable in the Unix Tree
Documentation: 3rd Edition man pages
The Third Edition of Unix was the last version with a kernel still written in assembly code, but is the first version to include pipes. More specifically, the Third Edition kernel targets the PDP-11/45 hardware including making use of protection and extended arithmetic features. For much of 1973, the existing Third Edition was maintained and improved, while the kernel was rewritten in C to become the Fourth Edition of Unix.
For the Third Edition of Unix we only have part of the C compiler, and the manual pages. Dennis Ritchie describes this version of the C compiler as follows:
“prestruct-c” is a copy of the compiler just before I started changing it to use structures itself. … [It] implements structures in a way that begins to approach their current meaning. Their declaration syntax seems to use () instead of {}, but . and → for specifying members of a structure itself and members of a pointed-to structure are both there.
The files currently listed as Second Edition under cmd and lib in the UNIX tree, V2 Sources, may represent code closer in character to the Third Edition, given the lack of Extended Arithmetic Element usage. See this email.
Changes include:
- Epoch is updated to 1972
- Conversion of hog(II) to nice(II)
- Removal of tell(II)
- Added true floating point with fpe(II)
- Section II adds boot, csw, dup, pipe, times
- Use of the Extended Arithmetic Element has been removed
- Section IV page names now reflect device names, not file names
- Section IV adds vt
- Deprecation of PDP-11/20-era lpr(IV) support
- Deprecation of PDP-11/20-era rp(IV) support
- Added a “How to Get Started” section to the manual intro, adapted from the removed login(VII) page
- An earlier find(I) tool, distinct from the modern one, is removed
- A manual is produced for the assembler, allowing removal of expository detail in as(I) page
- The linker no longer references B or Explor files, presumably dropping support and related libraries
- The desk calculator dc(I) gains many features
- The first nroff(I) page on the public record appears
- Many commands are converted to support acting as a filter with pipes
- The “>” operator is added to the shell to support pipelines
- Due to confusion with the output redirection, this is changed to | in subsequent releases
- The shell prompt has been converted from '@' to '%' and furthermore displays as '#' for the superuser
- The directory /usr/bin is first added to the default $PATH
- System libraries are moved from /usr/bin to /bin
- Tektronix 611 support, arrays, atn() added to bas(I)
- Deprecation of fptrap(III) as 11/45 has floating point support
- Deprecation of /etc/ident and /etc/uids in favor of encrypted passwords and GECOS field in /etc/passwd
- Deprecation of basic(VI) interpreter
- Establishment of manual section VIII (Maintenance)
- Includes priming it with acct, check, ds, istat, mount, salv, su, tm, umount
- New bproc(VIII) for PDP-11/45 assembly system
- Section I adds cdb, factor, forml, hyphen, passwd, proof, reloc, size, sno, speak, split, typo, uniq, vs
- Section III adds ddsput, ecvt, ftoo, pow, rand, ttyn
- Section VI adds yacc
- Section VII adds greek, vsp
- Adds 20boot, chk, clri, kill, ps, swtmp
- Owners are no longer listed in the manual pages
The following papers are carried over in SEE ALSO sections from the Second Edition in the manual:
- The UNIX Time-sharing System - D.M. Ritchie, K. Thompson
- Users' Reference to B - K. Thompson
- C Reference Manual - D.M. Ritchie
- M6 Manual - A.D. Hall
The following papers are introduced in SEE ALSO sections:
- UNIX Assembler Manual - D.M. Ritchie
- A Manual for the TMG Compiler-writing Language - M.D. McIlroy
- NROFF User's Manual - J.F. Ossanna
- YACC Manual - S.C. Johnson
- LR Parsing - A.V. Aho, S.C. Johnson
- “AT&T Writeup on DDS” - Author unknown, referenced in ddsput(III)
- “HIS Documentation” - Author unknown, referenced in gerts(III)
For more information about Third Edition Unix, see The Evolution of the Unix Time-sharing System by Dennis Ritchie.