Understanding the LINUX Kernel: From I/O Ports to Process Management - Softcover

Daniel Pierre Bovet

  • 4.12 out of 5 stars
    710 ratings by Goodreads
 
9780596000028: Understanding the LINUX Kernel: From I/O Ports to Process Management

Synopsis

Linux is presented too often as a casual hacker experiment. It has increasingly become not only a mission-critical part of many organizations, but a sophisticated display of programming skill. It incorporates many advanced operating system concepts and has proven itself extremely robust and efficient for a wide range of uses. Understanding the Linux Kernel helps readers understand how Linux performs best and how it meets the challenge of different environments. The authors introduce each topic by explaining its importance, and show how kernel operations relate to the utilities that are familiar to Unix programmers and users.

"synopsis" may belong to another edition of this title.

Review

Understanding the Linux Kernel is intended to be read by those who are happy to check points off against the source code. The first thing you learn is how Linux, released from commercial constraints, is able to take advantage of the best ideas from other systems, implemented in wonderfully flexible ways. A good example is the Virtual File System (VFS), which has made it easy to add support for file systems from almost every other OS. It's fascinating to find out how such features are implemented. Then, there are loadable modules, I/O, scheduling, multitasking, multiprocessing, interrupts, spin locks, semaphores, and all of the other goodies that are involved in making a kernel work.

The authors are concerned primarily with the Linux 2.2 kernel. They discuss how Linus Torvald's decisions on kernel issues translate into architecture; for example, how the Linux memory management uses a slab allocator on top of a buddy system for greater efficiency. Similarly, at the cost of a little complexity, the decision to use three-level memory paging, when two work fine on 32-bit systems, makes it possible to port to 64-bit processors without changes. The tradeoffs between complexity and efficiency are discussed for most kernel features, and each chapter finishes with related new features in kernel 2.4.

Despite the lucid and knowledgeable writing, you'll come up against some brain-stretching complexity. Nevertheless, this book is an important addition to the Linux canon. --Steve Patient, Amazon.co.uk

About the Author

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).

"About this title" may belong to another edition of this title.