- ホーム
- > 洋書
- > 英文書
- > Computer / Operating Systems
Full Description
Unlock the Secrets of Linux System Programming and Take Your Coding Skills to the Next Level
Do you use Linux, but not really understand it?
Have you ever wondered how `ls -l' knows everything does?
Could you explain to a coworker why `ls' and `find' can be external commands but `cd' and `umask' must be built into the shell?
The answers to these questions, and more, are in Linux Application Programming by Example, Second Edition. Purposely avoiding Too Much Information (TMI) this book tells you exactly what you need to know--no more and no less--about the fundamental Linux system programming APIs.
Following the latest POSIX standard, author Arnold Robbins explains how the basic file, process, IPC and networking APIs work. Wherever possible, he demonstrates the use of the APIs with code drawn from real programs (V7 Unix, BSD Unix, and GNU). When not possible, the author provides small, clearly documented and annotated, standalone example programs of his own.
The author focuses on both high-level principles and "under the hood" techniques. Along the way, he carefully addresses real-world issues like performance, portability, and robustness.
Each chapter closes with exercises, ranging from coding problems to thought experiments, to help you cement your understanding of the material covered. And each chapter has been thoroughly revised and updated for this edition, and two completely new chapters have been added.
All of the code presented in the book is available for download from GitHub, so that you can compile, run, and modify the programs yourself.
Coverage includes:
Memory management
File I/O
File metadata
Processes, Users and groups
Sorting and searching
Argument parsing
Extended interfaces
Signals
Internationalization
Basic Networking
Debugging
And more! . . .
Just learning to program? Switching from Windows or macOS? Already developing with Linux but interested in exploring the system call interface further? No matter which, quickly and directly, this book will help you master the fundamentals needed to build serious Linux software.
If you're ready to leave the cocoon of high-level language programming and get closer to the metal, this book is for you!
Contents
Foreword
Preface
Part I: Files and Users
Chapter 1: Introduction
Chapter 2: Arguments, Options, and the Environment
Chapter 3: User-Level Memory Management
Chapter 4: Files and File I/O
Chapter 5: Directories and File Metadata
Chapter 6: General Library Interfaces--Part 1
Chapter 7: Putting It All Together: ls
Chapter 8: Filesystems and Directory Walks
Part II: Processes, Networking, and Internationalization
Chapter 9: Process Management and Pipes
Chapter 10: Signals
Chapter 11: Permissions and User and Group ID Numbers
Chapter 12: Resource Limits
Chapter 13: General Library Interfaces--Part 2
Chapter 14: Sockets and Basic Networking
Chapter 15: Internationalization and Localization
Chapter 16: Extended Interfaces
Part III: Debugging and Final Project
Chapter 17: Debugging
Chapter 18: A Project That Ties Everything Together
Part IV: Appendices
Appendix A: Teach Yourself Programming in Ten Years
Appendix B: Caldera Ancient UNIX License
Appendix C: GNU General Public License
Appendix D: License for the One True Awk
Appendix E: License for 4.4 BSD Code
Index