Cover image for GNU/Linux Application Programming.
GNU/Linux Application Programming.
Title:
GNU/Linux Application Programming.
Author:
Jones, M. Tim.
ISBN:
9781584506102
Personal Author:
Edition:
2nd ed.
Physical Description:
1 online resource (689 pages)
Contents:
Contents -- Acknowledgments -- About the Author -- Reader's Guide -- Introduction -- Part I: Introduction -- 1 GNU/Linux History -- Introduction -- History of the UNIX Operating System -- GNU/Linux History -- Linux Distributions -- Summary -- References -- 2 GNU/Linux Architecture -- Introduction -- High-Level Architecture -- Linux Kernel Architecture -- Summary -- Resources -- 3 Free Software Development -- Introduction -- Open Source Licenses -- Problems with Open Source Development -- Summary -- References -- Resources -- 4 Linux Virtualization and Emulation -- Introduction -- What Is Virtualization? -- Short History of Virtualization -- What's the Point? -- Virtualization Taxonomy -- Open Source Virtualization Solutions -- Summary -- Part II: GNU Tools -- 5 The GNU Compiler Toolchain -- Introduction -- Introduction to Compilation -- GCC Optimizer -- Debugging Options -- Other Tools -- Summary -- 6 Building Software with GNU make -- Introduction -- Makefile Variables -- Summary -- 7 Building and Using Libraries -- Introduction -- What Is a Library? -- Building Static Libraries -- Building Shared Libraries -- Dynamically Loaded Libraries -- Utilities -- Summary -- Dynamic Library APIs -- 8 Building Packages with automake/autoconf -- Introduction -- Summary -- 9 Source Control in GNU/Linux -- Introduction -- Defining Source Control -- Source Control Paradigms -- Useful Source Control Tools -- Summary -- 10 Data Visualization with Gnuplot -- Introduction -- Gnuplot -- Summary -- Resources -- Part III: Application Development Topics -- 11 File Handling in GNU/Linux -- Introduction -- File Handling with GNU/Linux -- File Handling API Exploration -- Base API -- Summary -- File Handling APIs -- 12 Programming with Pipes -- Introduction -- The Pipe Model -- Detailed Review -- Summary -- Pipe Programming APIs -- 13 Introduction to Sockets Programming.

Introduction -- Layered Model of Networking -- Sockets Programming Paradigm -- Sample Application -- Sockets API Summary -- Other Transport Protocols -- Multilanguage Perspectives -- Summary -- Sockets Programming APIs -- References -- Resources -- 14 GNU/Linux Process Model -- Introduction -- GNU/Linux Processes -- Whirlwind Tour of Process APIs -- Traditional Process API -- System Commands -- Summary -- Proc Filesystem -- References -- API Summary -- 15 POSIX Threads (pthreads) Programming -- Introduction -- The pthreads API -- Building Threaded Applications -- Summary -- References -- API Summary -- 16 IPC with Message Queues -- Introduction -- Quick Overview of Message Queues -- The Message Queue API -- User Utilities -- Summary -- Message Queue APIs -- 17 Synchronization with Semaphores -- Introduction -- Semaphore Theory -- Quick Overview of GNU/Linux Semaphores -- The Semaphore API -- User Utilities -- Summary -- Semaphore APIs -- 18 Shared Memory Programming -- Introduction -- Quick Overview of Shared Memory -- Shared Memory APIs -- Using a Shared Memory Segment -- User Utilities -- Summary -- References -- Shared Memory APIs -- 19 Advanced File Handling -- Introduction -- Enumerating Directories -- Summary -- Advanced File Handling APIs -- 20 Other Application Development Topics -- Introduction -- Linux Error Reporting -- Summary -- API Summary -- Part IV: GNU/Linux Shells and Scripting -- 21 Standard GNU/Linux Commands -- Introduction -- Redirection -- Summary -- 22 Bourne-Again Shell (Bash) -- Introduction -- bash Scripting -- Conditional Structures -- Looping Structures -- Input and Output -- Functions -- Sample Scripts -- Scripting Language Alternatives -- Summary -- Resources -- 23 Editing with sed -- Introduction -- Anatomy of a Simple Script -- sed Spaces (Buffers) -- Typical sed Command-Line Options -- Regular Expressions.

Ranges and Occurrences -- Essential sed Commands -- Summary -- Some Useful sed One-Liners -- Resources -- 24 Text Processing with awk -- Introduction -- Command-Line awk -- Scripted awk -- Other awk Patterns -- Summary -- Useful awk One-Liners -- 25 Parser Generation with flex and bison -- Introduction -- A Simple Grammar -- Encoding the Grammar in bison -- Hooking the Lexer to the Grammar Parser -- Building a Simple Configuration Parser -- The Big Picture -- Summary -- 26 Scripting with Ruby -- Introduction -- An Introduction to Ruby -- Quick Ruby Examples -- Language Elements -- Advanced Features -- Ruby as an Embedded Language -- Summary -- Resources -- 27 Scripting with Python -- Introduction -- An Introduction to Python -- Quick Python Examples -- Language Elements -- Advanced Features -- Summary -- Resources -- 28 GNU/Linux Administration Basics -- Introduction -- Navigating the Linux Filesystem -- Package Management -- Kernel Upgrades -- Summary -- Part V: Debugging and Testing -- 29 Software Unit Testing Frameworks -- Introduction -- Unit Testing Frameworks -- Summary -- Resources -- 30 Debugging with GDB -- Introduction -- Using GDB -- Other GDB Debugging Topics -- Summary -- Resources -- 31 Code Hardening -- Introduction -- Code Hardening Techniques -- Source Checking Tools -- Code Tracing -- Summary -- Resources -- 32 Coverage Testing with GNU gcov -- Introduction -- What Is gcov? -- Preparing the Image -- Using the gcov Utility -- Options Available for gcov -- Considerations -- Summary -- References -- Resources -- 33 Profiling with GNU gprof -- Introduction -- What Is Profiling? -- What Is gprof? -- Preparing the Image -- Using the gprof Utility -- Considerations -- Summary -- References -- 34 Advanced Debugging Topics -- Introduction -- Memory Debugging -- Cross-Referencing Tools -- System Call Tracing with ltrace.

Dynamic Attachment with GDB -- Summary -- Resources -- Appendix A: Acronyms and Partial Acronyms -- Appendix B: About the CD-ROM -- Index -- A -- B -- C -- D -- E -- F -- G -- H -- I -- J -- K -- L -- M -- N -- O -- P -- Q -- R -- S -- T -- U -- V -- W -- X -- Y -- Z.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: