Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization
Paperback
NetworkingOperating SystemsSystem Administration
ISBN13: 9781803232225
Publisher: Packt Publishing
Published: Feb 29 2024
Pages: 826
Weight: 3.07
Height: 1.64 Width: 7.50 Depth: 9.25
Language: English
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
Also from
Billimoria, Kaiwan N.
Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization
Billimoria, Kaiwan N.
Paperback
Also in
Operating Systems
I Have an App Idea: The Essential Guide to Building an App Without Tech Skills
Spann, Amanda
Paperback
RHCSA Red Hat Enterprise Linux 10: Training and Exam Preparation Guide (EX200), Fourth Edition
Ghori, Asghar
Paperback
Microsoft Windows 11 - Tips & Tricks: Quickstudy Laminated Computer Reference Guide
Gatto, Katie
Other
Laptops for Seniors in Easy Steps, 9th Edition: Covers All Laptops with the Windows 11 2024 Update
Vandome, Nick
Paperback
Microsoft Copilot Studio Step by Step: Customizing Copilot and Creating Agents
Crosbie, Lisa
Paperback
Linux Basics for Hackers, 2nd Edition: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
RHCSA Red Hat Enterprise Linux 9: Training and Exam Preparation Guide (EX200), Third Edition
Ghori, Asghar
Paperback
Samsung Galaxy A17 5G User Guide: A Comprehensive, Step-by-Step Manual with Practical Tips for Beginners and Seniors
Gavriel, John
Paperback
The Wireless Cookbook: Build Real Projects and Master Wi-Fi, Bluetooth, and Lora
Zimmerman, Bill
Paperback
Comptia A+ Certification All-In-One Exam Guide, Eleventh Edition (Exams 220-1101 & 220-1102)
Hutz, Andrew
Everett, Travis A.
Hardcover
Exploring Windows 11 - 2025 Edition: The Illustrated, Practical Guide to Using Microsoft Windows
Wilson, Kevin
Paperback
The Practice of System and Network Administration: Devops and Other Best Practices for Enterprise It, Volume 1
Chalup, Strata
Limoncelli, Thomas
Hogan, Christina
Paperback
Microsoft 365 Copilot Adoption: A Practical Guide for Business Leaders and Consultants
Smith, Megan
Smith, Mark
Paperback
Windows 11 Manual For Seniors: A Beginners Guide to Navigate Your Computer with Step-by-Step Instructions
Wells, Larry
Paperback
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Kerrisk, Michael
Hardcover
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
Raymond, Eric S.
Paperback
What On Earth is a Mainframe?: An Introduction to IBM Z Mainframes and z/OS Operating System for Total Beginners
Stephens, David
Paperback
Linux Mint Cinnamon Edition: A Complete Guide for Beginners and Advanced Users
Rodgers, David A., Jr.
Paperback
Android Studio Panda Essentials - Java Edition: Developing Android Apps Using Android Studio Panda and Java
Smyth, Neil
Paperback
Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
Mac for Seniors - Sonoma Edition: The illustrated, Step-by-step guide on how to use MacOS (Large Print Edition)
Wilson, Kevin
Paperback
The Accidental Administrator: Cisco Router Step-by-Step Configuration Guide
Crawley, Don R.
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Paperback
Effective Shell: A Practical User's Guide to Working Smarter on the Command Line
Kerr, Dave
Paperback
Master Zorin OS 18: A Complete Hands-On Guide to Linux Mastery with Zorin OS 18
Mykel, Ross
Paperback
Windows 11 Tips, Tricks & Shortcuts in Easy Steps: 1000+ Tips, Tricks and Shortcuts
Vandome, Nick
Paperback
Windows Internals: System Architecture, Processes, Threads, Memory Management, and More, Part 1
Russinovich, Mark
Ionescu, Alex
Yosifovich, Pavel
Paperback
How to Build Android Applications with Kotlin - Third Edition: A hands-on guide to developing, testing, and publishing production-grade Android 16 app
Boudjnah, Eran
Dumbravan, Alexandru
Forrester, Alex
Paperback
Chatgpt: A Guide to Making Money With Chatgpt (Creative Ways for Teens and Young Adults to Make Money With Chatgpt)
Trotter, Thomas
Paperback
Hotwire Native for Rails Developers: Build Native Mobile Apps Using Your Server
Masilotti, Joe
Paperback
Learn FileMaker Pro 2024: The Comprehensive Guide to Building Custom Databases
Munro, Mark Conway
Paperback
Comptia A+ Complete Study Guide: Core 1 Exam 220-1101 and Core 2 Exam 220-1102
Docter, Quentin
Buhagiar, Jon
Paperback
MacBook Neo User Guide: Seniors and Beginners Easy to follow Manual With ILLUSTRATIONS to Master Their Device Quickly [Tips and Trips included]
Klaywood Philip, Sans
Paperback
Head First Android Development: A Learner's Guide to Building Android Apps with Kotlin
Griffiths, David
Griffiths, Dawn
Paperback
Data Science at the Command Line: Obtain, Scrub, Explore, and Model Data with UNIX Power Tools
Janssens, Jeroen
Paperback
Mastering Embedded Linux Development - Fourth Edition: Craft fast and reliable embedded solutions with Linux 6.6 and The Yocto Project 5.0 (Scarthgap)
Simmonds, Chris
Vasquez, Frank
Paperback
A Handbook for Mainframe z/OS Enterprise Architects - Architecture and Design of Large-Scale Environments
Sahoo, Natabar
Paperback
Linux: A Complete Guide to Learn Linux Commands, Linux Operating System and Shell Scripting Step-by-Step
Ayden, Nicholas
Paperback
Linux: The ultimate guide to Linux for beginners, Linux hacking, Linux command line, Linux operating system, and more!
Newport, Craig
Paperback
Mastering Windows Server 2022 - Fourth Edition: Comprehensive administration of your Windows Server environment
Krause, Jordan
Paperback
El Patron: Todo lo que no sabías del más grande narcotraficante en la historia de Colombia
Tacchuella, Raul
Paperback
The Ultimate Linux Shell Scripting Guide: Automate, Optimize, and Empower tasks with Linux Shell Scripting
Tevault, Donald a.
Paperback
MacBook User Guide for Seniors: An Easy-to-Follow Manual for Using Your Laptop with Confidence
Reid, Nicholas L. a.
Paperback
Learning the VI and VIM Editors: Power and Agility Beyond Just Text Editing
Robbins, Arnold
Hannah, Elbert
Paperback
Comando de Linux: Una guía completa para principiantes para aprender los reinos del comando Linux desde A-Z
Vance, William
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Hardcover
Embedded Systems Architecture - Second Edition: Design and write software for embedded devices to build safe and connected systems
Lacamera, Daniele
Paperback
UNIX in a Nutshell: A Desktop Quick Reference - Covers Gnu/Linux, Mac OS X, and Solaris
Robbins, Arnold
Paperback
Mastering Swift 6 - Seventh Edition: Modern programming techniques for high-performance apps in Swift 6.2
Hoffman, Jon
Paperback
Android and IOS Mobile Forensics: Leveraging Blockchain, Machine Learning, and Deep Learning for Digital Investigations
Kaushik, Keshav
Sheth, Ravi
Parekha, Chandresh
Paperback
Mastering Microsoft Intune - Second Edition: Deploy Windows 11, Windows 365 via Microsoft Intune, Copilot and advance management via Intune Suite
Larsen, Per
Brinkhoff, Christiaan
Paperback
Moto G Stylus 5G 2025 User Guide: A Complete Step-by-Step Manual for Beginners and Seniors
Greg, Tova
Paperback
A Beginner's Guide to Mainframe z/OS RACF - Securing Mainframe Enterprise Operating System - Book 4
Sahoo, Natabar
Paperback
Samsung Galaxy A15 5G User Guide For Beginners and Seniors: The Essential Manual to Completely Set Up and Master Your New Device
Founder, Benson D.
Paperback
pfSense Essentials: The Complete Reference to the pfSense Internet Gateway and Firewall
Reed, Jeremy C.
Paperback
iPad for Seniors - iPadOS 16 Edition: The illustrated, Step-by-step guide on how to use iPad (Large Print Edition)
Wilson, Kevin
Paperback
Debian 13.3 "Trixie" Desktop Handbook: A Practical Guide to Installing, Securing, and Mastering the Debian Linux Desktop - From Install to Advanced Ad
Rodgers, David A., Jr.
Paperback
