Linux Kernel Internals

December 1st, 1996 by Phil Hughes in

The translation job is excellent and the content of the book fulfills expectations based on the book title.
Your rating: None

Authors: Beck, Böhme, Dziadzka, Kunitz, Magnus, Verworner

Publisher: Addison-Wesley

ISBN: 0-201-87741-4

Price: $45.14 (includes CD)

Reviewer: Phil Hughes

Linux Kernel Internals is an English translation of a book originally written in German and published in early 1994. I was immediately concerned since I have read literal translations from German to English that were very hard to understand.

Fortunately, my fears were unfounded. The translation job is excellent and the content of the book fulfills expectations based on the book title.

If you intend to write kernel code, or a kernel module, or just want to know how the kernel of a Linux system works, this book is an excellent source of information. Also, if you want to know how to build a kernel and understand what you are doing, understand file systems, networking, or even just how a system boots, this book will answer your questions.

As I was reading the book to write this review, I found myself slowing down to carefully understand all the Linux kernel structures. The information is there, and by reading the book cover to cover, you will learn all about the kernel.

On the other hand, if you just want to know about some specific feature—like how timer interrupts work or how to debug a kernel module—that information is included as well, and presented in an easy-to-find, easy-to-understand fashion. But, not too easy. That is, if you don't know C, you are not going to understand most of the book. The information presented is at the code level with snippets of code scattered throughout the book.

After a brief introduction covering Linux in general and compiling the kernel, the book covers important data structures, like the process table, followed by inodes, memory management and timers. Next, how signals, interrupts, booting, the scheduler and system calls work are presented. There is even a section on how to implement a new system call.

The next five chapters deal with specific pieces of the system: memory management, inter-process communication, the file system, device drivers and network implementation. This information is presented in enough detail to clarify the process and enable the reader to write compatible code. The chapter on the file system includes the proc and ext2 file systems.

The final chapter in the main part of the book is on modules, describing what modules are and how they are implemented. The text presents an example module (the PCMCIA card handler), and explains how to debug modules.

The book ends with five appendices. The first details the system calls in much the same way as Section 2 of the man pages, but the calls are sorted by area (processes, file system, etc.) rather than alphabetically. It also tells you where the file with the code to implement the function is located.

The second appendix discusses what the authors call “kernel-related commands”. These include free, ps, rdev, top, init, shutdown, strace and mount as well as network, serial and parallel interface configuration.

The third appendix discusses the proc file system. Many people don't realize how important the proc file system is. This short (ten page) chapter explains it and the important information that can be secured from it.

The final appendix explains the boot process, including the MS-DOS boot sector and partition table, and discusses LILO with an explanation of the LILO startup errors (e.g., when you just get LI and the system dies).

The final appendix presents “useful kernel functions”. This is an explanation of functions, such as printk(), available to users writing kernel code.

What's Wrong with the Book?

Very little. I think it does an excellent job of covering the material. It doesn't attempt to cover subjects outside its primary focus, and I find that a plus.

The only shortcoming I see is that it covers version 1.2 kernels, not 2.0. Of course, at this time, it would be very difficult to have a book that covers 2.0. Addison-Wesley may decide to update the book before the next printing.

Bottom line, I highly recommend this book for anyone who is serious about writing kernel code or who wants to know what is in the Linux kernel.

Phil Hughes is the publisher of Linux Journal.

__________________________

Phil Hughes


Special Magazine Offer -- 2 Free Trial Issues!
Receive 2 free trial issues of Linux Journal as well as instant online access to current and past issues. There's NO RISK and NO OBLIGATION to buy. CLICK HERE for offer

Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.

Sorry, offer available in the US only. International orders, click here.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
enigmah video mode switcher download's picture

linux

On October 2nd, 2007 enigmah video mode switcher download (not verified) says:

seeing help? What interfaces not undocumented !!! APIs are Microsoft source understood? Would / . Best regards.

enigmah video mode switcher download's picture

linux

On October 2nd, 2007 enigmah video mode switcher download (not verified) says:

seeing help? What interfaces not undocumented !!! APIs are Microsoft source understood? Would / . Best regards.

Post new comment

Please note that comments may not appear immediately, so there is no need to repost your comment.
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <i> <b>
  • Lines and paragraphs break automatically.

More information about formatting options

Featured Videos

The November 13, 2008 edition of Linux Journal Live! Shawn Powers and special guest, Linux Journal Author Daniel Bartholomew, talk e-book readers and Daniel's Kindle, DRM, and other goodness.

From the Magazine

December 2008, #176

The Oxford English Dictionary says the word "gadget" is a placeholder name for a technical item whose precise name one can't remember. Like that book-reader thingy from Amazon...what's it called? Spindle, Gindle...Kindle, that's it. Check it out in this month's gadget issue.

Other gadgets covered include the Nokia tablets, the BlackBerry, the Neo FreeRunner, the Dash Express, the Roku Netflix Player, the Kangaroo TV, The TomTom GO 930 and the MooBella Ice Cream System. On the larger hardware front, read the reviews of the Acer Aspire One and the YDL PowerStation. On the software front, check out the articles and columns on memcached, Samba security, Mutt, desktop gadgets, bash and Puppet. To wrap it all up, read Doc's thoughts on Google and the browser platform.

Read this issue

Sign up for our Email Newsletter