4.2 Berkeley Software Distribution

Volume 1

Volume 2a

General Works

1. 7th Edition UNIX — Summary.
A concise summary of the facilities available on UNIX.

2. The UNIX Time-Sharing System. D. M. Ritchie and K. Thompson.
The original UNIX paper, reprinted from CACM.

Getting Started

3. UNIX for Beginners — Second Edition. B. W. Kernighan.
An introduction to the most basic use of the system.

4. A Tutorial Introduction to the UNIX Text Editor. B. W. Kernighan.
An easy way to get started with the editor.

5. Advanced Editing on UNIX. B. W. Kernighan.
The next step.

6. An Introduction to the UNIX Shell. S. R. Bourne.
An introduction to the capabilities of the command interpreter, the shell.

7. Learn — Computer Aided Instruction on UNIX. M. E. Lesk and B. W. Kernighan.
Describes a computer-aided instruction program that walks new users through the basics of files, the editor, and document preparation software.

Document Preparation

8. Typing Documents on the UNIX System. M. E. Lesk.
Describes the basic use of the formatting tools. Also describes “-ms”, a standardized package of formatting requests that can be used to lay out most documents (including those in this volume).

9. A System for Typesetting Mathematics. B. W. Kernighan and L. L. Cherry.
Describes EQN. an easy-to-learn language for doing high-quality mathematical typesetting,

10. TBL — A Program to Format Tables. M. E. Lesk.
A program to permit easy specification of tabular material for typesetting. Again, easy to learn and use.

11. Some Applications of Inverted Indexes on the UNIX System. M. E. Lesk.
Describes, among other things, the program REFER which fills in bibliographic citations from a data base automatically.

12. NROFF/TROFF User's Manual. J. F. Ossanna.
The basic formatting program.

13. A TROFF Tutorial. B. W. Kernighan.
An introduction to TROFF for those who really want to know such things.


14. The C Programming Language — Reference Manual. D. M. Ritchie.
Official statement of the syntax and semantics of C. Should be supplemented by The C Programming Language, B. W. Kernighan and D. M. Ritchie, Prentice-Hall, 1978, which contains a tutorial introduction and many examples.

15. Lint, A C Program Checker. S. C. Johnson.
Checks C programs for syntax errors, type violations, portability problems, and a variety of probable errors.

16. Make — A Program for Maintaining Computer Programs. S. I. Feldman.
Indispensable tool for making sure that large programs are properly compiled with minimal effort.

17. UNIX Programming. B. W. Kernighan and D. M. Ritchie.
Describes the programming interface to the operating system and the standard I/O library.

18. A Tutorial Introduction to ADB. J. F. Maranzano and S. R. Bourne.
How to use the ADB debugger.

Volume 2b

Supporting Tools and Languages

19. YACC: Yet Another Compiler-Compiler. S. C. Johnson.
Converts a BNF specification of a language and semantic actions written in C into a compiler for the language.

20. LEX — A Lexical Analyzer Generator. M. E. Lesk and E. Schmidt.
Creates a recognizer for a set of regular expressions; each regular expression can be followed by arbitrary C code which will be executed when the regular expression is found.

21. A Portable Fortran 77 Compiler. S. I. Feldman and P. J. Weinberger.
The first Fortran 77 compiler, and still one of the best.

22. Ratfor — A Preprocessor for a Rational Fortran. B. W. Kernighan.
Converts a Fortran with C-like control structures and cosmetics into real, ugly Fortran.

23. The M4 Macro Processor. B. W. Kernighan and D. M. Ritchie.
M4 is a macro processor useful as a front end for C, Ratfor, Cobol, and in its own right.

24. SED — A Non-interactive Text Editor. L. E. McMahon.
A variant of the editor for processing large inputs.

25. AWK — A Pattern Scanning and Processing Language. A. V. Aho, B. W. Kernighan and P. J. Weinberger.
Makes it easy to specify many data transformation and selection operations.

26. DC — An Interactive Desk Calculator. R. H. Morris and L. L. Cherry.
A super HP calculator, if you don't need floating point.

27. BC — An Arbitrary Precision Desk-Calculator Language. L. L. Cherry and R. H. Morris.
A front end for DC that provides infix notation, control flow, and built-in functions.

28. UNIX Assembler Reference Manual. D. M. Ritchie.
The ultimate dead language.

Implementation, Maintenance, and Miscellaneous

29. Setting Up UNIX — Seventh Edition. C. B. Haley and D. M. Ritchie.
How to configure and get your system running.

30. Regenerating System Software. C. B. Haley and D. M. Ritchie.
What do do when you have to change things.

31. UNIX Implementation. K. Thompson.
How the system actually works inside.

32. The UNIX I/O System. D. M. Ritchie.
How the I/O system really works.

