|
Understanding the Linux Kernel 3rd Edition
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.
Introduction
Memory adressing
Processes
Interrupts & exceptions
Kernel synchronization
Timing measurements
Process printing
Memory management
Process address space
System calls
Signals
The virtual filesystem
I/O architecture & device drivers
Block device drivers
The page cache
Accessing files
Page frame reclaiming
The Ext2 & Ext3 filesystems
Process communication
Program execution
|