








         UNIX Programmer's Supplementary Documents (PSD)

               4.4 Berkeley Software Distribution

                           June, 1993



     This  volume  contains documents which supplement the manual
pages in The UNIX(R) Programmer's Reference Manual for the 4.4BSD
system as distributed by U.C. Berkeley.

Documents of Historical Interest

The Unix Time-Sharing System                                PSD:1

     Dennis  Ritchie and Ken Thompson's original paper about
     UNIX, reprinted from Communications of the ACM.


Unix Implementation                                         PSD:2

     Ken Thompson's description of the implementation of the
     Version 7 kernel and file system.


The Unix I/O System                                         PSD:3

     Dennis  Ritchie's overview of the I/O System of Version
     7; still helpful for those writing device drivers.


Unix Programming - Second Edition                           PSD:4

     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)         PSD:5

     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.













PSD Contents


Languages in common use

The C Programming Language - Reference Manual               PSD:6

     Official  statement of the syntax of C.  Should be sup-
     plemented  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                               PSD:7

     An implementation of this language popular for learning
     to program.


A Portable Fortran 77 Compiler                              PSD:8

     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                         PSD:9

     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          PSD:10

     How to debug programs using the source level gdb debug-
     ger  (or  how  to debug programs without having to know
     much about machine language).


A Tutorial Introduction to ADB                             PSD:11

     How to debug programs using the assembly-language level
     adb debugger.


Make - A Program for Maintaining Computer Programs         PSD:12

     Indispensable  tool  for making sure large programs are
     properly compiled with minimal effort.


An Introduction to the Revision Control System             PSD:13

     RCS is a user-contributed  tool  for  working  together
     with  other  people  without  stepping  on each other's









                                                     PSD Contents


     toes.  An alternative to sccs for controlling  software
     changes.


An Introduction to the Source Code Control System          PSD:14

     A  useful  introductory  article  for  those users with
     installations licensed for SCCS.


YACC: Yet Another Compiler-Compiler                        PSD:15

     Converts a BNF specification of a language and semantic
     actions written in C into a compiler for that language.


LEX - A Lexical Analyzer Generator                         PSD:16

     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  expres-
     sion.


The M4 Macro Processor                                     PSD:17

     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                     PSD:18

     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           PSD:19

     Describes  the  curses  package,  an  aid  for  writing
     screen-oriented, terminal-independent programs.


General Reference

An Introductory 4.4BSD Interprocess Communication Tutorial PSD:20

     How  to write programs that use the Interprocess Commu-
     nication Facilities of 4.4BSD.












PSD Contents


An Advanced 4.4BSD Interprocess Communication Tutorial     PSD:21

     The reference document (with  some  examples)  for  the
     Interprocess Communication Facilities of 4.4BSD.
























































