====== Third Edition Unix ====== **Release Date:** February, 1973\\ **Released By:** Bell Labs Research\\ **Source Code: ** some source code is in the [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/|Unix Archive]], browsable in the [[http://www.tuhs.org/cgi-bin/utree.pl?file=V3|Unix Tree]]\\ **Documentation: ** [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/v3man.tar.gz|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 [[systems:4th_edition|Fourth Edition]] of Unix. For the Third Edition of Unix we only have part of the C compiler, and the manual pages. [[people:dennis_ritchie|Dennis Ritchie]] [[http://cm.bell-labs.com/cm/cs/who/dmr/primevalC.html|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 [[systems:2nd_edition|Second Edition]] under cmd and lib in the UNIX tree, [[https://www.tuhs.org/cgi-bin/utree.pl?file=V2|V2 Sources]], may represent code closer in character to the Third Edition, given the lack of Extended Arithmetic Element usage. See [[https://minnie.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/thread/Y5CHHVMQY3JUOKI4PD7OVB4FBD4ILV2O/|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 [[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html|The Evolution of the Unix Time-sharing System]] by Dennis Ritchie.