Understanding the Linux Kernel: From I/O Ports to Process Management

Understanding the Linux Kernel: From I/O Ports to Process Management

by Daniel P. Bovet, Marco Cesati
Understanding the Linux Kernel: From I/O Ports to Process Management

Understanding the Linux Kernel: From I/O Ports to Process Management

by Daniel P. Bovet, Marco Cesati

eBook

$44.99  $59.99 Save 25% Current price is $44.99, Original price is $59.99. You Save 25%.

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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

ISBN-13: 9780596554910
Publisher: O'Reilly Media, Incorporated
Publication date: 11/17/2005
Sold by: Barnes & Noble
Format: eBook
Pages: 944
File size: 7 MB

About the Author

Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the Universityof 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 (Universityof Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (Universityof 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).

Table of Contents

  • Preface
  • Chapter 1: Introduction
  • Chapter 2: Memory Addressing
  • Chapter 3: Processes
  • Chapter 4: Interrupts and Exceptions
  • Chapter 5: Kernel Synchronization
  • Chapter 6: Timing Measurements
  • Chapter 7: Process Scheduling
  • Chapter 8: Memory Management
  • Chapter 9: Process Address Space
  • Chapter 10: System Calls
  • Chapter 11: Signals
  • Chapter 12: The Virtual Filesystem
  • Chapter 13: I/O Architecture and Device Drivers
  • Chapter 14: Block Device Drivers
  • Chapter 15: The Page Cache
  • Chapter 16: Accessing Files
  • Chapter 17: Page Frame Reclaiming
  • Chapter 18: The Ext2 and Ext3 Filesystems
  • Chapter 19: Process Communication
  • Chapter 20: Program ExZecution
  • Appendix A: System Startup
  • Appendix B: Modules
  • Bibliography
  • Colophon
From the B&N Reads Blog

Customer Reviews