Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 


or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $10.14 Gift Card
Trade in
Kindle Edition
Read instantly on your iPad, PC, Mac, Android tablet or Kindle Fire
Buy Price: $27.49
Rent From: $11.74
 
 
 
More Buying Choices
Have one to sell? Sell yours here

Understanding the Linux Kernel, Third Edition [Paperback]

Daniel P. Bovet , Marco Cesati
4.3 out of 5 stars  See all reviews (46 customer reviews)

Buy New
$33.31 & FREE Shipping on orders over $35. Details
Rent
$20.75
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Want it Monday, July 14? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
 
Kindle Edition
Rent from
$27.49
$11.74
 
Paperback $33.31  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

November 2005 0596005652 978-0596005658 3

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.

The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.

This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:

  • Memory management, including file buffering, process swapping, and Direct memory Access (DMA)
  • The Virtual Filesystem layer and the Second and Third Extended Filesystems
  • Process creation and scheduling
  • Signals, interrupts, and the essential interfaces to device drivers
  • Timing
  • Synchronization within the kernel
  • Interprocess Communication (IPC)
  • Program execution

Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.


Frequently Bought Together

Understanding the Linux Kernel, Third Edition + Linux Device Drivers, 3rd Edition + Linux Kernel Development (3rd Edition)
Price for all three: $95.58

Buy the selected items together


Editorial Reviews

About the Author

Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, "Tor Vergata," Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural, after all that work, to write a book about what he found.

Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).


Product Details

  • Paperback: 944 pages
  • Publisher: O'Reilly Media; 3 edition (November 2005)
  • Language: English
  • ISBN-10: 0596005652
  • ISBN-13: 978-0596005658
  • Product Dimensions: 9.2 x 7 x 1.8 inches
  • Shipping Weight: 3.3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (46 customer reviews)
  • Amazon Best Sellers Rank: #48,347 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
86 of 90 people found the following review helpful
Format:Paperback
This book deserves three stars for the following reasons:

The three stars come from:

1.) The book does walk you through from the higher level kernel
functions all the way to what happens to x86 register set
during a process switch ( ....these details constitute the
'soul' of an OS IMHO ). So you can gain some insight in how
the 'naked' iron ( x86 ) is made into a higher level
LINUX virtual machine ( using Tannenbaum's analogy ).

2.) The book contains a tremendous wealth of information, far
more than most of the other few and far between titles
on the subject

3.) The book covers the aforementioned info in far more detail
than most of the other few and far between titles on the
subject

The remaining two stars were not given because:

4.) The information in the book is organized in _the_
most haphazard and unorganized way possible....scattered
all over the place with lot's of cross-references.

5.) There is a lack of effort ( or perhaps ability ? ) on the
part of the authors to properly explain things.
The information is presented more akin to a 'core -dump'
of their brains. It's like "here are the facts folks....
...you work it out on your own".
Complex relationships and concepts are explained without
the use of any didactics whatsoever. Each chapter is mostly
just a statement of facts following one after the other
..."here is 'struct task_struct'.. it has member 'sighand'
..." e.t.c.

Sure I worked my way through a lot of the information and `grepped`
a lot of source code and found a lot of additional detail and
info regarding the kernel all by myself..(.
Read more ›
Was this review helpful to you?
47 of 49 people found the following review helpful
5.0 out of 5 stars Excellent, but not for beginners August 2, 2006
Format:Paperback
Understanding the Linux Kernel is an excellent guide for those who have some experience using Linux, and would like to know what's going on under the hood. It's a comprehensive guide that not only describes how Linux boots and initializes itself, and how programs call functions inside the kernel, but actually goes down to the murky depths of interrupts, process switching, inter-process communication, and even memory management down to the level of the 80x86 processor instructions, registers and features (actually if you add it all up, memory management takes up most of the book -- a good thing!). Furthermore there are chapters about essentials such as file systems and device drivers.

The book specifically and explicitly focuses only on the 80x86 PC architecture so if you're interested in Linux on different platforms or if you're looking for a generic Linux kernel book, this one's not for you. Also, if you're just starting out with Linux (whether it be as user, programmer or administrator), there's a lot of information in here that you don't really need to know.

An important part of the kernel that's missing from the book is how networking is implemented. This is understandable, because it would probably require another 900+ pages (that's how thick this one is) to cover in as much detail as what the book DOES cover.

