Understanding the Linux Kernel, 2nd Edition
Publisher: O'Reilly Media
Release Date: December 2002
Pages: 784
Read on Safari with a 10-day trial
Start your free trial now Buy on AmazonWhere’s the cart? Now you can get everything on Safari. To purchase books, visit Amazon or your favorite retailer. Questions? See our FAQ or contact customer service:
1-800-889-8969 / 707-827-7019
support@oreilly.com
- Memory management including file buffering, process swapping, and Direct memory Access (DMA)
- The Virtual Filesystem and the Second Extended Filesystem
- Process creation and scheduling
- Signals, interrupts, and the essential interfaces to device drivers
- Timing
- Synchronization in the kernel
- Interprocess Communication (IPC)
- Program execution
Table of Contents
-
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