This comprehensive, Linux-focused introduction to system programming teaches how to write code for Linux and Unix – among the world’ s most widely used operating systems.
Linux and Unix are essentially two takes on the same operating system, with Linux serving as the free, open-source version.
This book is an introduction to Unix system programming with an emphasis on Linux. While it mostly focuses on the kernel’ s application programming interface, it also guides the inexperienced Linux user through the use of the bash shell and the most useful Unix tools, and it presents the underlying structure of the Linux kernel. The programming is entirely in C.
The author’ s friendly, conversational style reflects his more than 40 years of experience teaching this material. Numerous diagrams included in each chapter illustrate and simplify key concepts, while hands-on exercises help to cement lessons that build on one another through the book.
Prior programming experience, preferably in C or C++, is helpful but not required. No knowledge of Linux or Unix is necessary, but readers will need access to a Linux system.
Inhaltsverzeichnis
Acknowledgments
Preface
Introduction
Chapter 1: Core Concepts
Chapter 2: Fundamentals of System Programming
Chapter 3: Times, Dates, and Locales
Chapter 4: Basic Concepts of File I/O
Chapter 5: File I/O and Login Accounting
Chapter 6: Overview of Filesystems and Files
Chapter 7: The Directory Hierarchy
Chapter 8: Introduction to Signals
Chapter 9: Timers and Sleep Functions
Chapter 10: Process Fundamentals
Chapter 11: Process Creation and Termination
Chapter 12: Introduction to Interprocess Communication
Chapter 13: Pipes and FIFOs
Chapter 14: Client-Server Applications and Daemons
Chapter 15: Introduction to Threads
Chapter 16: Thread Synchronizations
Chapter 17: Alternative Methods of I/O
Chapter 18: Terminals and Terminal I/O
Chapter 19: Interactive Programming and the NCurses Library
Appendix A: Creating Libraries
Appendix B: Unicode and UTF-8
Appendix C: Date and Time Format Specifiers
Bibliography