Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization

Billimoria, Kaiwan N.

  • 出版商: Packt Publishing
  • 出版日期: 2024-02-29
  • 售價: $1,980
  • 貴賓價: 9.5$1,881
  • 語言: 英文
  • 頁數: 826
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1803232226
  • ISBN-13: 9781803232225
  • 相關分類: Linux
  • 海外代購書籍(需單獨結帳)

商品描述

Gain both a firm practical understanding and sufficient theoretical insight into the inner workings of Linux kernel internals, learn to write high-quality kernel module code, understand the complexities of kernel synchronization

Purchase of the print or Kindle book includes a free eBook in PDF format.

 

Key Features:

  • Discover how to write Linux kernel and module code for real-world products
  • Implement industry-grade techniques in real-world scenarios for fast, efficient memory allocation and data synchronization
  • Understand and exploit kernel architecture, CPU scheduling, and kernel synchronization techniques

 

Book Description:

The 2nd Edition of Linux Kernel Programming is an updated, comprehensive guide for new programmers to the Linux kernel. This book uses the recent 6.1 Long-Term Support (LTS) Linux kernel series, which will be maintained until Dec 2026, and also delves into its many new features. Further, the Civil Infrastructure Project has pledged to maintain and support this 6.1 Super LTS (SLTS) kernel right until August 2033, keeping this book valid for years to come!

You'll begin this exciting journey by learning how to build the kernel from source. In a step by step manner, you will then learn how to write your first kernel module by leveraging the kernel's powerful Loadable Kernel Module (LKM) framework. With this foundation, you will delve into key kernel internals topics including Linux kernel architecture, memory management, and CPU (task) scheduling. You'll finish with understanding the deep issues of concurrency, and gain insight into how they can be addressed with various synchronization/locking technologies (e.g., mutexes, spinlocks, atomic/refcount operators, rw-spinlocks and even lock-free technologies such as per-CPU and RCU).

By the end of this book, you'll have a much better understanding of the fundamentals of writing the Linux kernel and kernel module code that can straight away be used in real-world projects and products.

 

What You Will Learn:

  • Configure and build the 6.1 LTS kernel from source
  • Write high-quality modular kernel code (LKM framework) for 6.x kernels
  • Explore modern Linux kernel architecture
  • Get to grips with key internals details 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, including cgroups v2
  • Gain a deeper understanding of kernel concurrency issues
  • Learn how to work with key kernel synchronization primitives

 

Who this book is for:

This book is for beginner Linux programmers and developers looking to get started with the Linux kernel, providing a knowledge base to understand required kernel internal topics and overcome frequent and common development issues.

A basic understanding of Linux CLI and C programming is assumed.

商品描述(中文翻譯)

深入了解Linux內核內部運作的實際理解和足夠的理論洞察力,學習撰寫高品質的內核模組程式碼,了解內核同步的複雜性。

購買印刷版或Kindle書籍將包含免費的PDF電子書。

主要特點:
- 發現如何為實際產品撰寫Linux內核和模組程式碼
- 在實際場景中實施工業級技術,以實現快速、高效的內存分配和數據同步
- 理解並利用內核架構、CPU調度和內核同步技術

書籍描述:
《Linux內核編程》第2版是新程序員學習Linux內核的更新、全面指南。本書使用最新的6.1長期支持(LTS)Linux內核系列,該系列將在2026年12月之前得到維護,並深入介紹了其許多新功能。此外,民用基礎設施項目承諾將維護和支持這個6.1超長期支持(SLTS)內核,直到2033年8月,使本書在未來多年內仍然有效!

您將從學習如何從源代碼構建內核開始這段令人興奮的旅程。然後,您將逐步學習如何利用內核強大的可加載內核模組(LKM)框架編寫第一個內核模組。在此基礎上,您將深入研究關鍵的內核內部主題,包括Linux內核架構、內存管理和CPU(任務)調度。最後,您將了解並瞭解並發問題,並深入瞭解如何使用各種同步/鎖定技術(例如互斥鎖、自旋鎖、原子/引用計數運算符、讀寫自旋鎖,甚至無鎖技術,如每CPU和RCU)來解決這些問題。

通過閱讀本書,您將對撰寫Linux內核和內核模組程式碼的基礎有更好的理解,這些程式碼可以直接應用於實際項目和產品中。

您將學到什麼:
- 從源代碼配置和構建6.1 LTS內核
- 為6.x內核撰寫高品質的模組化內核程式碼(LKM框架)
- 探索現代Linux內核架構
- 掌握內核內存管理的關鍵內部細節
- 瞭解並使用各種動態內核內存分配/釋放API
- 瞭解並處理內核調度的關鍵內部細節,包括cgroups v2
- 深入瞭解內核並發問題
- 學習如何使用關鍵內核同步原語

本書適合初學者Linux程序員和開發人員,他們希望開始使用Linux內核,提供了一個知識基礎,以理解所需的內核內部主題並克服常見的開發問題。假設您具有基本的Linux命令行界面(CLI)和C編程的理解。