Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization

0
(0)

Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization
 

  • Author:Kaiwan N Billimoria
  • Length: 754 pages
  • Edition: 1
  • Publisher: Packt Publishing
  • Publication Date: 2021-03-19
  • ISBN-10: 178995343X
  • ISBN-13: 9781789953435
  • Sales Rank: #560625 (See Top 100 Books)
  • Download:Register/Login to Download
  • Buy Print:Buy from amazon


    Book Description

    Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals

    Key Features

    • Discover how to write kernel code using the Loadable Kernel Module framework
    • Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel
    • Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization

    Book Description

    Linux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come.

    This Linux book begins by showing you how to build the kernel from the source. Next, you’ll learn how to write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The book then covers key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. Next, you’ll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You’ll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques.

    By the end of this kernel book, you’ll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products.

    What you will learn

    • Write high-quality modular kernel code (LKM framework) for 5.x kernels
    • Configure and build a kernel from source
    • Explore the Linux kernel architecture
    • Get to grips with key internals regarding memory management within the kernel
    • Understand and work with various dynamic kernel memory alloc/dealloc APIs
    • Discover key internals aspects regarding CPU scheduling within the kernel
    • Gain an understanding of kernel concurrency issues
    • Find out how to work with key kernel synchronization primitives

    Who this book is for

    This book is for Linux programmers beginning to find their way with Linux kernel development. Linux kernel and driver developers looking to overcome frequent and common kernel development issues, as well as understand kernel internals, will benefit from this book. A basic understanding of Linux CLI and C programming is required.

    Table of Contents

    1. Kernel Workspace Setup
    2. Building the 5.0 Linux kernel from Source, Part 1
    3. Building the 5.0 Linux kernel from Source, Part 2
    4. Writing your First Kernel Module, Part 1
    5. Writing your First Kernel Module – Part 2
    6. Kernel Internals Essentials – Processes and Threads
    7. Memory Management Internals – Essentials
    8. Kernel Memory Allocation for Module Authors, Part 1
    9. Kernel Memory Allocation for Module Authors – Part 2
    10. The CPU Scheduler – Part 1
    11. The CPU Scheduler – Part 2
    12. Kernel Synchronization – Part 1
    13. Kernel Synchronization – Part 2

    中文:

    书名:Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization

    学习如何编写高质量的内核模块代码,解决常见的Linux内核编程问题,并了解Linux内核内部的基础知识

    主要特点

    • 了解如何使用可加载的内核模块框架编写内核代码
    • 探索在内核中执行高效内存分配和数据同步的行业级技术
    • 了解内核体系结构、内存管理、CPU调度和内核同步等关键内部主题的基本知识

    图书描述

    Linux内核编程是对Linux内核和模块开发的新手的全面介绍。这本简单易懂的指南将让您在几乎没有时间的情况下就能开始编写内核代码。本书使用最新的5.4长期支持(LTS)Linux内核,该内核将从2019年11月维护到2025年12月。通过在整本书中使用5.4 LTS内核,您可以确信您的知识将在未来几年中继续有效。

    这本Linux书一开始就向您展示了如何从源代码构建内核。接下来,您将学习如何使用强大的可加载内核模块(Loadable Kernel Module,LKM)框架编写第一个内核模块。然后,这本书涵盖了关键的内核内部主题,包括Linux内核体系结构、内存管理和CPU调度。接下来,您将深入研究内核中的并发性这个相当复杂的主题,了解它可能导致的问题,并学习如何使用各种锁定技术(互斥、自旋锁、原子和引用计数操作符)解决这些问题。您还将受益于有关缓存效果的更高级材料、关于内核内无锁技术、死锁避免(使用lockdep)和内核锁调试技术的入门读物。

    读完这本内核书,您将对为实际项目和产品编写Linux内核模块代码的基本原理有一个详细的了解。

    你将学到什么

    • 为5.x内核编写高质量的模块化内核代码(LKM框架)
    • Configure and build a kernel from source
    • 探索Linux内核体系结构
    • 掌握与内核内的内存管理有关的关键内部知识
    • 了解并使用各种动态内核内存分配/取消分配API
    • 了解有关内核中的CPU调度的关键内部方面
    • Gain an understanding of kernel concurrency issues
    • 了解如何使用关键的内核同步原语

    这本书是为谁而写的

    这本书是为开始寻找Linux内核开发方法的Linux程序员编写的。希望克服频繁和常见的内核开发问题以及了解内核内部结构的Linux内核和驱动程序开发人员将从这本书中受益。需要对Linux CLI和C编程有基本的了解。

    目录表

    1. Kernel Workspace Setup
    2. 从源代码构建5.0 Linux内核,第1部分
    3. 从源代码构建5.0 Linux内核,第2部分
    4. 编写您的第一个内核模块,第1部分
    5. 编写您的第一个内核模块&第2部分
    6. Kernel Internals Essentials – Processes and Threads
    7. 内存管理内部要领
    8. Kernel Memory Allocation for Module Authors, Part 1
    9. 模块作者的内核内存分配第#8211;部分
    10. CPU调度器(第1部分)
    11. CPU调度器(下)
    12. 内核同步&第1部分
    13. 内核同步第二部分
  • 下载电子版:下载地址
  • 购买纸质版:亚马逊商城

    点击星号评分!

    平均分 0 / 5. 投票数: 0

    还没有投票!请为他投一票。

  • 推荐阅读

    评论 抢沙发

    评论前必须登录!

     

    登录

    找回密码

    注册