Linux Application Development
Author: Michael K. Johnson & Erik W. Troan
Publisher: Addison Wesley
Price: $45.95 US
Reviewer: Andrew Johnson
Linux Application Development is a solid introduction to Linux programming. It does not attempt to teach programming or C, but serves as a topical reference for experienced C programmers to become familiar with the Linux programming model.
The book is divided into four major parts. Part One, “Getting Started”, contains three short chapters covering the history of Linux, licenses and copyright issues, and the availability and locations of Linux documentation, mailing lists and other books and sources of information.
Part Two provides an introduction to the Linux development environment and tools. Some of the coverage is minimal; for example, the section on the GNU debugger, gdb, contains only a short list of the essential debugger commands and references to two other books which offer tutorials on the debugger. More extended coverage is given to memory debugging tools. This includes source examples and information about creating and using libraries. There is also brief but important coverage of make, the gcc compiler and its options, system calls and common error codes.
The twelve chapters of Part Three, “System Programming”, comprise the bulk of the book. These chapters, as elsewhere, are heavily subdivided into subsections, which I found a little distracting on first reading, but quite convenient for relocating information later.
The authors give an excellent balance of breadth and depth of coverage, with chapters focusing on processes, simple and advanced file handling, directory operations, signals, job control, terminal handling, socket programming, dates and timing, random numbers and console programming. Virtually all of these topics are augmented with small source code examples.
A larger example program, ladsh, is a simplified UNIX command shell which is developed over the course of several chapters and eventually supports simple built-in commands, command execution, I/O redirection and job control. The final version of this program is 710 lines of code, and working through its development provides a good exercise in tying together some of the basic elements of Linux system programming.
Part Four describes a few important development libraries such as the S-Lang terminal library, the Berkeley database library and the popt option parsing library. This section also provides brief discussions of regular expressions, dynamic loading with dl, and the names and user databases.
Finally, three appendices cover direct I/O port access, the final source version of the ladsh program and the GNU licenses.
Overall, the book is well-organized and the writing and explanations are clear and concise. Although designed explicitly as a reference for experienced C programmers making the switch to Linux, I would recommend it as a good additional resource for anyone just beginning to learn C in a Linux environment.
Andrew Johnson is currently a full-time student working on a Ph.D. in physical anthropology and a part-time programmer and technical writer. He resides in Winnipeg, Manitoba with his wife and two sons and enjoys a good, dark ale whenever he can. He can be reached by e-mail at email@example.com.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Peppermint 7 Released
- Sony Settles in Linux Battle
- Libarchive Security Flaw Discovered
- Maru OS Brings Debian to Your Phone
- Profiles and RC Files
- Git 2.9 Released
- Snappy Moves to New Platforms
- The Giant Zero, Part 0.x
- Understanding Ceph and Its Place in the Market
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide