Industrial Deals Books Gift Guide Books Gift Guide Shop Men's Athletic Shoes Learn more nav_sap_SWP_6M_fly_beacon Adele egg_2015 All-New Amazon Fire TV Grocery Gifts Under $50 Amazon Gift Card Offer minions minions minions $30 Off Amazon Echo $15 Off All-New Fire Kindle Black Friday Deals BestoftheYear Shop Now Tikes

Format: PaperbackChange
Price:$41.37+ Free shipping with Amazon Prime
Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

117 of 121 people found the following review helpful
on July 10, 2011
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

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.... 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..(.but I am an embedded
engineer with 18 years of experience ).

The point is when I pay for a book or pay someone to present / teach
something to me, I don't expect them to dump the information and
expect me to work it out by myself....I expect them at the very least
to put some work into organizing and presenting the material in
a way that helps the student.

I don't expect to be spoon-fed and I don't mind working hard to learn
something however I believe the author / teacher should spend some
effort as well and only after having done their part is the author
entitled to tell the student:

"O.K. I've shown you the way...the rest you go and find out on
your own...put some work and effort in and make what we have presented
you "your own".

The book is therefore extremely inefficient in conveying the
information and detail it contains. It is not easy to read!
The reader is left spending a lot of time grinding along effectively
organising the information on their own. More efficient would
be to help the reader/student to learn enough to begin exploring
and creating on their own.

Just to give others an example of a well-written book on a similar
topic which

1.) Contains lot's of detail
2.) Is very complete in its coverage of topics
3.) Is well organised with an extremely useful 'Index' section
4.) Is written in a way that gets you started on the topic and
gets you involved in doing your own research

I would like to mention

The LINUX Programming Interface
by Michael Kerrisk

I read this book in about 5 weeks and understood enough to be
able to write my own proprietary protocol on top of TCP/IP
as well as a mini-server and lots of other bits and pieces with
literally no previous LINUX programming experience.

I had enough information imparted on me by the author to even
assess the feasibility of embedding my code using u-Clibc and
to make it work on an embedded board with a footprint of
a passport sized photo.

Of course I realize that M.Kerrisk's TLPI has nothing to do
with understanding the LINUX kernel but it nevertheless
serves the purpouse to demonstrate to the authors of
the reviewed title 'Understanding the LINUX Kernel'
how to present a vast and complicated topic to an audience
at a lower technical level of expertise than yourself and
help to raise their knowledge a little closer to your level
in the process.

I believe this is why most of us pay our hard earned cash
for, when buying a technical book.

Finally for those wishing recommendations on books which are
far more readable whilst also shedding insight into the
kernel's inner workings:

- Linux Kernel Development
by Robert Love ( 3rd Ed. )

- Professional LINUX Kernel Architecture
by Wolfgang Mauerer

- LINUX Device Drivers
by J. Corbet, A. Rubini and G. Kroah-Hartman

Regardless of what book you choose to work with, understand
that you still need to browse the source of the kernel
and brush up on your grepping and reg-ex skills.
Work at it and you'll get rewarded.
55 commentsWas this review helpful to you?YesNoReport abuse
49 of 51 people found the following review helpful
on August 2, 2006
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.
0CommentWas this review helpful to you?YesNoReport abuse
60 of 67 people found the following review helpful
on February 10, 2006
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


"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.
0CommentWas this review helpful to you?YesNoReport abuse
19 of 20 people found the following review helpful
on November 30, 2005
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.
0CommentWas this review helpful to you?YesNoReport abuse
8 of 8 people found the following review helpful
on September 23, 2008
I had originally intended to read this book to knock out two birds with one stone. I wanted to learn Operating System theory and specifically how it was implemented in Linux. I quickly learned, however, that I would of been much better suited if I already had a good OS theory background. But I pressed on and finally couldn't take it anymore and had to put it down and pick up Linux Kernel Development by Robert Love. I began reading Linux Kernel Development concurrently with this book and it is definitely what I would recommend for those new to OS internals.

After using both of those books I started to get a good foothold on the kernel. And Understanding the Linux Kernel quickly becomes like a good novel you can't put down. I did like how it was x86-centric because abstract is nice and all but sometimes it helps to see how things actually are done. However some might not like that. I did not like how it threw a bunch of detail at you without completely unifying everything.. But thats why I read Linux Kernel Development concurrently. All and all this book is definitely worth it for those who want to know about the Linux kernel and now as I use my GNU/Linux operating system I can't help and point out to myself whats going on under the hood.
0CommentWas this review helpful to you?YesNoReport abuse
14 of 16 people found the following review helpful
on February 12, 2006
One thing that's really missing is a nice chapter on Kernel debugging -- using some existing kernel debuggers and how they all compare, interpreting those OOPS messages -- everything that goes with kernel hacking!

This book covers VMM so comprehensively that it's really meant for those who _actually_ want to work on kernel, so a 'Kernel Hacking' chapter was a must.

Otherwise this book is just perfect - I give it 5 stars :)
0CommentWas this review helpful to you?YesNoReport abuse
7 of 7 people found the following review helpful
on August 1, 2011
It covers enough to start hacking the kernel pretty easily. Pretty wonderful.

The only reason it's not 5 stars is b/c I bought the kindle edition, where all the tables (which hold important data!) are completely mangled. Other kindle books use scans of the tables, and other ebook systems spend engineering time on making tables display well.
0CommentWas this review helpful to you?YesNoReport abuse
3 of 3 people found the following review helpful
on April 23, 2010
This is a great book and it's very dense. Be warned that although the first chapters quickly verse about some basic Operating Systems concepts, you will need more background to actually understand the underlying problems.

In my case, I learned the basics of Operating Systems and UNIX via the Andrew Tanenbaum books Operating Systems Design and Implementation (3rd Edition) and Modern Operating Systems (3rd Edition), which are very well written and provide a more historical perspective of UNIX systems designs, although there may be better options out there these days.

That said, this book is exactly what I needed: a very advanced guide into Linux internals.
0CommentWas this review helpful to you?YesNoReport abuse
16 of 22 people found the following review helpful
on December 16, 2005
Charlie Black complained (on December 2nd) that inotify was not in the index of this kernel book. Sorry, books take time to publish. inotify was not in the kernel till version 2.6.13, which was just 3 months before the book was published and available.

Linux kernel development is a moving target and it takes more than a few months to publish any book, let alone one of this magnitude.

I am just purchasing this book. I have found version 1 and 2 invaluable. The kernel is huge and the other versions have done an excelent job of covering as much as possible in one book.

If you are interested in inotify, then you can do a web search and find the introductory article written by Robert Love in LJ.
11 commentWas this review helpful to you?YesNoReport abuse
3 of 3 people found the following review helpful
on August 17, 2011
this is by far the most comprehensive book explaining linux internals.

highly recommended for everybody who wants to know what's happening under the hood!
0CommentWas this review helpful to you?YesNoReport abuse
Customers who viewed this also viewed
Linux Kernel Development (3rd Edition)
Linux Kernel Development (3rd Edition) by Robert Love (Paperback - July 2, 2010)

How Linux Works: What Every Superuser Should Know
How Linux Works: What Every Superuser Should Know by Brian Ward (Paperback - November 21, 2014)

Linux Device Drivers, 3rd Edition
Linux Device Drivers, 3rd Edition by Jonathan Corbet (Paperback - February 17, 2005)

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.