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).

Berkeley Software Architecture Manual (4.4 Edition)

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

An Introductory 4.4BSD Interprocess Communication Tutorial

How to write programs that use the Interprocess Communication Facilities of 4.4BSD.

An Advanced 4.4BSD Interprocess Communication Tutorial

The reference document (with some examples) for the Interprocess Communication Facilities of 4.4BSD.
OpenBSD www@openbsd.org
$OpenBSD: 4.4-psd.html,v 1.3 1998/06/19 15:05:54 pauls Exp $