- Paperback: 736 pages
- Publisher: Addison-Wesley Professional; 2 edition (November 27, 2004)
- Language: English
- ISBN-10: 0321563220
- ISBN-13: 978-0321563224
- Product Dimensions: 7.6 x 1.3 x 9.5 inches
- Shipping Weight: 2.6 pounds (View shipping rates and policies)
- Average Customer Review: 4.4 out of 5 stars See all reviews (43 customer reviews)
- Amazon Best Sellers Rank: #2,573,431 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Linux Application Development (paperback) (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Prepare for your professional certification with study guides and exam prep tools from Wiley. See more
Frequently bought together
Customers who viewed this item also viewed
From Library Journal
Johnson and Troan are Linux developers for Red Hat software, a company that distributes and supports the Linux operating system. This book will appeal to beginning programmers trying to understand how operating systems work in a general way as well as to advanced programmers porting software from UNIX systems to Linux. This book is recommended for large public and all university libraries.
Copyright 1998 Reed Business Information, Inc. --This text refers to an out of print or unavailable edition of this title.
From the Back Cover
"The first edition of this book has always been kept within arm's reach of my desk due to the wonderful explanations of all areas of the Linux userspace API. This second edition greatly overshadows the first one, and will replace it."
--Greg Kroah-Hartman, Linux kernel programmer
Develop Software that Leverages the Full Power of Today's Linux
Linux Application Development, Second Edition, is the definitive reference for Linux programmers at all levels of experience, including C programmers moving from other operating systems. Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.
This book has been fully updated for the Linux 2.6 kernel, GNU C library version 2.3, the latest POSIX standards, and the Single Unix Specification, Issue 6. Its deep coverage of Linux-specific extensions and features helps you take advantage of the full power of contemporary Linux. Along the way, the authors share insights, tips, and tricks for developers working with any recent Linux distribution, and virtually any version of Unix.
- Developing in Linux: understanding the operating system, licensing,
- and documentation
- The development environment: compilers, linker and loader, and unique
- debugging tools
- System programming: process models, file handling, signal processing, directory operations, and job control
- Terminals, sockets, timers, virtual consoles, and the Linux console
- Development libraries: string matching, terminal handling, command-line parsing, authentication, and more
- Hundreds of downloadable code samples
New to this edition
- The GNU C library (glibc), underlying standards, and test macros
- Writing secure Linux programs, system daemons, and utilities
- Significantly expanded coverage of memory debugging, including Valgrind and mpr
- Greatly improved coverage of regular expressions
- IPv6 networking coverage, including new system library interfaces for using IPv6 and IPv4 interchangeably
- Coverage of strace, ltrace, real-time signals, poll and epoll system calls, popt library improvements, Pluggable Authentication Modules (PAM), qdbm, and much more
- Improved index and glossary, plus line-numbered code examples
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Reading this book made many of the arcane details of Unix architecture make sense, finally. I have read many Linux books, and most are long on technical drivel and short on enlightenment. If you are enlightened, you don't need the drivel, because the technical details are easy to absorbe and remember once they make sense.
This book excels at making sense of Linux. It should have been called "Making Sense of Linux Application Development", because that's what it is. You could probably get a lot out of it, even if you don't know C very well or you aren't all that interested in C programming in Linux. The explanations are clearly presented, and the chapters stand alone, and are a great reference material, as well as interesting general reading for those interested in the internals of Linux.
This book explains a lot of services that the kernel provides, especially in regards to the Linux process model and unix filesystems, as well as interprocess communications (Unix domain sockets) and network programming (TCP/IP sockets).
CAVEAT: This shouldn't be your *first* Linux book. There's a lot of material besides the writing of the code that you need to cover first. To get you comfy in the classic Unix shell environment read Hands On Unix, by Mark Sobell.
The book is divided into four major parts: Getting Started, Development Tools and Environment, System Programming and Development Libraries.
Part 1 - Getting Started, is a very high-level overview of Linux itself. The three chapters cover barely 20 pages, and discuss the history of Linux, its licensing, and the online documentation.
Part 2 - Development Tools and Environment gets more detailed, but ends up as a medium-level view of what tools you might use to actually create and debug your application. Six chapters covering about 75 pages discuss editors (Emacs and vi), make, the GNU debugger gdb, tracing, gcc options, glibc, memory debugging tools, libraries, and the environment. Each chapter feels a little light-weight except for the one on memory debugging tools.
If the first two parts seemed to just skim the surface somewhat, Part 3 - System Programming definitely dives into the deep end of the pool. Part 3 has 13 chapters and covers 450 pages, almost two-thirds of the total book. My major complaint with Part 3 is that related chapters appear to be separated by others. Five major groups of functionality are covered.
The Unix/Linux process model is explained in detail in Chapter 10, and should be followed by chapter 15, which goes into job control. File handling is introduced in chapter 11, expanded in chapter 13, and directory handling is covered in chapter 14. Interprocess communication is discussed in chapters 12 - Signal Processing (discussing simple semaphores) and chapter 17 - Networking with Sockets, which extends IPC across the network. User interfaces are covered in chapters 16 (terminals and pseudo-terminals), 20 (virtual consoles), and 21 (text-based interfaces for the Linux console). Timers, encryption, and writing secure programs are the topics of chapters 18, 19, and 22.
Finally, Part 4 covers the various development libraries commonly available to the programmer. Chapter 23 covers the ins and outs of string handling and regular expressions. Using S-Lang to handle the terminal is the main interest of the next chapter. Chapter 25 discusses database interfaces, specifically qdbm, which is licensed under the LGPL. Traditional option functions getopt and getopt_long and their cousin on steriods popt are detailed in the following chapter. The final two chapters cover dynamic loading of shared objects with the advantages that provides, and user identification and authentication, covering id-to-name translation, and Pluggable Authentication Modules (PAM).
This book has a lot of information packed within its covers, When programming, one needs a number of reference books at hand, and Linux Application Development should definitely be one of the handiest. My only concerns were how the first two parts seemed skimpy compared to the rest of the book, and the part on System Programming could have been laid out better. That said, Linux Application Development rates a 4 out of 5.
Most Recent Customer Reviews
It is exactly what I expected, but the writing style is a little too dry for my ADD to be able to...
And if you have also "Advanced Programming in Unix Environment" the you have the complete bible to program in...Read more