Join Books.org — it's free

Linux Application Development by Michael K. Johnson — book cover
Platform-Specific Programming, Linux, General Software Engineering

Linux Application Development

by Michael K. Johnson, Erik W. Troan
Write a review
Log in to track your reading progress.

Overview

'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.

Topics include

  • 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

Synopsis

If you are already a proficient Unix programmer, this book will greatly facilitate your transition to Linux. You will also find helpful discussions of some tricky Unix topics, such as process and session groups, job control, and tty handling.

If you are a C programmer, but know neither Unix nor Linux, reading this book in its entirety and working with its numerous examples will give you a solid introduction to Linux programming.

If you are already a Linux programmer, this book's clear treatment of advanced and otherwise confusing topics will surely make your programming tasks easier.

Linux Application Development is divided into four parts. Part 1 introduces you to Linux(the operating system, licenses, and documentation. Part 2 covers the most important aspects of the development environment(the compilers, linker, loader, and debugging tools. Part 3-the heart of the book-describes the interface to the kernel and to the core system libraries, including discussion of the process model, file handling, directory operations, signal processing (including the Linux signal API), job control, the POSIX( termios interface, sockets, and the Linux console. Part 4 describes important development libraries with interfaces more independent of the kernel. The source code from the book is freely available at http://www.awl.com/cseng/books/lad/.

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.

About the Author, Michael K. Johnson

Michael K. Johnson is an operating system engineer at Specifix. He was formerly an operating system developer for Red Hat, where he managed the kernel team for three and a half years, and was founding technical leader of the Fedora Project. He occasionally teaches full-day tutorials on Linux application development.

Erik W. Troan, cofounder and Executive VP of Operating Systems at Specifix, was formerly Vice President of Product Engineering at Red Hat, where he was responsible for specifying and building technologies such as RPM, Linux operating systems, the Red Hat Network, high-performance Web servers, and the infrastructure for Red Hat's Web site.

Reviews

There are no reviews yet. Log in to write one.

Editorials

From Barnes & Noble

The Barnes & Noble Review
If you’re ready to become an expert Linux developer, Fedora’s founding technical leader and Red Hat’s former chief developer are ready to help you.

Michael Johnson and Erik Troan cover the entire Linux development environment: compilers, linker, loader, and debugging tools. They systematically explain interfaces to the Linux kernel; key system libraries; and everything from threads to networking. You won’t have to guess at the subtle differences between Unix and Linux: this book focuses on taking full advantage of Linux’s unique features and extensions (for instance, direct screen access capabilities).

This thoroughly updated Second Edition now covers the Linux 2.6 kernel, GNU C library 2.3, and the latest POSIX standards. There’s an entirely new chapter on security, too. For Linux programmers, an indispensable book is now even better. Bill Camarda, from the January 2005 Read Only

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.

Booknews

A guide for programmers wanting to develop applications on the Linux platform. Includes an introduction to the operating system and discussions of documentation, compiling, linking and loading, Linux-specific debugging tools, the kernel interface, development tools, and dynamic loading at runtime. Appends information on direct access to I/O ports and GNU licenses. Annotation c. by Book News, Inc., Portland, Or.

Slashdot.org

When programming, one needs a number of reference books at hand, and Linux Application Development should definitely be one of the handiest. Just about every aspect of how to interface to Linux from your application program is covered, and the numerous code snippets and examples keep things understandable. An extremely useful book ...

Book Details

Published
April 1, 2008
Publisher
Addison-Wesley
Pages
736
Format
Paperback
ISBN
9780321563224

More by Michael K. Johnson

Similar books