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