Linux Kernel Development (3e)

 

Author: Robert Love
Publisher: Addison Wesley, 2010
Pages: 480
ISBN: 978-0672329463
Aimed at: Developers interested in the Linux OS
Rating: 4.5
Pros: Good introduction to Linux in general
Cons: Misleading title
Reviewed by: Harry Fairhead

The first question to ask is why would you be interested in the Linux Kernel?

Most programmers are happy developing applications that make use of the Kernel and really don't want to meddle with its inner workings.

Part of the answer, and it's a big part, is simple curiosity. Knowing how an operating system works is a great eye opener to the world of systems programming and there are lots of ideas that have a more general applicability.

There are three other possibilities for why you might want to read this book. One is if you are taking or teaching an operating systems course, the second is that you are developing device drivers and need a background and the other is if you actually want to do some Kernel development. My guess is that this last reason is in the minority and most readers are either just curious or involved in a course.

Banner

This is a beginner's book in the sense that it really does start from the beginning and explain features of the Kernel as it goes along. By the end of Chapter 2 we have learned the history of Linux and looked at various development issues to the point were I was really wanting to get started on finding out.

The trouble is that the next two chapters describes process management and scheduling- there is some code but it is explanatory code. The point is that you don't actually get to develop any part of the Linux Kernel as part of the book.

Nowhere is there a section that says let's modify the scheduler or tinker with the filing system.  This might be a bit ambitious but it is a reasonable assumption that a book called "Linux Kernel Development" might actually have some examples of development rather than just explanations and expository code.

The book continues on this way covering the standard topics - system calls, data structures, interrupts, synchronisation, timers, memory management, file systems, block I/O, address space, page cache, devices and modules, debugging and portability. All good stuff but still theory anchored in Linux-based examples.

You could take this theory and take it up to the next level and start to modify the Linux Kernel but this would take a lot of time and effort to even find the code you needed to modify.
Similarly the book talks its way around device drivers and where they fit in but it doesn't give you an example of actually creating or even modifying one. As a result the book is good for background reading for anyone interested in device drivers but you will need another one to get you started.

Don't misunderstand the criticisms - this is a really good book and one that I'm pleased to have on my bookshelf. It would make a really good part of any course on practical operating systems and system programming in general. It  is also full of lots of helpful background information, historical wisdom and general knowledge - it also happens to be good fun to read if you are interested in the subject. You will however need some help in actually getting to grips with the Kernel - it's another step on the road.

Even so - highly recommended.

Banner


Learning PHP Design Patterns

Author: William Sanders
Publisher: O'Reilly
Pages: 362
ISBN: 978-1449344917
Audience: PHP programmers
Rating: 2
Reviewer: Alex Armstrong

PHP design patterns? Sounds just what you need to build an enterprise standard website. Does this book succeed in educating you? 



Software Project Secrets

Author: George Stepanek
Publisher: Apress, 2012
Pages: 166
ISBN: 978-1430251019
Aimed at: programmers wanting to find out about agile methodology
Rating: 3
Reviewed by: Kay Ewbank

Subtitled Why Software Projects Fail, this book provides an introduction to agile methodology.


More Reviews

Last Updated ( Monday, 17 March 2014 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.