3740 / 0
БончБруевич,
Комментарии (нет)
This book is about writing software that makes the most effective use
of the system you're running on -- code that interfaces directly with
the kernel and core system libraries, including the shell, text editor,
compiler, debugger, core utilities, and system daemons. The majority of
both Unix and Linux code is still written at the system level, and
Linux System Programming focuses on everything above 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 the low level, this book is an ideal teaching tool for any
programmer. Even with the trend toward high-level development, either
through web software (such as PHP) or managed code (C#), someone still
has to write the PHP interpreter and the C# virtual machine. Linux
System Programming gives you an understanding of core internals that
makes for better code, no matter where it appears in the stack.
Debugging high-level code often requires you to understand the system
calls and kernel behavior of your operating system, too. Key topics
include: An overview of Linux, the kernel, the C library, and the C
compiler Reading from and writing to files, along with other basic file
I/O operations, including how the Linux kernel implements and manages
file I/O Buffer size management, including the Standard I/O library
Advanced I/O interfaces, memory mappings, and optimization techniques
The family of system calls for basic process management Advanced
process management, including real-time processes File and
directories-creating, moving, copying, deleting, and managing them
Memory management -- interfaces for allocating memory, managingthe
memory you have, and optimizing your memory access Signals and their
role on a Unix system, plus basic and advanced signal interfaces Time,
sleeping, and clock management, starting with the basics and continuing
through POSIX clocks and high resolution timers With Linux System
Programming, you will be able to take an in-depth look at Linux from
both a theoretical and an applied perspective as you cover a wide range
of programming topics.