作者:Robert Love
出版日期:September 2007
出版社:O'Reilly
页数:388
ISBN:ISBN 10: 0-596-00958-5 | ISBN 13: 9780596009588
文件格式:PDF
This book is about writing software that makes the most effectiveuse of the system you’re running on — code that interfaces directlywith the kernel and core system libraries, including the shell, texteditor, compiler, debugger, core utilities, and system daemons. Themajority of both Unix and Linux code is still written at the systemlevel, and Linux System Programming focuses on everythingabove the kernel, where applications such as Apache, bash, cp, vim,Emacs, gcc, gdb, glibc, ls, mv, and X exist.
Written primarily for engineers looking to program (better) at thelow level, this book is an ideal teaching tool for any programmer. Evenwith the trend toward high-level development, either through websoftware (such as PHP) or managed code (C#), someone still has to writethe PHP interpreter and the C# virtual machine. Linux System Programminggives you an understanding of core internals that makes for bettercode, no matter where it appears in the stack. Debugging high-levelcode often requires you to understand the system calls and kernelbehavior of your operating system, too.
Key topics include:
An overview of Linux, the kernel, the C library, and the C compilerReading from and writing to files, along with other basic file I/Ooperations, including how the Linux kernel implements and manages fileI/OBuffer size management, including the Standard I/O libraryAdvanced I/O interfaces, memory mappings, and optimization techniquesThe family of system calls for basic process managementAdvanced process management, including real-time processesFile and directories-creating, moving, copying, deleting, and managing themMemory management — interfaces for allocating memory, managing the memory you have, and optimizing your memory accessSignals and their role on a Unix system, plus basic and advanced signal interfacesTime, sleeping, and clock management, starting with the basics and continuing through POSIX clocks and high resolution timersWith Linux System Programming, you will be able to take anin-depth look at Linux from both a theoretical and an appliedperspective as you cover a wide range of programming topics.