What is included with this book?
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.
Foreword | p. xvii |
Preface | p. xix |
Acknowledgments | p. xxiii |
About the Author | p. xxv |
Downloading and Installing Open Source Tools | p. 1 |
Introduction | p. 1 |
What Is Open Source? | p. 2 |
What Does Open Source Mean to You? | p. 2 |
An Introduction to Archive Files | p. 4 |
Know Your Package Manager | p. 12 |
Some Words about Security and Packages | p. 17 |
Inspecting Package Contents | p. 27 |
Keeping Packages up to Date | p. 33 |
Summary | p. 39 |
Building from Source | p. 41 |
Introduction | p. 41 |
Build Tools | p. 41 |
The Build Process | p. 74 |
Understanding Errors and Warnings | p. 78 |
Summary | p. 100 |
Finding Help | p. 103 |
Introduction | p. 103 |
Online Help Tools | p. 103 |
Other Places to Look | p. 120 |
Documentation Formats | p. 124 |
Internet Sources of Information | p. 131 |
Finding Information about the Linux Kernel | p. 134 |
Summary | p. 138 |
Editing and Maintaining Source Files | p. 141 |
Introduction | p. 141 |
The Text Editor | p. 142 |
Revision Control | p. 189 |
Source Code Beautifiers and Browsers | p. 203 |
Summary | p. 216 |
What Every Developer Should Know about the Kernel | p. 221 |
Introduction | p. 221 |
User Mode versus Kernel Mode | p. 222 |
The Process Scheduler | p. 226 |
Understanding Devices and Device Drivers | p. 257 |
The I/O Scheduler | p. 282 |
Memory Management in User Space | p. 286 |
Summary | p. 315 |
Understanding Processes | p. 317 |
Introduction | p. 317 |
Where Processes Come From | p. 317 |
The exec Functions | p. 320 |
Process Synchronization with wait | p. 327 |
The Process Footprint | p. 329 |
Setting Process Limits | p. 340 |
Processes and procfs | p. 343 |
Tools for Managing Processes | p. 346 |
Summary | p. 355 |
Communication between Processes | p. 357 |
Introduction | p. 357 |
IPC Using Plain Files | p. 358 |
Shared Memory | p. 363 |
Signals | p. 370 |
Pipes | p. 381 |
Sockets | p. 382 |
Message Queues | p. 393 |
Semaphores | p. 402 |
Summary | p. 412 |
Debugging IPC with Shell Commands | p. 415 |
Introduction | p. 415 |
Tools for Working with Open Files | p. 415 |
Dumping Data from a File | p. 420 |
Shell Tools for System V IPC | p. 426 |
Tools for Working with POSIX IPC | p. 431 |
Tools for Working with Signals | p. 434 |
Tools for Working with Pipes and Sockets | p. 437 |
Using Inodes to Identify Files and IPC Objects | p. 440 |
Summary | p. 442 |
Performance Tuning | p. 445 |
Introduction | p. 445 |
System Performance | p. 445 |
Application Performance | p. 475 |
Multiprocessor Performance | p. 501 |
Summary | p. 509 |
Debugging | p. 513 |
Introduction | p. 513 |
The Most Basic Debugging Tool: printf | p. 514 |
Getting Comfortable with the GNU Debugger: gdb | p. 529 |
Debugging Shared Objects | p. 561 |
Looking for Memory Issues | p. 569 |
Unconventional Techniques | p. 583 |
Summary | p. 594 |
Index | p. 597 |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.