My Account
View Cart
Home
Community
Books & Videos
Safari Books Online
Conferences
Training
School of Technology
About
Complete List
Bestsellers
New Releases
Rough Cuts
Upcoming Titles
Ebooks
By Publisher
By Series
Out of Print
Order Info
Search
Search Tips
Understanding the Linux Kernel
By
Daniel P. Bovet
,
Marco Cesati
October 2000
Pages: 702
|
Table of Contents
|
Index
|
Sample Chapter
|
Colophon
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
Anticipating Linux 2.4
Chapter 3
Processes
Process Descriptor
Process Switching
Creating Processes
Destroying Processes
Anticipating Linux 2.4
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
Returning from Interrupts and Exceptions
Anticipating Linux 2.4
Chapter 5
Timing Measurements
Hardware Clocks
The Timer Interrupt Handler
PIT's Interrupt Service Routine
The TIMER_BH Bottom Half Functions
System Calls Related to Timing Measurements
Anticipating Linux 2.4
Chapter 6
Memory Management
Page Frame Management
Memory Area Management
Noncontiguous Memory Area Management
Anticipating Linux 2.4
Chapter 7
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
Anticipating Linux 2.4
Chapter 8
System Calls
POSIX APIs and System Calls
System Call Handler and Service Routines
Wrapper Routines
Anticipating Linux 2.4
Chapter 9
Signals
The Role of Signals
Sending a Signal
Receiving a Signal
Real-Time Signals
System Calls Related to Signal Handling
Anticipating Linux 2.4
Chapter 10
Process Scheduling
Scheduling Policy
The Scheduling Algorithm
System Calls Related to Scheduling
Anticipating Linux 2.4
Chapter 11
Kernel Synchronization
Kernel Control Paths
Synchronization Techniques
The SMP Architecture
The Linux/SMP Kernel
Anticipating Linux 2.4
Chapter 12
The Virtual Filesystem
The Role of the VFS
VFS Data Structures
Filesystem Mounting
Pathname Lookup
Implementations of VFS System Calls
File Locking
Anticipating Linux 2.4
Chapter 13
Managing I/O Devices
I/O Architecture
Associating Files with I/O Devices
Device Drivers
Character Device Handling
Block Device Handling
Page I/O Operations
Anticipating Linux 2.4
Chapter 14
Disk Caches
The Buffer Cache
The Page Cache
Anticipating Linux 2.4
Chapter 15
Accessing Regular Files
Reading and Writing a Regular File
Memory Mapping
Anticipating Linux 2.4
Chapter 16
Swapping: Methods for Freeing Memory
What Is Swapping?
Swap Area
The Swap Cache
Transferring Swap Pages
Page Swap-Out
Page Swap-In
Freeing Page Frames
Anticipating Linux 2.4
Chapter 17
The Ext2 Filesystem
General Characteristics
Disk Data Structures
Memory Data Structures
Creating the Filesystem
Ext2 Methods
Managing Disk Space
Reading and Writing an Ext2 Regular File
Anticipating Linux 2.4
Chapter 18
Process Communication
Pipes
FIFOs
System V IPC
Anticipating Linux 2.4
Chapter 19
Program Execution
Executable Files
Executable Formats
Execution Domains
The exec-like Functions
Anticipating Linux 2.4
Appendix A
System Startup
Prehistoric Age: The BIOS
Ancient Age: The Boot Loader
Middle Ages: The setup( ) Function
Renaissance: The startup_32( ) Functions
Modern Age: The start_kernel( ) Function
Appendix B
Modules
To Be (a Module) or Not to Be?
Module Implementation
Linking and Unlinking Modules
Linking Modules on Demand
Appendix C
Source Code Structure
Bibliography
Colophon
Return to
Understanding the Linux Kernel