or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $10.42 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Advanced Programming in the UNIX Environment (2nd Edition) [Hardcover]

W. Richard Stevens , Stephen A. Rago
4.9 out of 5 stars  See all reviews (25 customer reviews)

Buy New
$57.48 & FREE Shipping. Details
Rent
$34.98 & this item ships for FREE with Super Saver Shipping. Details
Only 14 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it Wednesday, May 29? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Hardcover $57.48  
Paperback $49.26  
Unknown Binding --  
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free.

Book Description

June 27, 2005 0201433079 978-0201433074 2nd

"Stephen Rago's update is a long overdue benefit to the community of professionals using the versatile family of UNIX and UNIX-like operating environments. It removes obsolescence and includes newer developments. It also thoroughly updates the context of all topics, examples, and applications to recent releases of popular implementations of UNIX and UNIX-like environments. And yet, it does all this while retaining the style and taste of the original classic."

--Mukesh Kacker, cofounder and former CTO of Pronto Networks, Inc.

"One of the essential classics of UNIX programming."

--Eric S. Raymond, author of The Art of UNIX Programming

"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the classic Stevens text while keeping true to the original. The APIs are illuminated by clear examples of their use. He also mentions many of the pitfalls to look out for when programming across different UNIX system implementations and points out how to avoid these pitfalls using relevant standards such as POSIX 1003.1, 2004 edition and the Single UNIX Specification, Version 3."

--Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group

"Advanced Programming in the UNIX® Environment, Second Edition, is an essential reference for anyone writing programs for a UNIX system. It's the first book I turn to when I want to understand or re-learn any of the various system interfaces. Stephen Rago has successfully revised this book to incorporate newer operating systems such as GNU/Linux and Apple's OS X while keeping true to the first edition in terms of both readability and usefulness. It will always have a place right next to my computer."

--Dr. Benjamin Kuperman, Swarthmore College

Praise for the First Edition

"Advanced Programming in the UNIX® Environment is a must-have for any serious C programmer who works under UNIX. Its depth, thoroughness, and clarity of explana-tion are unmatched."

--UniForum Monthly

"Numerous readers recommended Advanced Programming in the UNIX® Environment by W. Richard Stevens (Addison-Wesley), and I'm glad they did; I hadn't even heard of this book, and it's been out since 1992. I just got my hands on a copy, and the first few chapters have been fascinating."

--Open Systems Today

"A much more readable and detailed treatment of UNIX internals can be found in Advanced Programming in the UNIX® Environment by W. Richard Stevens (Addison-Wesley). This book includes lots of realistic examples, and I find it quite helpful when I have systems programming tasks to do."

--RS/Magazine

"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original."

--Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group

For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' Advanced Programming in the UNIX® Environment . Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms.

Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O.

Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3.

As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments.

Advanced Programming in the UNIX® Environment has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.




Frequently Bought Together

Advanced Programming in the UNIX Environment (2nd Edition) + Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) + TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition) (Addison-Wesley Professional Computing Series)
Price for all three: $161.63

Buy the selected items together


Editorial Reviews

From the Back Cover

"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original."

—Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group

The same trusted content from the Second Edition, now in paperback!

 

For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' Advanced Programming in the UNIX® Environment . Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms.

Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O.

Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3.

As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments.

Advanced Programming in the UNIX® Environment has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.

--This text refers to the Paperback edition.

About the Author

We are deeply saddened to learn of the death of noted author W. Richard Stevens. His passing is obviously a tremendous loss for the technical community, but it is a personal one for us as well. Rich was both a gifted colleague and a valued friend who will be greatly missed. We extend our sympathies to his family.

Obituary from the Arizona Daily Star:

STEVENS, W. Richard, noted author of computer books died on September 1. He is best known for his "UNIX Network Programming" series (1990, 1998, 1999), "Advanced Programming in the UNIX Environment" (1992), and "TCP/IP Illustrated" series (1994, 1995, 1996). Richard was born in 1951 in Luanshya, Northern Rhodesia (now Zambia), where his father worked for the copper industry. The family moved to Salt Lake City, Hurley, New Mexico, Washington, DC and Phalaborwa, South Africa. Richard attended Fishburne Military School in Waynesboro, Virginia. He received a B.SC. in Aerospace Engineering from the University of Michigan in 1973, and an M.S. (1978) and Ph.D. (1982) in Systems Engineering from the University of Arizona. He moved to Tucson in 1975 and from then until 1982 he was employed at Kitt Peak National Observatory as a computer programmer. From 1982 until 1990 he was Vice President of Computing Services at Health Systems International in New Haven, CT, moving back to Tucson in 1990. Here he pursued his career as an author and consultant. He was also an avid pilot and a part-time flight instructor during the 1970's.

