Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. Linux Versus Other Unix-Like Kernels

    2. Hardware Dependency

    3. Linux Versions

    4. Basic Operating System Concepts

    5. An Overview of the Unix Filesystem

    6. An Overview of Unix Kernels

  2. Chapter 2 Memory Addressing

    1. Memory Addresses

    2. Segmentation in Hardware

    3. Segmentation in Linux

    4. Paging in Hardware

    5. Paging in Linux

  3. Chapter 3 Processes

    1. Processes, Lightweight Processes, and Threads

    2. Process Descriptor

    3. Process Switch

    4. Creating Processes

    5. Destroying Processes

  4. Chapter 4 Interrupts and Exceptions

    1. The Role of Interrupt Signals

    2. Interrupts and Exceptions

    3. Nested Execution of Exception and Interrupt Handlers

    4. Initializing the Interrupt Descriptor Table

    5. Exception Handling

    6. Interrupt Handling

    7. Softirqs, Tasklets, and Bottom Halves

    8. Returning from Interrupts and Exceptions

  5. Chapter 5 Kernel Synchronization

    1. Kernel Control Paths

    2. When Synchronization Is Not Necessary

    3. Synchronization Primitives

    4. Synchronizing Accesses to Kernel Data Structures

    5. Examples of Race Condition Prevention

  6. Chapter 6 Timing Measurements

    1. Hardware Clocks

    2. The Linux Timekeeping Architecture

    3. CPU’s Time Sharing

    4. Updating the Time and Date

    5. Updating System Statistics

    6. Software Timers

    7. System Calls Related to Timing Measurements

  7. Chapter 7 Memory Management

    1. Page Frame Management

    2. Memory Area Management

    3. Noncontiguous Memory Area Management

  8. Chapter 8 Process Address Space

    1. The Process’s Address Space

    2. The Memory Descriptor

    3. Memory Regions

    4. Page Fault Exception Handler

    5. Creating and Deleting a Process Address Space

    6. Managing the Heap

  9. Chapter 9 System Calls

    1. POSIX APIs and System Calls

    2. System Call Handler and Service Routines

    3. Kernel Wrapper Routines

  10. Chapter 10 Signals

    1. The Role of Signals

    2. Generating a Signal

    3. Delivering a Signal

    4. System Calls Related to Signal Handling

  11. Chapter 11 Process Scheduling

    1. Scheduling Policy

    2. The Scheduling Algorithm

    3. System Calls Related to Scheduling

  12. Chapter 12 The Virtual Filesystem

    1. The Role of the Virtual Filesystem (VFS)

    2. VFS Data Structures

    3. Filesystem Types

    4. Filesystem Mounting

    5. Pathname Lookup

    6. Implementations of VFS System Calls

    7. File Locking

  13. Chapter 13 Managing I/O Devices

    1. I/O Architecture

    2. Device Files

    3. Device Drivers

    4. Block Device Drivers

    5. Character Device Drivers

  14. Chapter 14 Disk Caches

    1. The Page Cache

    2. The Buffer Cache

  15. Chapter 15 Accessing Files

    1. Reading and Writing a File

    2. Memory Mapping

    3. Direct I/O Transfers

  16. Chapter 16 Swapping: Methods for Freeing Memory

    1. What Is Swapping?

    2. Swap Area

    3. The Swap Cache

    4. Transferring Swap Pages

    5. Swapping Out Pages

    6. Swapping in Pages

    7. Reclaiming Page Frame

  17. Chapter 17 The Ext2 and Ext3 Filesystems

    1. General Characteristics of Ext2

    2. Ext2 Disk Data Structures

    3. Ext2 Memory Data Structures

    4. Creating the Ext2 Filesystem

    5. Ext2 Methods

    6. Managing Ext2 Disk Space

    7. The Ext3 Filesystem

  18. Chapter 18 Networking

    1. Main Networking Data Structures

    2. System Calls Related to Networking

    3. Sending Packets to the Network Card

    4. Receiving Packets from the Network Card

  19. Chapter 19 Process Communication

    1. Pipes

    2. FIFOs

    3. System V IPC

  20. Chapter 20 Program Execution

    1. Executable Files

    2. Executable Formats

    3. Execution Domains

    4. The exec Functions

  21. Chapter 21 Bibliography

    1. Books on Unix Kernels

    2. Books on the Linux Kernel

    3. Books on PC Architecture and Technical Manuals on Intel Microprocessors

    4. Other Online Documentation Sources

  1. Colophon