Pages

Thursday, October 23, 2008

Understanding the Linux Kernel, Third Edition


Product Description

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.

The third edition of "Understanding the Linux Kernel" takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.

This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:

Memory management, including file buffering, process swapping, and Direct memory Access (DMA)

The Virtual Filesystem layer and the Second and Third Extended Filesystems

Process creation and scheduling

Signals, interrupts, and the essential interfaces to device drivers

Timing

Synchronization within the kernel

Interprocess Communication (IPC)

Program execution

"Understanding the Linux Kernel" will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
Product Details

* Amazon Sales Rank: #6216 in Books
* Published on: 2005-11-17
* Format: Illustrated
* Original language: English
* Number of items: 1
* Binding: Paperback
* 942 pages

Editorial Reviews

About the Author
Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, "Tor Vergata," Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural, after all that work, to write a book about what he found.

Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).
Customer Reviews

The comments needed by the Linux code5
These are the comments needed to understand Linux code, very helpful and thorough. The authors are knowledgeable, and explain the material well.

Greatly Detailed and Very Comprehensive4
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.

Good book4
I purchased this book as a complimentary book for the regular OS text books, so far the coverage is very good and helpful.