0%

Book Description

Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.

The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.

The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.

The third edition of Linux Kernel Development includes new and updated material throughout the book:

  • An all-new chapter on kernel data structures

  • Details on interrupt handlers and bottom halves

  • Extended coverage of virtual memory and memory allocation

  • Tips on debugging the Linux kernel

  • In-depth coverage of kernel synchronization and locking

  • Useful insight into submitting kernel patches and working with the Linux kernel community

  • Table of Contents

    1. Title Page
    2. Copyright Page
    3. Contents at a Glance
    4. Table of Contents
    5. Developer’s Library
    6. Foreword
    7. Preface
    8. About the Author
    9. 1. Introduction to the Linux Kernel
    10. 2. Getting Started with the Kernel
    11. 3. Process Management
    12. 4. Process Scheduling
    13. 5. System Calls
    14. 6. Kernel Data Structures
    15. 7. Interrupts and Interrupt Handlers
    16. 8. Bottom Halves and Deferring Work
    17. 9. An Introduction to Kernel Synchronization
    18. 10. Kernel Synchronization Methods
    19. 11. Timers and Time Management
    20. 12. Memory Management
    21. 13. The Virtual Filesystem
    22. 14. The Block I/O Layer
    23. 15. The Process Address Space
    24. 16. The Page Cache and Page Writeback
    25. 17. Devices and Modules
    26. 18. Debugging
    27. 19. Portability
    28. 20. Patches, Hacking, and the Community
    29. Bibliography
    30. Index
    3.17.150.163