Features
- Cover Type: Paperback with 512 pages
- Published by: Charles River Media
- Edition: 1st Edition February 2, 2005
- Written in: English
- ISBN 10 Number: 1584503718
- ISBN 13 Number: 978-1584503712
-
Book Dimensions:
9.1 x 7.4 x 1.3 inches
- Weighs: 2.4 pounds
Book Description
The wide range of applications available in GNU/Linux includes not only pure applications, but also tools and utilities for the GNU/Linux environment. GNU/Linux Application Programming takes a holistic approach to teaching developers the ins-and-outs of GNU/Linux programming using APIs, tools, communication, and scripting. Covering a variety of topics related to GNU/Linux application programming, the book is split into six parts: The GNU/Linux Operating System, GNU Tools, Application Development, Advanced Topics (including communication and synchronization and distributed computing), Debugging GNU/Linux Applications, and Scripting. The book introduces programmers to the environment from the lowest layers (kernel, device drivers, modules) to the user layer (applications, libraries, tools), using an evolutionary approach that builds on knowledge to cover the more complex aspects of the operating system. Through a readable, code-based style developers will learn about the relevant topics of file handling, pipes and sockets, processes and POSIX threads, inter-process communication, and other development topics. After working through the text, theyíll have the knowledge base and skills to begin developing applications in the GNU/Linux environment.
About The Author
M. Tim Jones is an embedded
software architect and the author of GNU/Linux Application Programming, AI Application Programming, and BSD Sockets Programming from a Multilanguage Perspective. His engineering background ranges from the development of kernels for geosynchronous spacecraft to embedded systems architecture and networking protocols development. Tim is a Consultant Engineer for Emulex Corp. in Longmont, Colorado.
Reader Reviews
All the topics that one needs to read to come up to speed with Linux programming, development and maintenance, scripting and even tuning are covered in this book. The author starts with the basic architecture of the Linux operating system, and delves into the details of each part: scheduler, memory manager, virtual file system, network, ipc and init. The reader starts with an overview of what the Linux operating system looks like "under the hood", and is taken thru a series of sections that cover application development using each section of the Linux kernel. Overview application programming, performance analysis and debugging using various GNU tools such as the the GCC complier, make, gcov and gprof are given first and are used throughout the book by the author to further demonstrate the features and benefits of the available GNU tools. By now, the reader is presented with the necessary tools needed to create application, and is not time to delve into specific programming techniques and API's. The book starts with simple file handling API's and examples, and goes into more complicated topics such as: * Linux Pipes * Sockets programming * Multi-process development and the Linux process model * Multi-threaded development and the Linux threading model * Messages Queues * Synchronization and Semaphores * Shared memory programming Even though each of these topics are very complicated and an entire text could easily dedicated to it, the author with elegance covers each topic such that the reader could get an overview of what is at stake. Each topic is rather short, and very well written with examples and a step-by-step instruction of how to write simple programs. Each chapter is like a short and sweet introduction to the topic at hand. One of my favorite chapters is, "Synchronization with Semaphores," in which the author further illustrates the point using sequence diagrams of events, elaborated examples and tips on how-to's. The chances are that programming in a high-level language such as C is not enough, and one needs to compliment his/her application[s] with scripts and many other available Linux tools and commands. The last section of the book is dedicated to what some people might call odd-and-ends, but to me, they are as important as any other topics in this book. Bash, Sed, awk, flex and bison are some of the scripting languages that are covered. As with the previous sections of the text the author covers each topic using examples plus a step-by-step depiction of each example. If you are new to the Linux programming environment or you need a refresher text like I did, you will find this book very useful. Tim does a fantastic job covering a broad topic, and doing so with such ease and elegance. The examples are priceless, and the CD at the end of the book has complete source code to the examples given in the book.
Comment | |
(Report this)