Product Details
The Linux Programmer's Toolbox (Prentice Hall Open Source Software Development)

The Linux Programmer's Toolbox (Prentice Hall Open Source Software Development)
By John Fusco

List Price: £28.99
Price: £20.75 & eligible for FREE Super Saver Delivery. Details

Availability: Usually dispatched within 2 to 3 weeks
Dispatched from and sold by Amazon.co.uk

18 new or used available from £18.31

Average customer review:

Product Description

Master the Linux Tools That Will Make You a More Productive, Effective Programmer

The Linux Programmer's Toolbox helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.

You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.

You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.

Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.

Coverage includes

  • Maximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"
  • Interpreting the kernel: what your tools are telling you
  • Understanding processes–and the tools available for managing them
  • Tracing and resolving application bottlenecks with gprof and valgrind
  • Streamlining and automating the documentation process
  • Rapidly finding help, solutions, and workarounds when you need them
  • Optimizing program code with sar, vmstat, iostat, and other tools
  • Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects
  • Using printf, gdb, and other essential debugging tools

Foreword 
Preface 

Acknowledgments 

About the Author 

Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
Index 


Product Details

  • Amazon Sales Rank: #186578 in Books
  • Published on: 2007-03-14
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 656 pages

Editorial Reviews

From the Back Cover
Master the Linux Tools That Will Make You a More Productive, Effective Programmer

The Linux Programmer's Toolbox helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.

You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.

You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.

Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.

Coverage includes

  • Maximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"
  • Interpreting the kernel: what your tools are telling you
  • Understanding processes–and the tools available for managing them
  • Tracing and resolving application bottlenecks with gprof and valgrind
  • Streamlining and automating the documentation process
  • Rapidly finding help, solutions, and workarounds when you need them
  • Optimizing program code with sar, vmstat, iostat, and other tools
  • Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects
  • Using printf, gdb, and other essential debugging tools

Foreword 
Preface 

Acknowledgments 

About the Author 

Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
Index 

About the Author

John Fusco is a software developer for GE Healthcare who specializes in Linux applications and device drivers. He has worked on Unix software for more than ten years and has been developing applications for Linux since kernel version 2.0. He has written articles for Embedded Systems Programming and Linux Journal.


Customer Reviews

Superb Book!5
I had this book in my "saved for later" section of the shopping cart on amazon for nearly a year. It got on my list after a favourable review in a linux magazine -- i forget which one now.

Eventually i took the plunge and bought it. Wow! This has been the best Linux / Unix programming reference since i bought the APUE (Advanced Programming in the Unix Environment) book by Stevens / revised & updated by Rago.

This book is not far off of the APUE book in calibre. I seriously mean that. It's not quite there -- owing mostly to the fact APUE is about 3x times the number of pages and thusly more informative.

If you're looking for a top notch, hands on tutorial with pretty much all tools a C/C++ dev on Linux will need to be familiar with -- this is it!

This book gives best results to the reader with at least a little experience & familiarity with C programming & Linux -- it's a text on the tools to help a programmer, not "My first steps in C dev on Linux".

My day job is sysadmin, not developer, but i keep sharp on my c skills in order that i can best support my production environment, and the developers feeding code into that env. This book just earned itself a spot on my desk.

Can't recommend this book highly enough, it does exactly what it says on the cover. I will be looking for more titles from John Fusco as the author has a talent for technical writing, i never lost interest for a second.

Excellent - much more than a "Toolbox"5
"Toolbox" doesn't do justice to this book. More an aerospace standard maintenance facility with a large staff of eager expert technicians.

The information provided on the kernel and techniques for actually using the tools effectively, in themselves, make the book essential. It may not cover every tool you ever want but it's pretty close and you won't regret buying it anyway.

This and "Embedded Linux Primer" should be first on every embedded Linux developer's reading list.