- Paperback: 392 pages
- Publisher: O'Reilly Media; 1 edition (September 28, 2007)
- Language: English
- ISBN-10: 0596009585
- ISBN-13: 978-0596009588
- Product Dimensions: 7 x 1 x 9.2 inches
- Shipping Weight: 1.5 pounds
- Average Customer Review: 10 customer reviews
- Amazon Best Sellers Rank: #2,167,965 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Linux System Programming: Talking Directly to the Kernel and C Library 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
Customers who viewed this item also viewed
Customers who bought this item also bought
SYSTEM AND LIBRARY CALLS EVERY PROGRAMMER NEEDS TO KNOW
About the Author
Robert Love has been a Linux user and hacker since the early days. Heis active in, and passionate about, both the Linux kernel and GNOMEdesktop communities. His recent contributions to the Linux kernelinclude work on the kernel event layer and inotify. GNOME-relatedcontributions include Beagle, GNOME Volume Manager, NetworkManager,and Project Utopia. Currently Robert works in the Open Source ProgramOffice at Google.
As an author, Robert is responsible for Linux Kernel Development(SAMS), now in its second edition, and Linux System Programming(O'Reilly). He is also a coauthor of the fifth edition of O'Reilly'sLinux in a Nutshell. He's a Contributing Editor for Linux Journal, haswritten numerous articles, and has been invited to speak around theworld on Linux.
Robert graduated from the University of Florida with a B.A. inMathematics and a B.S. in Computer Science. Hailing from SouthFlorida, he currently calls Boston home.
Showing 1-8 of 10 reviews
There was a problem filtering reviews right now. Please try again later.
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. (It has been mentioned that I should state that I had been unaware of fread_unlocked and fwrite_unlocked before the book ... see comments for more detailed discussion).
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.
I found this book very easy to read and as other reviews say it mostly just lists the calls and describes them, but it does so very clearly and explains uses for them and the pros and cons of each. For me I got the book so I understood how linux worked under-the-hood and for this, this book does a very good job. It explains how the operating system communicates with the disc, how processes are implemented and how reading and writing onto the disc is optimised for performance and efficiency. I'm only half way though but I'm finding it very insightful and getting more out of it to what I thought I would.
I strongly recommend this book for anyone who has a somewhat shallow knowledge of Linux and wants to learn more about Linux system calls and its performance tuning. It's very useful for every programmer.
Good to get some tips on how the system works an why, really good explanations for all the points exposed, isn't a "Linux Specific" book, mostly based on POSIX and when not is well distinguished, also include some peculiar calls from other OS.
However, it's fairly small and could go into more detail. For example, I would have liked a discussion of edge-triggered vs. level-triggered epoll() usage. The author mentions that edge-triggered needs a different programming style. What is it? Is it better? Regarding signal handling, the author hints at injecting signals into the event loop, but how could one do it concretely? On the subject of I/O buffering, not much is said except that standard I/O exists. But I'm here for the meat, and I want to know how to implement my own I/O buffering! Pretty much every chapter ends when the fun is about to begin.
I'm still hungry. Nevertheless, every system programmer for Linux should read this book. I hope for an expanded second edition.
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.