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

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

LINUX KERNEL PROGRAMMING - 2ND

出版日期:
2024/02/28
2,250
此為POD隨需印刷,是出版社高階列印輸出作品後逐本裝訂成冊,印刷及裝訂與傳統印刷品質不同,版權合法不影響閱讀。需等待21個工作天(不含例假日),建議和其他商品分開下單。
查詢門市庫存

內容簡介

Gain a solid practical understanding and sufficient theoretical insight into Linux kernel internals while learning to write high-quality kernel module code and understanding 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 on the 6.1 LTS kernel

- 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 those new to Linux kernel development. Built around the latest 6.1 Long-Term Support (LTS) Linux kernel, which is maintained until December 2026, this edition explores its key features and enhancements. Additionally, with the Civil Infrastructure Project extending support for the 6.1 Super LTS (SLTS) kernel until August 2033, this book will remain relevant for years to come.

You'll begin this exciting journey by learning how to build the kernel from source. Step by step, 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 (for example, 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 build a strong understanding of the fundamentals to 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.

Table of Contents

- Linux Kernel Programming - A Quick Introduction

- Building the 6.x Linux Kernel from Source - Part 1

- Building the 6.x Linux Kernel from Source - Part 2

- Writing Your First Kernel Module - Part 1

- Writing Your First Kernel Module - Part 2

- Kernel Internals Essentials - Processes and Threads

- Memory Management Internals - Essentials

- Kernel Memory Allocation for Module Authors - Part 1

- Kernel Memory Allocation for Module Authors - Part 2

- The CPU Scheduler - Part 1

- The CPU Scheduler - Part 2

- Kernel Synchronization - Part 1

- Kernel Synchronization - Part 2

展開看更多

規格

誠品貨碼 /
ISBN13 / 9781803232225
ISBN10 /
EAN貨碼 / 9781803232225
裝訂 / P:平裝
頁數 / 826
語言 / 3:英文
級別 / N:無
尺寸 / 23.5X19.1X4.2CM
重量(g) / 1392.5

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送