Linux System Programming
Talking Directly to the Kernel and C Library
Publisher: O'Reilly Media
Final Release Date: September 2007
Pages: 392

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 youhave, 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.
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews


by PowerReviews
oreillyLinux System Programming

(based on 4 reviews)

Ratings Distribution

  • 5 Stars



  • 4 Stars



  • 3 Stars



  • 2 Stars



  • 1 Stars



Reviewed by 4 customers

Sort by

Displaying reviews 1-4

Back to top


A great read

By SeanMcAdam

from Frederick, MD

About Me Developer, Sys Admin

Verified Reviewer


  • Concise
  • Easy to understand
  • Helpful examples
  • Well-written


    Best Uses

    • Expert
    • Intermediate
    • Student

    Comments about oreilly Linux System Programming:

    I quickly read though this book over a weekend. It has a smooth and comfortable flow. I have been a Unix/Linux systems programmer and administrator for over 20 years, and I found the approach in this book clear and concise. The underlying concepts were fleshed out well, and the heavy duty details were left for some of the other more in depth books out there.

    If you want a good basic understanding of how programs "talk" to the kernel this is a great book.

    (6 of 7 customers found this review helpful)


    Excellent book!

    By Anonymous

    from Undisclosed

    Comments about oreilly Linux System Programming:

    This is what I was looking for, for a long time. A succint book, not bloated and with code that does require arcane libraries to run, for me it was a godsend. Got the ebook edition, worth every penny. I was lacking in understanding of how the linux os really works under the hood and the book quenched my thirst thoroughly. It is a book definatly for beginners, so advanced users wont find that much of a challenge. For beginners its a fantastic read. Two thumbs up, quenched my thirst, looking forward to the next release!

    (9 of 10 customers found this review helpful)


    Beware of reviews by people who didn't read the book.

    By Pat

    from Undisclosed

    Comments about oreilly Linux System Programming:

    The reviewer who said 'Beware' not only didn't read the book (as he readily admits) but didn't read the description thoroughly. Here is the offending line:

    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

    This book in no way covers C# or PHP. It is strictly system level programming in C.

    (6 of 6 customers found this review helpful)


    Good book for userspace developers

    By Douglas Schilling Landgraf

    from Undisclosed

    Comments about oreilly Linux System Programming:

    I liked Robert's book.

    This is a good book (quick reference) for userland developers. I liked his approach.

    In my opinion, he could improve his book going deeper on some examples, adding sockets chapter, mix more userspace and kernelspace.

    I agree with last comment too, there are others books around this topic that could explain more in details some topics.

    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.

    Displaying reviews 1-4

    Back to top

    Buy 2 Get 1 Free Free Shipping Guarantee
    Buying Options
    Immediate Access - Go Digital what's this?