He is survived by his loving wife of 20 years, Sally Hodges Stevens; three wonderful children, Bill, Ellen and David; sister, Claire Stevens of Las Vegas, NV; brother, Bob and wife Linda Stevens of Dallas, TX; nieces, Laura, Sarah, Collette, Christy; and nephew, Brad. He is predeceased by his parents, Royale J. Stevens (1915-1984); and Helen Patterson Stevens (1916-1997). Helen lived in Tucson from 1991-1997, and Royale lived here in the early 1930's attending Tucson High School while his father was treated for TB at the Desert Sanitorium (now TMC). The family asks that in lieu of flowers, donations be made in Richard's name to Habitat for Humanity, 2950 E. 22nd Street, Tucson, AZ 85713. A memorial service for Richard will be held at St. Phillip's in the Hills Episcopal Church on Tuesday, September 7th at 12:00 noon. Following the service there will be a reception in the Murphy Gallery of the Church. Please wear colorful clothing to the service; Richard loved colors.

W. Richard Stevens was an acknowledged UNIX and networking expert and the highly-respected author of several books. He was also a sought-after instructor and consultant.

Stephen A. Rago, one of the Bell Laboratories developers who built UNIX System V, Release 4, currently works as a manger at EMC, specializing in file servers and file systems.




Product Details

  • Hardcover: 927 pages
  • Publisher: Addison-Wesley Professional; 2nd edition (June 27, 2005)
  • Language: English
  • ISBN-10: 0201433079
  • ISBN-13: 978-0201433074
  • Product Dimensions: 7.7 x 2 x 9.4 inches
  • Shipping Weight: 4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.9 out of 5 stars  See all reviews (25 customer reviews)
  • Amazon Best Sellers Rank: #372,341 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.9 out of 5 stars
(25)
4.9 out of 5 stars
3 star
0
2 star
0
1 star
0
If you want to learn UNIX /Linux based programming this book a must read & must have for reference. Pusthaka Vimarsakudu  |  6 reviewers made a similar statement
Fantastic job, Steven Rago and Richard Stevens! Joao Matos  |  4 reviewers made a similar statement
Most Helpful Customer Reviews
55 of 55 people found the following review helpful
5.0 out of 5 stars Outstanding second edition of a computing classic December 2, 2005
Format:Hardcover
This badly needed update to the classic first edition preserves what is best about the old edition, which is the format and attention to detail, and adds the changes that have occurred to the UNIX operating system since the first edition was published back in 1992. Specifically, there are implementation samples for FreeBSD, Linus, and MAC OS X included. This edition is as the first one was, an excellent reference for anyone doing system level programming in C or C++ on the UNIX platform. It is was never intended to teach the reader the fundamentals of the UNIX environment nor to teach C/C++ programming. The author assumes a strong knowledge of both. The book begins much as the first edition did, by explaining the UNIX kernel in generic terms. It then goes on to explain the various implementations of UNIX and their specific differences. You will find chapters three through ten largely unchanged from the first edition, as the basic mechanisms of file I/O, directory structure, interprocess control, and signaling have not evolved since that time. Chapters eleven and twelve are two new added chapters on threads, as threading has become very important in UNIX system programming. Also, gone is the chapter on interfacing to a postscript printer. It is replaced by a more modern chapter on communicating with a network printer. The HTTP protocol is discussed in this context. The book contains a rich set of examples and downloadable code that is very useful. In addition, the book contains the implementations of two large-scale projects: a database library and communication with a network printer. Each project includes complete code with schematics. This book also contains numerous exercises, and the solutions to some of those exercises are included in the back of the book. Since Amazon, and some reviewers, show the table of contents for the first edition but not the second, I include that here for the purpose of completeness:

1. UNIX System Overview

2. UNIX Standardization and Implementations

3. File I/O

4. Files and Directories

5. Standard I/O Library

6. System Data Files and Information

7. Process Environment

8. Process Control

9. Process Relationships

10. Signals

11. Threads

12. Thread Control

13. Daemon Processes

14. Advanced I/O

15. Interprocess Communication

16. Network IPC: Sockets

17 Advanced IPC

18. Terminal I/O

19. Pseudo Terminals

20. A Database Library

21. Communicating with a Network Printer

Appendix A. Function Prototypes

Appendix B. Miscellaneous Source Code

Appendix C. Solutions to Selected Exercises
Comment | 
Was this review helpful to you?
29 of 29 people found the following review helpful
5.0 out of 5 stars superb update of the first edition July 9, 2005
Format:Hardcover
Many of you who learnt unix in the 90s would have cut your teeth on the first edition of this book. This second edition should be well received. It encapsulates the changes in the unix world since 92. Most importantly, it shows the rise of linux. A rise that is still unabated.

Broadly, the structure of this edition matches the first edition. Rago was brought in as co-author after Stevens died in 99, and he has deliberately kept this consistency. I was glad to see that Rago kept the exercises at the end of each chapter. Many computer books seem to dispense with this, which can be a pity for anyone who needs hands on tasks to learn from.

The threading chapters are a significant change from the first edition. Not simple reading, but they do reflect powerful ways to possibly optimise your code. The biggest cost for you may be the effort you need to invest in understanding the coding issues in these chapters. Rago's code examples are deliberately short, and necessarily somewhat artificial. But they do demonstrate well the various threading issues.

Of course, other chapters have had minimal alterations. How much have terminal I/O or pseudoterminals changed in 10 years? Those chapters may be old friends to you.
Comment | 
Was this review helpful to you?
6 of 6 people found the following review helpful
5.0 out of 5 stars Classic piece of work kept up to date! July 11, 2006
Format:Hardcover
The book evolved from its first edition and its definitely a mammoth task trying to keep in this edition what is relevant and what isn't but i think the authors did it :)

If you want to be a UNIX Guru, then this is definitely the book for you :)
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars A reference that keeps on supporting my work
Whether dealing with interoperability issues or detailed design issues related to the Unix environment, the Advanced Programming in the UNIX Environment is the single most... Read more
Published 3 months ago by Bernard Richard Carrier
5.0 out of 5 stars Satisfied teacher
I read this for the first time after taking an operating systems course as undergrad. I enjoyed it.

Then time passed and I am teaching advanced programming at the same... Read more
Published 5 months ago by JAVIER A CORDOBA GANDARA
5.0 out of 5 stars Amazing book!
This book does not answer all questions but its definitively very good book to deepen your knowledge of UNIX systems and how are different UNIX descendants relate and differ. Read more
Published 10 months ago by Dimitri
5.0 out of 5 stars No ther book like it
If you're writing unix programs, this is the book you need. It is the only book that provides a complete, coherent guide to the unix API offered by linux and other operating... Read more
Published 15 months ago by david
5.0 out of 5 stars Absolutely great
This is a solid UNIX reference book. You won't be disappointed. Yes, it does require you to use it's library of functions, but that makes it easier to focus on the important... Read more
Published 15 months ago by Vivek Vallachira
5.0 out of 5 stars Excellent reference and introduction to the UNIX programming...
Two things I like about this book are

1. The book focuses heavily on standards and portability. Read more
Published 17 months ago by Pseudonymous
5.0 out of 5 stars Easy for learning
This text book is easy for anyone who study about computer directly and has some experience with Linux. It give you both of knowlege and C source code example. Read more
Published on December 15, 2010 by Rujirek
5.0 out of 5 stars Top Unix Programming Book
If you are a serious Unix Systems Programmer or just learning to program on the Unix platform, this is the book you need. It is the bible of the Unix API. Read more
Published on October 25, 2010 by James M. Pothering
5.0 out of 5 stars Excelente book
The explanations are very good
Very good examples (you can find the codes online)

A lot of proffesors recomended this book
Published on September 17, 2010 by McBain
5.0 out of 5 stars APUE is a classic
nice, old school manual.
it is priceless for any Unix programmers.
many thanks to Stevens and Rago.
Published on June 8, 2010 by Sergiy Revkov
Search Customer Reviews
Only search this product's reviews


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

Search Customer Discussions
Search all Amazon discussions

Topic From this Discussion
Which one to buy? Be the first to reply
Hardback costs about the same, why buy paperback?
I can't speak for the pricing, but I suspect the production costs are similar. The reason for publishing a paperback copy is that it is easier to carry around. I like to refer to the paperback version as the "portable edition."
Mar 18, 2008 by S. Rago |  See all 2 posts
Start a new discussion
Topic:
First post:
Prompts for sign-in
 




So You'd Like to...


Create a guide


Look for Similar Items by Category