Changes from the First Edition
Rich's work holds up well. I've tried not to change his original vision for this book, but a lot has happened in 13 years. This is especially
true with the standards that affect the UNIX programming interface.
Throughout the book, I've updated interfaces that have changed from the ongoing efforts in standards organizations. This is most
noticeable in Chapter 2 , since its primary topic is standards. The 2001 version of the POSIX.1 standard, which we use in this revision, is
much more comprehensive than the 1990 version on which the first edition of this book was based. The 1990 ISO C standard was
updated in 1999, and some changes affect the interfaces in the POSIX.1 standard.
A lot more interfaces are now covered by the POSIX.1 specification. The base specifications of the Single UNIX Specification (published
by The Open Group, formerly X/Open) have been merged with POSIX.1. POSIX.1 now includes several 1003.1 standards and draft
standards that were formerly published separately.
Accordingly, I've added chapters to cover some new topics. Threads and multithreaded programming are important concepts because
they present a cleaner way for programmers to deal with concurrency and asynchrony.
The socket interface is now part of POSIX.1. It provides a single interface to interprocess communication (IPC), regardless of the location
of the process, and is a natural extension of the IPC chapters.
I've omitted most of the real-time interfaces that appear in POSIX.1. These are best treated in a text devoted to real-time programming.
One such book appears in the bibliography.
I've updated the case studies in the last chapters to cover more relevant real-world examples. For example, few systems these days are
connected to a PostScript printer via a serial or parallel port. Most PostScript printers today are accessed via a network, so I've
changed the case study that deals with PostScript printer communication to take this into account.
The chapter on modem communication is less relevant these days. So that the original material is not lost, however, it is available on the
book's Web site in two formats: PostScript ( http://www.apuebook.com/lostchapter/modem.ps ) and PDF
( http://www.apuebook.com/lostchapter/modem.pdf ).
The source code for the examples shown in this book is also available at www.apuebook.com . Most of the examples have been run on
four platforms:
FreeBSD 5.2.1, a derivative of the 4.4BSD release from the Computer Systems Research Group at the University of
California at Berkeley, running on an Intel Pentium processor
1 .
Linux 2.4.22 (the Mandrake 9.2 distribution), a free UNIX-like operating system, running on Intel Pentium processors 2 .
Solaris 9, a derivative of System V Release 4 from Sun Microsystems, running on a 64-bit UltraSPARC IIi processor 3 .
Darwin 7.4.0, an operating environment based on FreeBSD and Mach, supported by Apple Mac OS X, version 10.3, on a
PowerPC processor
4 .
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks .