Interprocess Communications in UNIX: The Nooks & Crannies

In the late 90's I authored a text book on interprocess communications in UNIX that was published by Prentice Hall. For details from Prentice Hall click on the book cover below. Individual program examples from the text are available on-line.

For the more ambitious, a gzipped tar file Nooks.gz containing all the programs can be downloaded. Keep in mind that to use this file after it has been downloaded you must first unzip the file and then run it through the tar utility.

Cover of first edition Cover of second edition
Cover of the Polish translation
Cover of the Chinese translation

A second edition of the text, which includes coverage of POSIX threads, was published in January of 1998. The second edition has been translated into Polish and Chinese. A third edition (Linux based) is currently "in the works".

C++ Programmer's Notebook

Recently I finished co-authoring a C++ text book with James Keogh. This text is available as of August, 2001. As with the IPC text above, a gzipped tar file C++_SRC.tar.gz containing all the programs can be downloaded. Keep in mind that to use this file after it has been downloaded you must first unzip the file and then run it through the tar utility.

A sample chapter Working with Overloading is available in PDF format.

Cover of C++ text

Interprocess Communications in Linux

Cover of Linux IPC textSummer of 2002 I finished a complete re-write of my IPC text for Linux (RedHat Linux). The text was released in January 2003. The penguin art work was done by a University of Hartford student, Justin Muir.

To the right are the program files for the Linux version of the IPC text. All files, except those in Chapter 9, are C++ based. In most cases the C++ versions are somewhat equivalent to their C program counterpart in the 98 edition (both in numbering and in their functionality). All files were compiled on a PC workstation running RedHat Linux using the GNU C++ compiler (g++). In this edition the System V facilities (chapters 6,7 and 8) are implemented as classes so that they may be instantiated as objects.

Cover of Chinese edition of Linux IPC text As with the IPC text above, a gzipped tar file LINUX_IPX.tar.gz containing all the programs can be downloaded. Remember that to use this file after it has been downloaded you must first unzip (think gunzip) the file and then run it through the tar utility.

    Remember executable files cannot be viewed -- only source / text files. Finally, these source files were compiled and tested with Linux not under Solaris. While most source files should compile and run under Solaris additional include files may be needed (as well as certain compile time options).

    Chapter 1 Programs and Processes
    Chapter 2 Processing Environment
    Chapter 3 Using Processes
    Chapter 4 Primitive Communications
    Chapter 5 Pipes
    Chapter 6 Message Queues
    Chapter 7 Semaphores
    Chapter 8 Shared Memory
    Chapter 9 Remote Procedure Calls
    Chapter 10 Sockets
    Chapter 11 Threads
    Appendix

If you are still looking for items to read here are a few links to papers I have written.

  • The Eight Queens Problem
  • Shuttle Puzzle
  • Domino Arrangment Puzzle