| Overview
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, managing
the 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.
Editorial ReviewsProduct DescriptionThis 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. |
Other Readers Also Read | Top Sellers in This Category | Browse Similar Topics | | | Top Level Categories:Sub-Categories: | | | |
Reader Reviews From Amazon (Ranked by 'Helpfulness') Average Customer Rating: based on 6 reviews. The book truly is for all developers, 2008-05-16 Reviewer rating: I have been programming C/C++ professionally since 1986 and was surprised at how much I've learned in the first few chapters.
One of the programs that I've been working on is an I/O intensive conversion from a legacy platform to Linux. The original code took about 8 minutes per gigabyte of data to process. I had worked and squeezed every trick I could think of and got the application down to 10 seconds per gigabyte. From what I learned in just the first few chapters, I was able to knock an additional 3% off the application performance.
When I finish the book, I fully intend on passing it over to one of our junior members so that they can benefit from it. | Not worth money, 2008-04-13 Reviewer rating: If you expect the quality of the author's other books from this book, you'll be disappointed. It just lists system calls and their descriptions that you can find from man pages without any serious examples. It doesn't provide any insight or thorough coverage you can find from other books such as Steven's book (Advance Programmng in Unix environment).
From the book title, I expected the author's insight over interface between user space program and kernel but it just looks like that it copied man pages in some order. If you want to learn sysetm programming in Linux environment, look for other books, seriously. | Easy to read-Your first step into system programming, 2007-12-20 Reviewer rating: Up-side
Its a very easily readable book.
Unlike other heavy weight books on system programming in this book code is very simple. All the codes are on one place no extra header files.
So if you are new to system-kernel programming, like my self, this is the book for you.
I did have problem reading kernel development books("Linux device driver" Linux kernel Programming). But after reading this book so many things are in perspective now. I cold do advance study in kernel development.
Down Side.
Some light/sweet projects could have made this book the best.
Some socket programming examples would be nice.
| a disappointment, 2007-12-18 Reviewer rating: nothing really useful in this book, too shallow to do anything with it, i like his other books though, but this one certainly is not good, if at all. | a book full of hints, but seldom tells you how to actually do it, 2007-11-22 Reviewer rating: I have to agree completely with the previous reviewer that this book lacks meat. In this book, after discussing each issue, the author typically hints that there exists a solution, but does not tell you exactly how to implement the solution. The book is sprinkled with snippets of code that are almost always incomplete, and very rarely explained.
In the Bibliography section, the author did not include two of the most important books that cover related material: 1. "Advanced Programming in the UNIX Environment," by W. Richard Stevens, and 2. "Programming with POSIX Threads," by David R. Butenhof. Perhaps the author did not want readers to compare his book to these two books, because in these two books, every important concept is illustrated with program code examples that are fully compilable, fully working, and fully explained!
The author could make a very significant contribution if only he could follow the examples of the above two books. |
Some information above was provided using data from Amazon.com. View at Amazon > |
| |
|
|