Linux Kernel Architecture

(Jacob Rumans) #1
Mauerer flast.tex V2 - 09/05/2008 12:08pm Page xxix

Introduction


What This Book Covers


This book discusses the concepts, structure, and implementation of the Linux kernel. In particular, the
individual chapters cover the following topics:

❑ Chapter 1provides an overview of the Linux kernel and describes the big picture that is investi-
gated more closely in the following chapters.
❑ Chapter 2talks about the basics of multitasking, scheduling, and process management, and
investigates how these fundamental techniques and abstractions are implemented.
❑ Chapter 3discusses how physical memory is managed. Both the interaction with hardware and
the in-kernel distribution of RAM via the buddy system and the slab allocator are covered.
❑ Chapter 4proceeds to describe how userland processes experience virtual memory, and the
comprehensive data structures and actions required from the kernel to implement this view.
❑ Chapter 5introduces the mechanisms required to ensure proper operation of the kernel on
multiprocessor systems. Additionally, it covers the related question of how processes can com-
municate with each other.
❑ Chapter 6walks you through the means for writing device drivers that are required to add sup-
port for new hardware to the kernel.
❑ Chapter 7explains how modules allow for dynamically adding new functionality to the kernel.
❑ Chapter 8discusses the virtual filesystem, a generic layer of the kernel that allows for supporting
a wide range of different filesystems, both physical and virtual.
❑ Chapter 9describes the extended filesystem family, that is, the Ext2 and Ext3 filesystems that are
the standard workhorses of many Linux installations.
❑ Chapter 10goes on to discuss procfs and sysfs, two filesystems that are not designed to store
information, but to present meta-information about the kernel to userland. Additionally, a num-
ber of means to ease writing filesystems are presented.
❑ Chapter 11shows how extended attributes and access control lists that can help to improve sys-
tem security are implemented.
❑ Chapter 12discusses the networking implementation of the kernel, with a specific focus on IPv4,
TCP, UDP, and netfilter.
❑ Chapter 13introduces how systems calls that are the standard way to request a kernel action
from userland are implemented.
❑ Chapter 14analyzes how kernel activities are triggered with interrupts, and presents means of
deferring work to a later point in time.
❑ Chapter 15shows how the kernel handles all time-related requirements, both with low and high
resolution.
❑ Chapter 16talks about speeding up kernel operations with the help of the page and buffer
caches.
❑ Chapter 17discusses how cached data in memory are synchronized with their sources on persis-
tent storage devices.
❑ Chapter 18introduces how page reclaim and swapping work.

xxix

Free download pdf