Advanced Programming in the Unix Environment is a computer programming book by W. Richard Stevens describing the application programming interface of the UNIX family of operating systems. The book illustrates UNIX application programming in the C programming language.
Author | W. Richard Stevens |
---|---|
Language | English |
Published | 1992 |
Publisher | Addison-Wesley |
Publication place | United States |
Pages | +750[1] |
The first edition of the book was published by Addison-Wesley in 1992. It covered programming for the two popular families of the Unix operating system, the Berkeley Software Distribution (in particular 4.3 BSD and 386BSD) and AT&T's UNIX System V (particularly SVR4). The book covers system calls for operations on single file descriptors, special calls like ioctl that operate on file descriptors, and operations on files and directories. It covers the stdio section of the C standard library, and other parts of the library as needed. The several chapters concern the APIs that control processes, process groups, daemons, inter-process communication, and signals. One chapter is devoted to the Unix terminal control and another to the pseudo terminal concept and to libraries like termcap and curses that build atop it. Stevens adds three chapters giving more concrete examples of Unix programming: he implements a database library, communicates with a PostScript printer, and with a modem. The book does not cover network programming: this is the subject of Stevens's 1990 book UNIX Network Programming and his subsequent three-volume TCP/IP Illustrated.
Stevens died in 1999, leaving a second edition incomplete. With the increasing popularity and technical diversification of Unix derivatives, and largely compatible systems like the Linux environment, the code and coverage of Stevens's original became increasingly outdated. Working with Stevens's unfinished notes, Stephen A. Rago completed a second edition which Addison-Wesley published in 2005. This added support for FreeBSD, Linux, Sun's Solaris, and Apple's Darwin, and added coverage of multithreaded programming with POSIX Threads. The second edition features a foreword by Dennis Ritchie and a Unix-themed Dilbert strip by Scott Adams.
The book has been widely lauded as well written, well crafted, and comprehensive. It received a "hearty recommendation" in a Linux Journal review.[1]
OSNews describes it as "one of the best tech books ever published" in a review of the second edition.[2]
Editions
edit- Advanced Programming in the UNIX environment, first edition, W. Richard Stevens, Addison-Wesley, 1992, ISBN 978-0-201-56317-7
- Advanced Programming in the UNIX environment, second edition, W. Richard Stevens and Stephen A. Rago, Addison-Wesley, 2005, ISBN 978-0-201-43307-4
- Advanced Programming in the UNIX environment, third edition, W. Richard Stevens and Stephen A. Rago, Addison-Wesley, 2013, ISBN 978-0-321-63773-4
References
edit- ^ a b Bausum, David (October 1, 1997). "Advanced Programming in the Unix Environment". Linux Journal (42): 41–42. Archived from the original on 2013-10-17.
- ^ Loli-Queru, Eugenia (October 4, 2005). "Book Review: Advanced Programming in the UNIX Environment". OSNews. Archived from the original on 2013-10-17. Retrieved 16 June 2011.
External links
edit- Advanced Programming in the Unix Environment home page
- Interview Archived 2011-09-26 at the Wayback Machine with 2nd. edition co-author Steven Rago, Ibrahim Haddad, Linux Planet, July 5, 2005
- Advanced UNIX Programming: An Interview with Stephen Rago
- Advanced Programming in the UNIX Env, 2nd Ed.
- REVIEW: Advanced Programming in the UNIX® Environment