PART 1: INTRODUCTION Chapter 1: GNU/Linux History Chapter 2: GNU/Linux Architecture Chapter 3: Free Software Development Chapter 4: Linux Visualization and Emulation PART 2: GNU TOOLS Chapter 5: The GNU Compiler Toolchain Chapter 6: Building Software with GNU make Chapter 7: Building and Using Libraries Chapter 8: Building Packages with automake/autoconf Chapter 9: Source Control in GNU/Linux Chapter 10: Data Visualization with Gnuplot PART 3: APPLICATION DEVELOPMENT TOPICS Chapter 11: File Handling in GNU/Linux Chapter 12: Programming with Pipes Chapter 13: Introduction to Sockets Programming Chapter 14: GNU/Linux Process Model Chapter 15: POSIX threads (pthreads) Programming Chapter 16: IPC with Message Queues Chapter 17: Synchronization with Semaphores Chapter 18: Shared Memory Programming Chapter 19: Advanced File Handling Chapter 20: Other Application Development Topics PART 4: GNU/LINUX SHELLS AND SCRIPTING Chapter 21: Standard GNU/Linux Commands Chapter 22: Bourne-Again Shell (Bash) Chapter 23: Editing with sed Chapter 24: Text Processing with awk Chapter 25: Parser Generation with flex and bison Chapter 26: Scripting with Ruby Chapter 27: Scripting with Python Chapter 28: GNU/Linux Administration Basics PART 5: DEBUGGING AND TESTING Chapter 29: Software Unit Testing Frameworks Chapter 30: Debugging with GDB Chapter 31: Code Hardening Chapter 32: Coverage Testing with GNU gcov Chapter 33: Profilin with GNU gprof Chapter 34: Advanced Debugging Topics Appendix A: Acronyms and Partial Acronyms Appendix B: About the CD-ROM
About the Author
M. Tim Jones is an embedded software architect and the author of numerous books, including AI Application Programming, Second Edition (Charles River Media), BSD Sockets Programming from a Multilanguage Perspective (Charles River Media), Artifi cial Intelligence: A Systems Approach, and many articles on a variety of technical subjects. 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.