New Riders, 2001. — 368 p. — ISBN: 0735710430.
This book is intended for three types of readers:
You might be a developer already experienced with programming for the GNU/Linux system, and you want to learn about some of its advanced features and capabilities.You might be interested in writing more sophisticated programs with features such as multiprocessing, multithreading, interprocess communication, and interaction with hardware devices.You might want to improve your programs by making them run faster, more reliably, and more securely, or by designing them to interact better with the rest of the GNU/Linux system.
You might be a developer experienced with another Unix-like system who’s interested in developing GNU/Linux software, too.You might already be familiar with standard APIs such as those in the POSIX specification.To develop GNU/Linux software, you need to know the peculiarities of the system, its limitations, additional capabilities, and conventions.
You might be a developer making the transition from a non-Unix environment, such as Microsoft’s Win32 platform.You might already be familiar with the general principles of writing good software, but you need to know the specific techniques that GNU/Linux programs use to interact with the system and with each other.And you want to make sure your programs fit naturally into the GNU/Linux system and behave as users expect them to.
Advanced Linux Programming is divided into two parts. The first covers generic Unix system services, but with a particular eye towards Linux specific information. This portion of the book will be of use even to advanced programmers who have worked with other Linux systems since it will cover Linux specific details and differences. For programmers without Unix experience, it will be even more valuable.