Please consider the latest edition.
-
Chapter 1 Introduction
-
Linux Versus Other Unix-Like Kernels
-
Hardware Dependency
-
Linux Versions
-
Basic Operating System Concepts
-
An Overview of the Unix Filesystem
-
An Overview of Unix Kernels
-
-
Chapter 2 Memory Addressing
-
Memory Addresses
-
Segmentation in Hardware
-
Segmentation in Linux
-
Paging in Hardware
-
Paging in Linux
-
-
Chapter 3 Processes
-
Processes, Lightweight Processes, and Threads
-
Process Descriptor
-
Process Switch
-
Creating Processes
-
Destroying Processes
-
-
Chapter 4 Interrupts and Exceptions
-
The Role of Interrupt Signals
-
Interrupts and Exceptions
-
Nested Execution of Exception and Interrupt Handlers
-
Initializing the Interrupt Descriptor Table
-
Exception Handling
-
Interrupt Handling
-
Softirqs, Tasklets, and Bottom Halves
-
Returning from Interrupts and Exceptions
-
-
Chapter 5 Kernel Synchronization
-
Kernel Control Paths
-
When Synchronization Is Not Necessary
-
Synchronization Primitives
-
Synchronizing Accesses to Kernel Data Structures
-
Examples of Race Condition Prevention
-
-
Chapter 6 Timing Measurements
-
Hardware Clocks
-
The Linux Timekeeping Architecture
-
CPU's Time Sharing
-
Updating the Time and Date
-
Updating System Statistics
-
Software Timers
-
System Calls Related to Timing Measurements
-
-
Chapter 7 Memory Management
-
Page Frame Management
-
Memory Area Management
-
Noncontiguous Memory Area Management
-
-
Chapter 8 Process Address Space
-
The Process's Address Space
-
The Memory Descriptor
-
Memory Regions
-
Page Fault Exception Handler
-
Creating and Deleting a Process Address Space
-
Managing the Heap
-
-
Chapter 9 System Calls
-
POSIX APIs and System Calls
-
System Call Handler and Service Routines
-
Kernel Wrapper Routines
-
-
Chapter 10 Signals
-
The Role of Signals
-
Generating a Signal
-
Delivering a Signal
-
System Calls Related to Signal Handling
-
-
Chapter 11 Process Scheduling
-
Scheduling Policy
-
The Scheduling Algorithm
-
System Calls Related to Scheduling
-
-
Chapter 12 The Virtual Filesystem
-
The Role of the Virtual Filesystem (VFS)
-
VFS Data Structures
-
Filesystem Types
-
Filesystem Mounting
-
Pathname Lookup
-
Implementations of VFS System Calls
-
File Locking
-
-
Chapter 13 Managing I/O Devices
-
I/O Architecture
-
Device Files
-
Device Drivers
-
Block Device Drivers
-
Character Device Drivers
-
-
Chapter 14 Disk Caches
-
The Page Cache
-
The Buffer Cache
-
-
Chapter 15 Accessing Files
-
Reading and Writing a File
-
Memory Mapping
-
Direct I/O Transfers
-
-
Chapter 16 Swapping: Methods for Freeing Memory
-
What Is Swapping?
-
Swap Area
-
The Swap Cache
-
Transferring Swap Pages
-
Swapping Out Pages
-
Swapping in Pages
-
Reclaiming Page Frame
-
-
Chapter 17 The Ext2 and Ext3 Filesystems
-
General Characteristics of Ext2
-
Ext2 Disk Data Structures
-
Ext2 Memory Data Structures
-
Creating the Ext2 Filesystem
-
Ext2 Methods
-
Managing Ext2 Disk Space
-
The Ext3 Filesystem
-
-
Chapter 18 Networking
-
Main Networking Data Structures
-
System Calls Related to Networking
-
Sending Packets to the Network Card
-
Receiving Packets from the Network Card
-
-
Chapter 19 Process Communication
-
Pipes
-
FIFOs
-
System V IPC
-
-
Chapter 20 Program Execution
-
Executable Files
-
Executable Formats
-
Execution Domains
-
The exec Functions
-
-
Chapter 21 Bibliography
-
Books on Unix Kernels
-
Books on the Linux Kernel
-
Books on PC Architecture and Technical Manuals on Intel Microprocessors
-
Other Online Documentation Sources
-
-
Colophon
- Title:
- Understanding the Linux Kernel, Second Edition
- By:
- Daniel P. Bovet, Marco Cesati
- Publisher:
- O'Reilly Media
- Formats:
-
- Safari Books Online
- Print Release:
- December 2002
- Pages:
- 784
- Print ISBN:
- 978-0-596-00213-8
- | ISBN 10:
- 0-596-00213-0
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. Mary Brady was the production editor and copyeditor for Understanding the Linux Kernel, Second Edition. Ann Schirmer was the proofreader. Sarah Sherman and Claire Cloutier provided quality control. Judy Hoer and Genevieve d'Entremont provided production assistance. John Bickelhaupt wrote the index.
Edie Freedman designed the cover of this book, based on a series design by herself and Hanna Dyer. The cover image of a man with a bubble is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font. David Futato designed the interior layout. The chapter opening images are from the Dover Pictorial Archive, Marvels of the New West: A Vivid Portrayal of the Stupendous Marvels in the Vast Wonderland West of the Missouri River, by William Thayer (The Henry Bill Publishing Co., 1888), and The Pioneer History of America: A Popular Account of the Heroes and Adventures, by Augustus Lynch Mason, A.M. (The Jones Brothers Publishing Company, 1884). This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6.
