Programs
You can either download all of the programs in one large file or you can download the programs from an individual chapter. If you choose to download only one tar file, untarring the file will create a separate directory for each chapter. Each chapter directory contains all of the files necessary to compile the programs in that directory.
The smaller files contain the programs from an individual chapter. Put all of the program from a given chapter in its own directory.
Each directory will contain a makefile for compiling the programs for a given chapter. The README file for each chapter contains information on compiling the programs on our three test systems: Solaris 9, Redhat Linux 8.0, and Mac OS 10.2. See the instructions at the bottom of the table. If you are using Mac OS X, see the update.
If you are using another system and needed to make modifications to the makefile to compile the programs, please let us know by email. We will gather this information here for others to use.
If you just want to get one or two programs, you can access the indivual programs by using the link in the last column of the table.
Downloadable Programs | ||||
---|---|---|---|---|
  All Programs in One File   |   usp_all.tar (1Meg)   |   usp_all.tar.Z (210K)   | ||
  | ||||
  Chapter | tar file | compressed tar file | individual files | |
  1   |   Technology's Impact on Programs   |   usp_ch01.tar (8K)   |   usp_ch01.tar.Z (2K)   |   Chapter 1 |
  2   |   Programs, Processes and Threads   |   usp_ch02.tar (42K)   |   usp_ch02.tar.Z (10K)   |   Chapter 2 |
  3   |   Processes in UNIX   |   usp_ch03.tar (44K)   |   usp_ch03.tar.Z (10K)   |   Chapter 3 |
  4   |   UNIX I/O   |   usp_ch04.tar (92K)   |   usp_ch04.tar.Z (21K)   |   Chapter 4 |
  5   |   Files and Directories   |   usp_ch05.tar (25K)   |   usp_ch05.tar.Z (5K)   |   Chapter 5 |
  6   |   UNIX Special Files   |   usp_ch06.tar (58K)   |   usp_ch06.tar.Z (15K)   |   Chapter 6 |
  7   |   Project: The Token Ring   |   usp_ch07.tar (19K)   |   usp_ch07.tar.Z (4K)   |   Chapter 7 |
  8   |   Signals   |   usp_ch08.tar (80K)   |   usp_ch08.tar.Z (20K)   |   Chapter 8 |
  9   |   Times and Timers   |   usp_ch09.tar (64K)   |   usp_ch09.tar.Z (16K)   |   Chapter 9 |
10  |   Project: Virtual Timers   |   usp_ch10.tar (13K)   |   usp_ch10.tar.Z (4K)   |   Chapter 10 |
11  |   Project: Cracking Shells   |   usp_ch11.tar (41K)   |   usp_ch11.tar.Z (10K)   |   Chapter 11 |
12  |   POSIX Threads   |   usp_ch12.tar (42K)   |   usp_ch12.tar.Z (11K)   |   Chapter 12 |
13  |   Thread Synchronization   |   usp_ch13.tar (68K)   |   usp_ch13.tar.Z (15K)   |   Chapter 13 |
14  |   Critical Sections and Semaphores   |   usp_ch14.tar (44K)   |   usp_ch14.tar.Z (11K)   |   Chapter 14 |
15  |   POSIX IPC   |   usp_ch15.tar (46K)   |   usp_ch15.tar.Z (12K)   |   Chapter 15 |
16  |   Project: Producer Consumer Synchronization   |   usp_ch16.tar (59K)   |   usp_ch16.tar.Z (13K)   |   Chapter 16 |
17  |   Project: The Not Too Parallel Virtual Machine   |   usp_ch17.tar (55K)   |   usp_ch17.tar.Z (17K)   |   Chapter 17 |
18  |   Connection-Oriented Communication   |   usp_ch18.tar (61K)   |   usp_ch18.tar.Z (16K)   |   Chapter 18 |
19  |   Project: WWW Redirection   | no programs | ||
20  |   Project: Connectionless Communication and Multicast   |   usp_ch20.tar (73K)   |   usp_ch20.tar.Z (19K)   |   Chapter 20 |
21  |   Project: Internet Radio   | no programs | ||
22  |   Project: Server Performance   |   usp_ch22.tar (19K)   |   usp_ch22.tar.Z (6K)   |   Chapter 22 |
  | ||||
  Appendix | tar file | compressed tar file | individual files | |
A  |   UNIX Fundamentals   | no programs | ||
B  |   Restart Library   |   usp_apB.tar (10K)   |   usp_apB.tar.Z (3K)   |   Appendix B |
C  |   UICI Implementation   |   usp_apC.tar (54K)   |   usp_apC.tar.Z (16K)   |   Appendix C |
D  |   Logging Functions   |   usp_apD.tar (22K)   |   usp_apD.tar.Z (8K)   |   Appendix D |
E  |   UNIX Fundamentals   | no programs |
To get the programs for an individual chapter, click on one of the links given
in the above table. If you download a compressed tar file, say usp_ch12.tar.Z,
you can uncompress it with
    uncompress usp_ch12.tar.Z
This will create the file usp_ch12.tar.
If the file usp_ch12.tar is in the directory /mydir,
go into a clean directory an execute
    tar -xf /mydir/usp_ch12.tar
Read the README file for instructions on compiling the programs.
If you choose to download all of the programs in one file, uncompesss the file in a clean directory. This will make subdirectories, chapter01, chapter02, etc. containing the programs for each chapter.