The following book reviews are the copyright of their respective authors and no part should be reproduced without the express permission of the author. Publishers and Authors of the books reviewed may reproduce the whole or extracts of a review for their book. To request copyright permission please email firstname.lastname@example.org.
All the reviews herein are the opinions of the reviewer and are not necessarily the views of Birmingham Perl Mongers and its members. If you feel a review or comment has been made in error, please contact email@example.com to rectify the situation.
Static Link: http://birmingham.pm.org/reviews/24
|Title:||Linux Kernel Development|
Linux Kernel Development's subtitle is "a practical guide to the design and implementation of the Linux kernel" and that's a good description of the book. It gives an overview of the key areas of the Linux 2.6 kernel: process management, scheduling, interrupt handlers, synchronisation (locks, etc.), time, memory management, files and filesystems, memory mappings.
I would say prerequisites for understanding this book are basic computer science concepts: some knowledge of how processors work - caches, logical vs. physical memory, what a page fault is, etc; processes vs. threads. The author does explain concepts such as interrupts, but an awareness of these things will allow the reader to concentrate on the kernel itself. Some familiarity with C may also help.
The author's knowledge, passion and excitement about the kernel show greatly and make this an enjoyable, easy-to-follow and compelling read. (I have to admit that I've been wanting to get into kernel programming for some time and follow Kernel Traffic and KernelTrap avidly. So maybe I'm biased.)
Some of the algorithms are quite heavy going (e.g.: for scheduling). In most cases the author gives a detailed explanation, takes a step back, then provides a short re-explanation - I found this to be very helpful.
It's not the kind of book that you can pick up and start reading at any point. The various chapters on subsystems of the kernel are grouped, so it's possible to, say, start at the time chapter or the interrupt handling chapter or read just about memory management.
I was glad to finally read an explanation of what the slab memory allocator is and how it works. (I guess I could have looked at the source before, if I really wanted to know.) I found the section on locking interesting: there are many types of locking available in the kernel (especially in 2.6) and the pros and cons of each were well explained.
The book is about the Linux 2.6 kernel, but it does mention the old ways of doing things in Linux 2.4 and the reasons for the new ways. I found this in itself quite interesting.
I learnt a lot from reading this book and I'm very glad that I read it. I've already applied some of the knowledge in my normal application development on Linux at work. I've always found knowing what happens at lower-levels helps at the level I'm programming.
I do have a couple of criticisms of the book:
If you're looking to do some kernel hacking or just interested in how the Linux kernel works, then I'd recommend reading this book. But you won't become a kernel programmer just by reading this book. After reading this book I started working on a filesystem and found it hard going! But after reading this book, I feel like I have a firm foundation.
Richard Dawe 2004-01-31
We are one of the UK's largest Perl user groups, representing Birmingham UK to the international Perl community since 2000. We hold monthly social and technical presentations, and several of our members are now regular attendees and speakers at the YAPC::Europe Perl Conferences.
For further information about Birmingham.pm, please read our Frequently Asked Questions page.
For details about joining our mailing list, please Click Here for more details.
Ads provide by
The Perl Community AdServer
1 Oct - Brum.pm Technical
8 Oct - Brum.pm Social
12 Nov - Brum.pm Social
3 Dec - Brum.pm Technical
10 Dec - Brum.pm Social
Download the Birmingham.pm ICalendar
or subscribe to our Google Calendar
Aberdeen Perl Mongers
Bath Perl Mongers
Birmingham Perl Mongers
Bristol Perl Mongers
Devon & Cornwall Perl Mongers
Edinburgh Perl Mongers
Glasgow Perl Mongers
London Perl Mongers
Milton Keynes Perl Mongers
North of England Perl Mongers
Nottingham Perl Mongers
Southampton Perl Mongers
Thames Valley Perl Mongers
• Linux System Programming
• Mastering Perl
• GIMP 2 for Photographers
• Minimal Perl
• Wicked Cool Perl Scripts
• Red Hat Linux 9 Unleashed
• IRC Hacks - 100 Industrial-Strength Tips & Tools
• eBay Hacks - 100 Industrial-Strength Tips & Tools
• Exploiting Software - How To Break Code
• Mac OS X Unleashed, 2nd Edition
* New Reviews
.. More Reviews