4.4BSD Programmer's Supplementary Documents (PSD)
Documents of Historical Interest
The Unix Time-Sharing System
Dennis Ritchie and Ken Thompson's original paper about UNIX, reprinted
from Communications of the ACM.
Unix Implementation
Ken Thompson's description of the implementation of the Version 7
kernel and file system.
The Unix I/O System
Dennis Ritchie's overview of the I/O System of Version 7; still helpful for
those writing device drivers.
Unix Programming - Second Edition
Describes the programming interface to the UNIX version 7 operating
system and the standard I/O library. Should be supplemented by
Kernighan and Pike, ``The UNIX Programming Environment'',
Prentice-Hall, 1984 and especially by the Programmer Reference Manual
section 2 (system calls) and 3 (library routines).
A concise and terse description of the system call interface
provided in Berkeley Unix, as revised for 4.4BSD.
This will never be a best seller.
Languages in common use
The C Programming Language - Reference Manual
Official statement of the syntax of C.
Should be supplemented by ``The C Programming Language,''
B.W. Kernighan and D.M. Ritchie, Prentice-Hall, 1978, that
contains a tutorial introduction and many examples.
Berkeley Pascal User's Manual
An implementation of this language popular for learning to program.
A Portable Fortran 77 Compiler
A revised version of the document which originally appeared in
Volume 2b of the Bell Labs documentation;
this version reflects the work done at Berkeley.
Introduction to the f77 I/O Library
A description of the revised input/output library for Fortran 77,
reflecting work carried out at Berkeley.
Programming Tools
Debugging with GDB: The GNU Source-Level Debugger
How to debug programs using the source level gdb debugger
(or how to debug programs without having to know much about machine language).
A Tutorial Introduction to ADB
How to debug programs using the assembly-language level adb debugger.
Make - A Program for Maintaining Computer Programs
Indispensable tool for making sure large programs are properly
compiled with minimal effort.
An Introduction to the Revision Control System
RCS is a user-contributed tool for working together with other people
without stepping on each other's toes.
An alternative to sccs for controlling software changes.
An Introduction to the Source Code Control System
A useful introductory article for those users with
installations licensed for SCCS.
YACC: Yet Another Compiler-Compiler
Converts a BNF specification of a language and semantic actions
written in C into a compiler for that language.
LEX - A Lexical Analyzer Generator
Creates a recognizer for a set of regular expressions:
each regular expression can be followed by arbitrary C code
to be executed upon finding the regular expression.
The M4 Macro Processor
M4 is a macro processor useful in its own right and as a
front-end for C, Ratfor, and Cobol.
gprof: a Call Graph Execution Profiler
A program to show the call graph and execution time of a program.
Indispensable aid for improving the running time of almost everything.
Programming Libraries
Screen Updating and Cursor Movement Optimization
Describes the curses package, an aid for writing screen-oriented,
terminal-independent programs.
General Reference
How to write programs that use the Interprocess Communication Facilities
of 4.4BSD.
The reference document (with some examples) for the Interprocess Communication
Facilities of 4.4BSD.
www@openbsd.org
$OpenBSD: 4.4-psd.html,v 1.1 1996/09/01 13:48:37 deraadt Exp $