All in all, as an intermediate Linux administrator/user and a novice Linux programmer, I thought this was an excellent addition to my collection, even though I skipped some of the truely low-level parts where the authors go into Pentium registers and stuff like that. The fact that "80x86" is consistently printed as "80 × 86" (notice the multiplication character replacing the letter "x") was not enough of a nuisance to take away any of the 5 stars that I'm giving this one.
Comment | 
Was this review helpful to you?
59 of 64 people found the following review helpful
Format:Paperback|Verified Purchase
The book "Undestanding the Linux Kernel",

explains clearly the inner workings of the

current 2.6 Linux kernel.

The presentation is at a considerable level of detail,

the authors fully describe the important data structures,

and the significant chunks of code.

The book is indispensable to any serious

Linux kernel developer.

However, it can be used also at the context

of an "Operating Systems Design" academic course

and the students can learn a lot from the

technologically advanced Linux 2.6 kernel implementation

and can modify/recompile and install their own version!

The level of the book is advanced and I recommend

concurrently with it, the reader to study also the

book:

"Linux kernel development" by Robert Love

that presents the algorithms also very clearly,

but with a more academic view,

without zooming to all the implementation concerns.

I own both books and by studing them, I can have

the significant experience of customizing the source code

of the superior Linux 2.6 kernel.
Comment | 
Was this review helpful to you?
19 of 20 people found the following review helpful
5.0 out of 5 stars A Valuable Resource November 30, 2005
Format:Paperback
The third edition of this valuable resource incorporates descriptions of the latest changes in the 2.6 Linux kernel series. There is simply nothing else out there resembling this work in either depth or breadth, and as such every developer active in Linux kernel work (or trying to understand how it all fits together) needs to have this book.

While there are a few other books out there that describe the Linux kernel on a conceptual level (a very few of which have quality), there is really nothing (recently) that examines the actual code at this level of detail (each edition keeps getting fatter.)

As academics the authors are interested in presenting a complete snapshot of the Linux kernel, and unravelling how it works. This is unlike in method (but complementary to) the engineer's approach of its excellent companion book from O'Reilly, Linux Device Drivers, by Corbet, Rubini and Kroah-Hartmann. They also focus more on the x86 architecture in order to be definite. Because of its focus on being an entire picture, understanding this book doesn't require extensive pre-knowledge of the Linux kernel, only a good general grasp of principles.

I have used the earlier editions as companion textbooks for classes on the Linux kernel, and intend on using this edition in the same fashion. Don't miss out on this unique book.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Just what I needed.
Call me old fashioned, but I want nuts and bolts. It is hard to troubleshoot when you have to use a GUI.
Published 2 months ago by Bernd J. Ross
5.0 out of 5 stars one of the best unix/linux kernel books
There are lots of good unix kernel books such as those written by Maurice J. Bach or Marshall Kirk McKusick. Read more
Published 3 months ago by B. Yuan
1.0 out of 5 stars unable to access book on any device
might be a good book, I have no way knowing, even though I paid for an electronic copy.my regular password was not accepted on the fire.
Published 5 months ago by Bob the Builder
4.0 out of 5 stars Excellent book for those wanting a deeper understanding of Linux
This is a great book for learning the Linux kernel. I've only read the first few chapters, but I've already learned so much. Read more
Published 7 months ago by MacGruber
2.0 out of 5 stars Hard to read and understand
This book is not well organized and do not explains the basic to understand what are they saying. I do not recommend this book, not even to an advanced Linux developer and... Read more
Published 8 months ago by Pablo
5.0 out of 5 stars Builds a solid linux kernel internals knowledge fundament
The most helpful linux kernel book for kernel software engineer.
It doesn't cover all recent 3.x kernels stuff, but it contains deep info on fundamental parts. Read more
Published 10 months ago by Anatoly
4.0 out of 5 stars In need of updating, but a fantastic tour through the kernel
Insanely in depth, and very much a "must read" for folks who are trying to understand what's going on underneath the hood of their Linux system. Read more
Published 11 months ago by Corey Quinn
4.0 out of 5 stars So far so good!
Still reading this, but the overview is great, and the file system descriptions/chapter look pretty good too. Read more
Published 16 months ago by Jeffrey L Goode
5.0 out of 5 stars Used book - like new
Well since it said it is a used book, i didn't expect much. But it turned out to be brand new. So, no complaints.
Published 17 months ago by Tarun
5.0 out of 5 stars Understanding the Linux kernel 3rd Edition.
A great book. A new subject to be explained is build in a smart way and in a bottom-up approach which make it easy to understand and organize the new subject in your head.
Published on March 25, 2012 by rany
Search Customer Reviews
Search these reviews only

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



Look for Similar Items by Category