Buy this Book
Print Book $49.99 PDF $34.99 Read it Now! Print Book £30.99
Add to UK Cart
Reprint Licensing
Linux System Programming Talking Directly to the Kernel and C Library

By Robert Love
First Edition  September 2007 
Pages: 388
ISBN 10: 0-596-00958-5 | ISBN 13: 9780596009588
starstarstarstarstar (Average of 2 Customer Reviews)

Buy 2 Get 1 Free Free ShippingGuarantee

Book description

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. Written primarily for engineers looking to program (better) at the low level, this book can give any programmer an understanding of core internals that makes for better code, no matter where it appears in the stack.
Full Description

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.

Browse within this book

Cover | Table of Contents | Colophon



Featured customer reviews

Write a Review


Good book for userspace developers,  March 27 2008
Rating: StarStarStarStarStar
Submitted by Douglas Schilling Landgraf   [Respond | View]

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.


Beware!,  March 24 2008
Rating: StarStarStarStarStar
Submitted by Stephan Tiriac   [Respond | View]

Please note I do NOT own this book!

I look for this subject for some time now and I was enthusiastic when I saw the title in the list of Linux books. However reading the description of the book, words like C# or PHP brought me down at the ground level. I would have expected to read IPC, socket, thread,... These keywords are cruelly missing from the content of this book. I downloaded the Chapter IV, "Advanced File I/O" and my first impression got a strong confirmation. From what I saw in this fourth chapter this book is a gathering of man pages and raw, unexplained examples from the Net. A very unfortunate and hasty tentative to fill out a hole in the Linux literature. In my opinion this book will rather confuse the reader than enlighten.

If you want a good book about the System Programming buy rather the second edition of "Advanced UNIX Programming" written by Marc J. Rochkind and published by Addison-Wesley (sorry O'Reilly). It is not targeted at Linux but Linux is UNIX and the book covers well 99% of Linux System Programming.

Read all reviews


See larger cover