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

Cover
"O'Reilly Media, Inc.", 17.11.2005 - 944 Seiten

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.

 

Inhalt

Introduction
1
Memory Addressing
35
Processes
79
Interrupts and Exceptions
131
Kernel Synchronization
189
Timing Measurements
227
Process Scheduling
258
Memory Management
294
IO Architecture and Device Drivers
519
Block Device Drivers
560
The Page Cache
599
Accessing Files
631
Page Frame Reclaiming
676
The Ext2 and Ext3 Filesystems
738
Process Communication
775
Program Execution
808

Process Address Space
351
System Calls
398
Signals
420
The Virtual Filesystem
456
System Startup
835
Modules
842
Bibliography
852
Source Code Index
857

Andere Ausgaben - Alle anzeigen

Häufige Begriffe und Wortgruppen

Bibliografische Informationen