Shop now Learn more Shop now Shop All Amazon Fashion Shop Suki Ad Campaign Pieces Cloud Drive Photos Shop now Amazon Fire TV Shop now Halloween Pets Shop now Shop Fire Shop Kindle Voyage Listen in Prime Learn more Shop now
Linux System Programming and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £39.99
  • You Save: £13.00 (33%)
FREE Delivery in the UK.
Only 3 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Linux System Programming:... has been added to your Basket
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Linux System Programming: Talking Directly to the Kernel and C Library Paperback – 8 Jun 2013

1 customer review

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
£21.67 £22.12
£26.99 FREE Delivery in the UK. Only 3 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.

Special Offers and Product Promotions

  • Save £20 on with the aqua Classic card. Get an initial credit line of £250-£1,200 and build your credit rating. Representative 32.9% APR (variable). Subject to term and conditions. Learn more.

Frequently Bought Together

  • Linux System Programming: Talking Directly to the Kernel and C Library
  • +
  • Linux Kernel Development (Developer's Library)
  • +
  • Understanding the Linux Kernel
Total price: £90.67
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet and computer.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your e-mail address or mobile phone number.

Product details

  • Paperback: 456 pages
  • Publisher: O'Reilly Media; 2 edition (8 Jun. 2013)
  • Language: English
  • ISBN-10: 1449339530
  • ISBN-13: 978-1449339531
  • Product Dimensions: 17.8 x 2.8 x 23.3 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 300,432 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Book Description

Talking Directly to the Kernel and C Library

About the Author

Robert Love has been a Linux user and hacker since the early days. He is active in--and passionate about--the Linux kernel and GNOME desktop communities. His recent contributions to the Linux kernel include work on the kernel event layer and inotify. GNOME-related contributions include Beagle, GNOME Volume Manager, NetworkManager, and Project Utopia. Currently, Robert works in the Open Source Program Office at Google.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

1 of 1 people found the following review helpful By Slowjoe on 8 Dec. 2013
Format: Paperback
This highly readable book is an excellent introduction to both Linux and Linux system programming for a sysadmin or non-linux programmer. It also contains a valuable appendix on GCC extensions to the C standards.

The focus is on user-space programming in C on Linux, with extensive discussion of the underlying kernel structures. The coverage includes files/process management/IPC/threading and time measurement. There is a discussion on processor affinity and real time systems which are not covered in other books I've read. There is also a bibliography cover C programming, Linux Programming, the Linux Kernel, and Operating System design.

Topics not covered include SELINUX, network programming, and authentication - PAM could usefully have been covered. Another criticism is that the book examples have not been made available. This reduces the value of the book as a reference to the experienced linux programmer IMO.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 14 reviews
7 of 7 people found the following review helpful
enjoyable tour 6 July 2013
By Jake006 - Published on
Format: Paperback Verified Purchase
this book covers a lot of ground with an approachable narrative style.

As a casual programmer and Linux user I was surprised by how enlightening the information was just to understand how Linux works. Covers io, process and memory management, and some other details.

Probably not ideal for novices. Some knowledge of c and processor concepts is required to get the most from the text. Overall very good read I'd recommend to any links user or software developer.
5 of 5 people found the following review helpful
Decent Introduction to Linux Programming, Thin on Examples 4 Nov. 2014
By John C. - Published on
Format: Paperback Verified Purchase
Huge caveat: this book is about application programming, not internal system (kernel) development. Coming from a Windows background I bought this book thinking it would be about writing programs for the system memory space, ie drivers and kernel modifications. That is not the case. In the Linux world "system programming" means anything that makes kernel calls, i.e., uses the system interface, whereas "application programming" is writing scripts. This definition completely differs from that in the Windows/Intel world where "system programming" means writing software that operates at privilege level 0 of the CPU, i.e., anything in the system memory space (usually drivers and various OS components). So, if you are coming from a non-Linux environment be aware of that. For example, the author considers a writing "text editor" to be system programming, whereas in Windows and the MacOS text editors are considered applications and writing them is considered application programming.

This book covers all the basic calls in an introductory way. For example, the first chapter with meat in it, Chapter 2, covers "File I/O" and gives beginner level descriptions of calls like read(), seek() and select(). The main advantage of the book is that is pretty thorough in coverage, giving basic descriptions of every major system interface.

Overall the book is decent, but is completely outmatched by other similar, much better books. For example, "The Linux Programming Interface" by Kerrisk has everything in this book plus a lot more and much better examples. In particular a big failing of this book is that is has no realistic examples, just toy snippets. A much better introductory book is "Understanding UNIX/LINUX Programming: A Guide to Theory and Practice" by Bruce Molay which has extensive, realistic examples that do real stuff.

If you want to just gloss over Linux programming and get a "feel" for how it works quickly, this is decent book, but for anybody doing serious work there are better options.
8 of 9 people found the following review helpful
Short on details, but covers a lot 10 July 2013
By Mark E. Hall - Published on
Format: Paperback Verified Purchase
This book packs a lot of material into 400 pages, but is still short on details and often provides only the most basic examples. The reader is advised to have ready access to good documentation on GLIBC (such as that provided by GNU) if he/she wants to use the material in this book on a realistic project. That said, out of fairness to the author I should note that he describes such a large number of functions (and related constants, error messages, etc.) that it is not realistic for him to provide complete details and more extensive examples in a book of this length. Furthermore, he does do a good job of acquainting the reader with what's available and how it might be useful; it's up to the reader to take it from there, which is a reasonable expectation for any serious C programmer.
4 of 4 people found the following review helpful
Well Balanced 9 Jun. 2013
By Chunhyok Chong - Published on
Format: Paperback Verified Purchase
This is well balanced book which explains linux system itself and gives some code snippets.
The author has deep knowledge on linux system and relative topics which would help you broaden understading of LINUX, UNIX and BSD.
(In this book, he takes some historical comments for BSD.)

This has manuals for the system functions and many code examples.

I also recommend his another book, Linux Kernel Development (3rd Edition)

Have a good time with this system book~!
6 of 7 people found the following review helpful
Right level of detail and introduction to system programming on Linux 31 Dec. 2013
By Amit Saha - Published on
Format: Kindle Edition
I received a review copy of the book as part of the blogger review program.


This book consists of 11 chapters. The first chapter introduces you nicely to the the core topics and lays the foundation for the rest of the book. Files (including some hints on the role of the virtual file system and how they are represented in the Kernel), Input/Output (User buffered I/O, I/O scheduling, Scatter-Gather I/O), Processes (including their creation mechanisms and management), Threads (and how Linux implements them along with a treatment of the POSIX threads library), Memory (Process address space, dynamic memory allocation strategies, and how they work, memory locking) form the core of the book. The second last chapter discusses signal handling. The last chapter of the book is on time (the different types of time, how you can get/set time, measure time elapsed and timers) and is sort of a “standalone” topic for the book. The first appendix discusses the GCC extensions to the C language and can be handy when you read the Kernel source code.


In this book, the author discusses some of the most important topics that one would want to learn about when venturing into the area of “system programming” on Linux. He introduces the topics in a friendly manner adding some fun anecdotes from time to time (what does the “c” in calloc() stand for?).At various places, the reader is given a peek under the hood (for example, pause() is one of the simplest system calls implemented) which can only make the curious reader happy and itchy to download the kernel source code and start grepping. The book includes code examples throughout and hence if you are learning a topic for the first time, these are very useful starting points.


System programming on Linux is an area encompassing number of related topics most of which can fill up whole books on their own. I also could not help comparing this book with “The Linux Programming Interface” by Michael Kerrisk (a book which I own already). Should you buy this book if you already own the latter? Yes, you should. While not being “encyclopedic” and not covering topics such as socket programming at all, Robert Love’s “Linux System Programming” has the right level of treatment and detail for the reader interested in system programming.
Were these reviews helpful? Let us know