The Linux programmer's toolbox - Fusco, John. (Upper Saddle River, New Jersey : Prentice-Hall, 2007)
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.
Contents Preface Chapter 1 Downloading and Installing Open Source Tools 1.1 Introduction 1.2 What is Open Source? 1.3 What Does Open Source Mean to You? 1.4 An Introduction to Archive Files 1.5 Know Your Package Manager 1.6 Some Words About Security and Packages 1.7 Inspecting Package Contents 1.8 Keeping Packages Up To Date 1.9 Summary Chapter 2 Building From Source 2.1 Introduction 2.2 Build Tools 2.3 The Build Process 2.4 Understanding Errors and Warnings 2.5 Summary Chapter 3 Finding Help 3.1 Introduction 3.2 Online Help Tools 3.3 Other Places to Look 3.4 Documentation Formats 3.5 Internet sources of Information 3.6 Finding Information about the Linux Kernel 3.7 Summary Chapter 4 Editing and Maintaining Source Files 4.1 Introduction 4.2 The Text Editor 4.3 Revision Control 4.4 Source Code Beautifiers and Browsers 4.5 Summary Chapter 5 What Every Developer Should Know About the Kernel 5.1 Introduction 5.2 User Mode versus Kernel Mode 5.3 The Process Scheduler 5.4 Understanding Devices and Device Drivers 5.5 The I/O Scheduler 5.6 Memory Management in User Space 5.7 Summary Chapter 6 Understanding Processes 6.1 Introduction 6.2 Where Processes Come From 6.3 Exec Functions 6.4 Process Synchronization with wait 6.5 The Process Footprint 6.6 Setting Process Limits 6.7 Processes and procfs 6.8 Tools for Managing Processes 6.9 Summary Chapter 7 Communication Between Processes 7.1 Introduction 7.2 IPC Using Plain Files 7.3 Shared Memory 7.4 Signals 7.5 Pipes 7.6 Sockets 7.7 Message Queues 7.8 Semaphores 7.9 Summary Chapter 8 Debugging IPC with Shell Commands 8.1 Introduction 8.2 Tools for Working with Open Files 8.3 Dumping Data from a File 8.4 Shell Tools for System V IPC 8.5 Tools for Working with POSIX IPC 8.6 Tools for Working with Signals 8.7 Tools for Working with Pipes and Sockets 8.8 Using Inodes to Identify Files and IPC Objects 8.9 Summary Chapter 9 Performance Tuning 9.1 Introduction 9.2 System Performance 9.3 Application Performance 9.4 Multiprocessor Performance 9.5 Summary Chapter 10 Debugging 10.1 Introduction 10.2 The Most Basic Debugging Tool - printf 10.3 Getting Comfortable with the GNU Debugger - gdb 10.4 Debugging Shared Objects 10.5 Looking for Memory Issue 10.6 Unconventional Techniques 10.7 Summary Index
Includes bibliographical references and index.
Keywords: LINUX