Book Review: Advanced UNIX Programming, 2nd Edition

January 12th, 2005 by Dan Kaspi in

The updated version of this classic text is as well written, detailed and informative as the original.
Your rating: None

Advanced UNIX Programming, Second Edition

Marc J. Rochkind

Addison-Wesley Professional

ISBN 0131411543

$44.99

Although this book is the second edition of this title, the former edition was published quite a while ago, 20 years to be exact. Quite a bit in UNIX programming has changed since then.

The book begins with an introduction to UNIX and its variants, including Linux and FreeBSD. Subsequently, the book deals with I/O--file I/O and, perhaps less common, terminal I/O--processes and threads. A large portion of the book is devoted to interprocess communication (IPC). Coverage is given to pipes, named pipes (FIFOs), shared memory and sockets, all of which are accompanied by many code examples. Also explained are the two sets of system calls used for messages, semaphores and shared memory--System V IPC, the older system, and POSIX IPC, the newer one. In addition to describing each system, the author explains the advantages and disadvantages of using each.

The author also defines, for the purpose of writing the IPC portion of the book, a special interface called SMI--simple messaging interface. SMI is not part of any standard. Instead, it defines requirements for a simple messaging interface, with types and functions of its own, which then is demonstrated in various IPC mechanisms. The final chapter of the book is devoted to signals and timers.

Throughout the book, examples are provided that demonstrate doing things the wrong way--either partially or completely--and subsequently how to fix them. The author also often gives a simple example that builds into a more complex example, which is quite helpful for watching an idea grow. It may take a bit of time to get used to all of the code samples--there are a lot of them. Furthermore, almost every system call is wrapped in a macro that tests its return value; usually it is ec_neg1. Finally, almost every program ends with EC_CLEANUP_BGN / EC_CLEANUP_END macros. Be sure to explore the book's accompanying Web site, which provides all the code samples contained in the book.

All in all, Advanced UNIX Programming, Second Edition is a great book; it's well written, interesting and full of examples. It's a great resource for beginning and intermediate programmers who want to improve their overall knowledge of UNIX.

Dan Kaspi is a software engineer who has been developing network applications for Linux for over five years. Besides being a Linux enthusiast, he likes playing chess and music.

__________________________


Special Magazine Offer -- 2 Free Trial Issues!
Receive 2 free trial issues of Linux Journal as well as instant online access to current and past issues. There's NO RISK and NO OBLIGATION to buy. CLICK HERE for offer

Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.

Sorry, offer available in the US only. International orders, click here.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The informational value of

On August 28th, 2008 Zevk says:

The informational value of this review would

So I felt it will be not

On August 22nd, 2008 iLkeR says:

So I felt it will be not appropiate to make a comparison now;
But when it will be out, I intend to read it and post a book review
on it with a comparison to Rochkind book.

__________________________

muhabbet - mirc - ~ Weß MimariSt. ~

Asian Beavers 2008

On August 8th, 2008 Qarisma says:

Well, it looks like the book is out. I didn't see a comparison review when I did a google search.

yesss :)

__________________________

Sohbet

i felt different about this book

On January 18th, 2005 Ben LeMasurier (not verified) says:

Although I must say this book has been very usefull. I can't say that it was really all that well written. When I read it I found it more of a reference or man page rather than an informative learning book. I would recommend it to the intermediate/advanced programmer but not a beginner.

-Ben
uidzer0.org

Isn't it what the title says?

On January 20th, 2005 Damian Wojsław (not verified) says:

Isn't it what the title says? Advanced UNIX Programming...

-trochej

The informational value of th

On January 15th, 2005 Anonymous (not verified) says:

The informational value of this review would have been greatly enhanced you had compared it to Stevens' Advanced Programming in the Unix Environment.

Re: The informational value of this review

On January 16th, 2005 DanKaspi (not verified) says:

Hello,
I know and appreciate "Advanced Programming in the Unix Environment" of Stevens , as well as other books of him.

The second edition of Stevens book will be published at July 22, 2005;
at list, according to Amazon site
http://www.amazon.com/exec/obidos/tg/detail/-/0201433079/qid=1105873209/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/104-6017087-9908729?v=glance&s=books&n=507846
This fisrt edition is from more than 10 years ago (1992).

So I felt it will be not appropiate to make a comparison now;
But when it will be out, I intend to read it and post a book review
on it with a comparison to Rochkind book.

Regards
Dan

Comparison with stevens book

On December 18th, 2005 Aaron (not verified) says:

Well, it looks like the book is out. I didn't see a comparison review when I did a google search.

Featured Videos

Email is one of the least private and least secure forms of communication, although few people realize this. MixMaster is one way to allow secure, anonymous communication even over the very public medium of email. This tutorial will get you started with MixMaster quickly and easily.

In case you were wondering about the fun side of Linux World Expo, we thought we'd give you a peek at our shenanigans. We at Linux Journal love what we do so much, that we can't help but have a ball wherever we go.

From the Magazine

September 2008, #173

Feeling a bit like a Thermian? Never give up, never surrender! Someday, you could go from underdog to top dog. Just take a look at a few of the underdogs we highlight in this issue: Mutt, djbdns, Nginix, Gentoo, Xara and the program voted mostly likely to fail just a few years back—Firefox. If Firefox not radical enough for you, check out Chef Marcel's column for some more alternatives. Having trouble mapping your program data to your relational database? If so, Rueven Lerner shows you some tricks in his At The Forge column.

Need to run GUI applications on your server in the next state? In his Paranoid Penguin column, Mick Bauer shows you how to do it securely. Kyle Rankin keeps hacking and slashing and shows you a few split screen secrets you may not be familiar with. Finally, we all know what happens next February, but only Doc knows what happens afterward.

Read this issue