Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle
暫譯: Linux 核心程式設計 第二部分 - 字元設備驅動程式與核心同步:建立使用者-核心介面,處理周邊 I/O,並進行管理
Billimoria, Kaiwan N.
- 出版商: Packt Publishing
- 出版日期: 2021-03-19
- 售價: $1,580
- 貴賓價: 9.5 折 $1,501
- 語言: 英文
- 頁數: 452
- 裝訂: Quality Paper - also called trade paper
- ISBN: 180107951X
- ISBN-13: 9781801079518
-
相關分類:
Linux
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$480$379 -
$690$538 -
$650$507 -
$580$493 -
$680$537 -
$580$458 -
$580$458 -
$780$616 -
$680$537 -
$2,040$1,938 -
$1,800$1,710 -
$800$632 -
$800$632 -
$2,980$2,831 -
$500$390 -
$267奔跑吧 Linux內核 入門篇
-
$1,008$958 -
$1,980$1,881 -
$7555G 網絡優化與實踐進階
-
$5,120$4,864 -
$9005G 技術核心與增強:從 R15 到 R16
-
$1,648Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization (Paperback)
-
$474$450 -
$534$507 -
$1,850$1,758
商品描述
Discover how to write high-quality character driver code, interface with userspace, work with chip memory, and gain an in-depth understanding of working with hardware interrupts and kernel synchronization
Key Features:
- Delve into hardware interrupt handling, threaded IRQs, tasklets, softirqs, and understand which to use when
- Explore powerful techniques to perform user-kernel interfacing, peripheral I/O and use kernel mechanisms
- Work with key kernel synchronization primitives to solve kernel concurrency issues
Book Description:
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization is an ideal companion guide to the Linux Kernel Programming book. This book provides a comprehensive introduction for those new to Linux device driver development and will have you up and running with writing misc class character device driver code (on the 5.4 LTS Linux kernel) in next to no time.
You'll begin by learning how to write a simple and complete misc class character driver before interfacing your driver with user-mode processes via procfs, sysfs, debugfs, netlink sockets, and ioctl. You'll then find out how to work with hardware I/O memory. The book covers working with hardware interrupts in depth and helps you understand interrupt request (IRQ) allocation, threaded IRQ handlers, tasklets, and softirqs. You'll also explore the practical usage of useful kernel mechanisms, setting up delays, timers, kernel threads, and workqueues. Finally, you'll discover how to deal with the complexity of kernel synchronization with locking technologies (mutexes, spinlocks, and atomic/refcount operators), including more advanced topics such as cache effects, a primer on lock-free techniques, deadlock avoidance (with lockdep), and kernel lock debugging techniques.
By the end of this Linux kernel book, you'll have learned the fundamentals of writing Linux character device driver code for real-world projects and products.
What You Will Learn:
- Get to grips with the basics of the modern Linux Device Model (LDM)
- Write a simple yet complete misc class character device driver
- Perform user-kernel interfacing using popular methods
- Understand and handle hardware interrupts confidently
- Perform I/O on peripheral hardware chip memory
- Explore kernel APIs to work with delays, timers, kthreads, and workqueues
- Understand kernel concurrency issues
- Work with key kernel synchronization primitives and discover how to detect and avoid deadlock
Who this book is for:
An understanding of the topics covered in the Linux Kernel Programming book is highly recommended to make the most of this book. This book is for Linux programmers beginning to find their way with device driver development. Linux device driver developers looking to overcome frequent and common kernel/driver development issues, as well as perform common driver tasks such as user-kernel interfaces, performing peripheral I/O, handling hardware interrupts, and dealing with concurrency will benefit from this book. A basic understanding of Linux kernel internals (and common APIs), kernel module development, and C programming is required.
商品描述(中文翻譯)
探索如何撰寫高品質的字元驅動程式碼、與使用者空間介面、處理晶片記憶體,並深入了解硬體中斷和核心同步的運作
主要特點:
- 深入了解硬體中斷處理、執行緒 IRQ、任務小工具、軟體中斷,並理解何時使用哪一種
- 探索強大的技術以執行使用者與核心的介面、周邊 I/O,並使用核心機制
- 使用關鍵的核心同步原語來解決核心的併發問題
書籍描述:
《Linux 核心程式設計 第 2 部分 - 字元設備驅動程式與核心同步》是《Linux 核心程式設計》一書的理想伴侶指南。本書為新手提供了全面的介紹,幫助讀者快速上手撰寫雜項類別字元設備驅動程式碼(基於 5.4 LTS Linux 核心)。
您將首先學習如何撰寫一個簡單且完整的雜項類別字元驅動程式,然後通過 procfs、sysfs、debugfs、netlink 套接字和 ioctl 將您的驅動程式與使用者模式進程介面。接著,您將了解如何處理硬體 I/O 記憶體。本書深入探討硬體中斷的運作,幫助您理解中斷請求(IRQ)分配、執行緒 IRQ 處理器、任務小工具和軟體中斷。您還將探索有用的核心機制的實際應用,包括設置延遲、計時器、核心執行緒和工作佇列。最後,您將學會如何使用鎖定技術(互斥鎖、旋轉鎖和原子/計數操作符)處理核心同步的複雜性,包括更高級的主題,如快取效應、無鎖技術的入門、死鎖避免(使用 lockdep)和核心鎖定除錯技術。
在這本 Linux 核心書籍結束時,您將學會撰寫 Linux 字元設備驅動程式碼的基本原則,並能應用於實際專案和產品。
您將學到的內容:
- 掌握現代 Linux 設備模型(LDM)的基本概念
- 撰寫一個簡單但完整的雜項類別字元設備驅動程式
- 使用流行的方法執行使用者與核心的介面
- 自信地理解和處理硬體中斷
- 對周邊硬體晶片記憶體進行 I/O 操作
- 探索核心 API 以處理延遲、計時器、核心執行緒和工作佇列
- 理解核心併發問題
- 使用關鍵的核心同步原語,並學會如何檢測和避免死鎖
本書適合誰:
建議讀者對《Linux 核心程式設計》一書中涵蓋的主題有一定的了解,以便充分利用本書。本書適合剛開始接觸設備驅動程式開發的 Linux 程式設計師。希望克服常見的核心/驅動程式開發問題,以及執行常見驅動程式任務(如使用者與核心介面、執行周邊 I/O、處理硬體中斷和處理併發)的 Linux 設備驅動程式開發者將從本書中受益。需要對 Linux 核心內部(及常見 API)、核心模組開發和 C 程式設計有基本的了解。