Welcome!

Linux Authors: Michelle Drolet, Kevin Benedict, Pat Romanski, Elizabeth White, Paige Leidig

Related Topics: Linux

Linux: Article

Advanced Unix Programming, Second Edition

20 years and a few hundred system calls later

Marc J. Rochkind wrote the first edition of Advanced UNIX Programming in 1984. In this installment of the Book Rookery, he discusses with Kevin Bedell the second edition - a complete revision that benefits from his years of post-Bell application systems development experience.

Who needs this book? What is it about?

The book is about understanding and using Unix/Linux system calls, which are the interface between the kernel and everything that sits on top of it - commands, application programs, servers, and so on. (The system-call interface is the specification of what a Unix/Linux kernel is supposed to do.) The book is for advanced programmers and anyone else who wants to know how the Unix/Linux kernel works from the external point of view, and how to effectively design and implement Unix/Linux applications.

The first edition of this book was published almost 20 years ago! Why did you pick now to do a second edition?

Because of the explosion of interest in Unix-like systems, especially Linux and OS X; and because I thought a one-volume book that covered all of the important system calls in detail, and with examples, was needed.

Have you heard from a lot of people who owned the first edition?

Yes, many over the years, all over the world. For example, when I visited Chile, I was asked to autograph bootleg versions that students had copied themselves because they couldn't afford to buy the book.

I still have my old copy of the first edition of this book. This version seems a lot thicker. How much of the material has changed?

The book is almost all new - probably only a few dozen paragraphs remain from the original. With networking, threads, extended interprocess communication, and real time, the Unix/Linux kernel interface has expanded dramatically since the 1980s. The first book covered about 70 system calls; the new edition covers about 300, with new sections on threads, networking, real-time signals and timers, and lots more.

How much of your book is Linux specific versus BSD/Solaris/AIX, etc.?

Linux plays a central role in the book. All of the examples were run on Linux (except for some that use features not yet in Linux), and anything special to Linux is pointed out. But, happily, Linux conforms very closely to the current Unix standard, which is important because many applications are being ported from proprietary Unix systems to Linux.

What parts of the book are useful for people writing KDE or GNOME applications?

The book provides a strong foundation in Unix/Linux programming. KDE and GNOME, being subsystems that run as applications, are not within the scope of the book.

Do you think you'll release a third edition in 20 more years?

No, I think we won't wait that long next time. Things are changing much too fast these days!

About Marc J. Rochkind
Marc J. Rochkind was fortunate enough to have worked at Bell Laboratories in the 1970s, when UNIX was still in its infancy. It was there that Rochkind made several key contributions to UNIX, notably the Source Code Control System.

More Stories By Kevin Bedell

Kevin Bedell, one of the founding editors of Linux.SYS-CON.com, writes and speaks frequently on Linux and open source. He is the director of consulting and training for Black Duck Software.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.