Advanced Linux Programming (Landmark) (英語) ペーパーバック – 2001/6/11
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
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. The second section covers material that is entirely Linux specific. These are truly advanced topics, and are the techniques that the gurus use to build great applications. While this book will focus mostly on the Application Programming Interface (API) provided by the Linux kernel and the C library, a preliminary introduction to the development tools available will allow all who purchase the book to make immediate use of Linux.
Mark Mitchell, Alex Samuel, and Jeffrey Oldham are definitely some of the most talented authors I've had the pleasure of working with. Once you take a look at this book you'll see what I mean. This pre-published review of the book says it all: "As Linux becomes a more mainstream player in the internet infrastructure market, there is a tremendous need for lucid programming texts that also convey some of the philosophy behind the Linux and GNU movements. This book does an incredible job of covering all of that. I think it will be a standard against which other programming texts for Linux (and with all due respect to Richard Stevens, possibly UNIX as well) are measured."
Adam Goodman, Publisher, Linux Magazine CodeSourcery is a top-notch group of guys who have brought you a top-notch book you can't be without. They are the epitome of our mission here at New Riders - to publish the VOICES THAT MATTER. Take a look and determine for yourself. I know you'll find this to be one of those books you keep on your shelf forever and ever. Be sure to write into me here at New Riders and let me know what you think and how this book helped you out. Enjoy!
~Stephanie Wall, Executive Editor
The topics could be expanded to hundreds of pages but for me it was just right to use it as a starting point to understand the concepts of Linux programming.
I changed it to 3 stars because the pages are getting loose along with the cover after some weeks. I will glue it myself.
-This book is the BIBLE!
I open each chapter and section as if I'm opening a treasure... and that is what this book is: a treasure trove of information, from thread management, interprocess communication, shared memory, devices, to even implementing inline assembly code!
This book is well written as an introduction without overloading the reader with tangential information: it introduces each topic, shows hows it works and how to implement it (including simple illustrative sample code examples you can on your own machine), and where to get info on more in depth coverage.
This book is a MUST for anyone who wants to understand the Linux enviroment! -Heck: it makes a good read just as an introduction to advanced tools in general! -I wish I had it years ago, and recommend it for ANYONE interested in programming in Linux, or just interested in developing their programming tools beyond "Hello World" !
Heck: any CS teachers out ther should consider creating a programming course based on this book as an intro to advanced progamming topics in general: the authors have already done most of the work introducing not only how to use the tools, but how the tools work and how the system implements them!
The main focus on the UNIX programming section is on threads, IPC and processes. It also includes a concise primer on using tools such as gdb, make, gcc, and emacs. The second part focuses on Linux specifics: Devices, the proc filesystem and Linux system calls. There's also a section on inline assembly, and security (not really Linux specific), and the book ends with a sample application.
The reason this book gets "only" 4 stars is that I find it too Linux-centric. For example, the authors recommend getopt_long, which is not portable, though it is convenient. autoconf and libtool, which are essential to obtain maintain portability across multiple gcc versions, are not even mentioned.
On the other hand, the in-depth coverage of Linux features is useful. But it would be nice if the authors were more clear about which functions were Linux specific, and which were general POSIX /XOpen calls.
The highlight of the book is the sample application. The application is a simple web-server that uses dynamically loaded modules. [...] runs the foobar module. I consider dynamic "modular programming" ("plugins") to be an important and neglected programming paradigm, concealed beneath hype about "Object Oriented" programming. Most large-scale architectures make heavy use of modules. For example, KDE, GNOME, Apache, Perl, the Linux kernel, and Mozilla all make heavy use of dynamically loaded modules. The sample application gives some insight into how large scale modular projects work.
My conclusion -- this book is certainly a worthwhile addition to a Linux programmers bookshelf, though I still consider "Beginning Linux Programming" (Stones/Matthew) to be the best introductory book for a complete introduction to programming on Linux, and more generally, UNIX.