The Linux Kernel Primer is a top down, C biased, project orientated story of how the Linux kernel works. With a little knowledge of C and a rough understanding of Linux basics, this book will lead you to a clear understanding of the kernel.
Linux is commercially a very interesting product to understand. How many computers run Linux? If you count cameras, routers, DVD players etc., I would not be surprised if the number was over the 100,000,000 mark. Despite the intuitively obvious demand, you can count good books in this category on one hand. The authors Claudia Salzbeg Rodriguez, Gordon Fischer and Steven Smolski are developers with a clear wealth of experience and luckily for us all, this translates to a very readable and embracing story. Yet another fine addition to the Prentice Hall Open Source Software Development Series.
The book’s cover
My first impression of the book was “Wow! I did not know that”. Everyone has different biases and interests. Having taught C in my prehistory and enjoying kernel compilation as a sport, this book resonated with code examples and details that built on my prior knowledge. Structurally the top down project-orientated approach was highly effective and the diagrams though occasionally sparse helped gain my respect.
My first impression of the book was “Wow! I did not know that”
Kernel programming is a hard knowledge mountain to climb. With 648 accurate pages and ten solidly thought out chapters you will find yourself delightfully submerged in the necessary models and facts to bring you to the optimum velocity for starting a Kernel project, to find a path on the somewhat slippery slopes. To understand these details you will need a basic to intermediate knowledge of the C programming language and a small drop of assembly experience. From overview to processes to scheduling to adding code to the kernel, you will learn how to be functional in each problem domain mentioned. Each chapter includes a small coded project that allows you to type your way to kernel level enlightenment. It is hard to choose my favorite part of the book as it was uniformly excellent. However, if I was forced to choose I would have to say that I reread for pleasure chapter 4 memory management, especially the buddy system P194, more than a couple of times. A close second for top quality spot was chapter 7 scheduling and kernel synchronization. Now I know what the difference is between implicit and explicit kernel preemption!
I reread for pleasure chapter 4 memory management
Who’s this book for?
The Linux kernel is a daunting subject to learn for any developer new to the area. Any C programmer that needs to get kernel related programming chores done should read this book or at least a similar one first. Otherwise, the scope of new knowledge that needs to be absorbed may be overwhelming and detailed. Alternatively, if you want to learn intermediate to advance C via practical examples try here. The linked lists and datastructures have been proven at the industrial Enterprise level. I cannot imagine a more motivational trajectory then leaving a personalized mark in this well lighted temple of the free software community.
Relevance to free software
Developers, developers, developers, an agile community has a wide and deep knowledge roots based on a well skilled and open minded set of developers. This book and others like it are helpful to the health and future well being of the Linux kernel. By easing the developer from a knowledge velocity of 20kms per hour to the prerequisite 100kms, this book gets the reader to the starting post of serious coding and past the point of initial exploration.
As my father used to say, knowledge is worth more than gold. This book imparts knowledge with the relevant complexities within a very interesting subject area. A practical book with examples of core system calls. Any programmer that wishes to get their hands dirtied with kernel work will find this or similar books advantageous to read.
You should only buy this book if you have some basic knowledge of C. Without a baseline of understanding of the practical examples you can only skim read and absorb the surface details.
||The Linux® Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures
||Claudia Salzberg Rodriguez, Gordon Fischer, Steven Smolski
|Over all score