33. A Tour Through the UNIX C Compiler. D. M. Ritchie.
How the PDP-11 compiler works inside.

34. A Tour Through the Portable C Compiler. S. C. Johnson.
How the portable C compiler works inside.

35. A Dial-Up Network of UNIX Systems. D. A. Nowitz and M. E. Lesk.
Describes UUCP, a program for communicating files between UNIX systems.

36. UUCP Implementation Description. D. A. Nowitz.
How UUCP works, and how to administer it.

37. On the Security of UNIX. D. M. Ritchie.
Hints on how to break UNIX, and how to avoid doing so.

38. Password Security: A Case History. R. H. Morris and K. Thompson.
How the bad guys used to be able to break the password algorithm, and why they can't now, at least not so easily.

Volume 2c

General Works

39. Bug Fixes and changes in 4.2BSD.
A brief discussion of the major user-visible changes made to the system since the last release.

Getting Started

40. An introduction to the C shell
Introducing a popular command interpreter and many of the commonly used commands, assuming little prior knowledge of UNIX.

41. An Introduction to Display Editing with Vi
The document to read to learn to use the vi screen editor.

42. Edit: A tutorial (Revised)
For those who prefer line oriented editing, an introduction assuming no previous knowledge of UNIX or of text editing.

43. Ex Reference Manual (Version 3.1 - Oct. 1980)
The final reference for the ex editor, which underlies both edit and vi.

44. Ex Changes - Version 3.1 to 3.5
A quick guide to what is new in version 3.5 of ex and vi, for those who have used version 3.1.

45. Mail Reference Manual (Revised)
Complete details on the mail processing program.

46. A Guide to the Dungeons of Doom (Revised)
An introduction to the popular game of rogue.


47. The FRANZ LISP Manual
A dialect of LISP, largely compatible with MACLISP.

48. Berkeley Pascal User's Manual
An interpretive implementation of the reference language.

49. The Programming Language EFL
An introduction to a powerful FORTRAN preprocessor providing access to a language with structures much like C.

50. Berkeley FP User's Manual
A description of the Berkeley implementation of Backus' Functional Programming Language, FP.

51. A Portable Fortran 77 Compiler
A revised version of the document which originally appeared in Volume 2b; this version reflects the ongoing work at Berkeley.

52. Introduction to the f77 I/O Library
A description of the revised input/output library for Fortran 77. This document, which originally appeared in Volume 2b, reflects the work carried out at Berkeley.

Document preparation

53. Writing Papers with nroff using -me
A popular macro package for nroff.

54. -me Reference Manual
The final word on -me.

55. The Berkeley Font Catalog
Samples of fonts currently available for the raster plotters.

56. Writing tools - the Style and Diction Programs
Description of programs which help you understand and improve your writing style.

57. Refer - A Bibliography System
An introduction to the tools used to maintain bibliographic databases. The major program, refer, is used to automatically retrieve and format references based on document citations.

58. A Revised Version of -ms
A quick description of the revisions made to the -ms formatting macros for nroff and troff.


59. Assembler Reference Manual
For compiler writers.

60. Screen Updating and Cursor Movement Optimization
An aide for writing screen-oriented, terminal independant programs.

61. An Introduction to the Source Code Control System
A useful introductory article for those users who are licensed for SCCS.

System Installation and Administration

62. Installing and Operating 4.2BSD on the VAX
The definitive reference document for those occasions when you find you need to start over again.

63. Building 4.2BSD UNIX Systems with Config
An in-depth discussion of the use and operation of the config program. This document discusses how to configure and build binary images of UNIX for your site.

64. Disc Quotas in a UNIX Environment
A light introduction to the care and feeding of the facilities which can be used in limiting disc resources.

65. 4.2BSD Line Printer Spooler Manual
This document describes the structure and installation procedure for the line printer spooling system.

66. Fsck - The UNIX File System Check Program
A reference document for use with the fsck program during times of file system distress.

67. Sendmail Installation and Operation Guide
The last word in installing and operating the sendmail program.

Supporting Documentation

68. 4.2BSD System Manual *
A concise, though terse, description of the system call interface provided in 4.2BSD. This will never be a best seller.

69. A Fast File System for UNIX *
A description of the new file system organization design and implementation.

70. 4.2BSD Networking Implementation Notes *
A concise description of the system interfaces used within the networking subsystem.

71. Sendmail - An Internetwork Mail Router
An overview document on the design and implementation of sendmail.

72. Mail Systems and Addressing in 4.2BSD
A general introduction to the mail facilities in 4.2BSD.


Changes to the Kernel in 4.2BSD

Using ADB to Debug the UNIX Kernel

Berkeley Pascal PX Implementaion Notes

A 4.2BSD Interprocess Communication Primer

Hints on Configuring VAX System for UNIX