Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization
Paperback
NetworkingOperating SystemsSystem Administration
ISBN13: 9781789953435
Publisher: Packt Pub
Published: Mar 19 2021
Pages: 754
Weight: 2.80
Height: 1.50 Width: 7.50 Depth: 9.25
Language: English
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
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.
You'll start the journey by learning how to build the kernel from the source. Next, you'll write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The following chapters will cover key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling.
During the course of this book, 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
This book is for Linux programmers beginning to find their way with Linux kernel development. If you're a Linux kernel and driver developer looking to overcome frequent and common kernel development issues, or understand kernel intervals, you'll find plenty of useful information.
You'll need a solid foundation of Linux CLI and C programming before you can jump in.
Table of Contents- Kernel Workspace Setup
- Building the 5.0 Linux kernel from Source, Part 1
- Building the 5.0 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 in
Operating Systems
Laptops for Seniors in Easy Steps, 9th Edition: Covers All Laptops with the Windows 11 2024 Update
Vandome, Nick
Paperback
RHCSA Red Hat Enterprise Linux 9: Training and Exam Preparation Guide (EX200), Third Edition
Ghori, Asghar
Paperback
Linux Basics for Hackers, 2nd Edition: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
Microsoft Windows 11 - Tips & Tricks: Quickstudy Laminated Computer Reference Guide
Gatto, Katie
Other
Exploring Apple Mac - Sequoia Edition: The Illustrated, Practical Guide to Using MacOS
Wilson, Kevin
Paperback
Exploring Windows 11 - 2025 Edition: The Illustrated, Practical Guide to Using Microsoft Windows
Wilson, Kevin
Paperback
Comptia A+ Certification All-In-One Exam Guide, Eleventh Edition (Exams 220-1101 & 220-1102)
Hutz, Andrew
Everett, Travis A.
Hardcover
Microsoft 365 Copilot Adoption: A Practical Guide for Business Leaders and Consultants
Smith, Mark
Smith, Megan
Paperback
Microsoft Copilot Studio Step by Step: Customizing Copilot and Creating Agents
Crosbie, Lisa
Paperback
Windows 11 Manual For Seniors: A Beginners Guide to Navigate Your Computer with Step-by-Step Instructions
Wells, Larry
Paperback
Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
Chatgpt: A Guide to Making Money With Chatgpt (Creative Ways for Teens and Young Adults to Make Money With Chatgpt)
Trotter, Thomas
Paperback
Effective Shell: A Practical User's Guide to Working Smarter on the Command Line
Kerr, Dave
Paperback
Comptia A+ Complete Study Guide: Core 1 Exam 220-1101 and Core 2 Exam 220-1102
Buhagiar, Jon
Docter, Quentin
Paperback
Mastering Windows Server 2022 - Fourth Edition: Comprehensive administration of your Windows Server environment
Krause, Jordan
Paperback
Windows 11 Tips, Tricks & Shortcuts in Easy Steps: 1000+ Tips, Tricks and Shortcuts
Vandome, Nick
Paperback
The Wireless Cookbook: Build Real Projects and Master Wi-Fi, Bluetooth, and Lora
Zimmerman, Bill
Paperback
Hotwire Native for Rails Developers: Build Native Mobile Apps Using Your Server
Masilotti, Joe
Paperback
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
Raymond, Eric S.
Paperback
Mac for Seniors - Sonoma Edition: The illustrated, Step-by-step guide on how to use MacOS (Large Print Edition)
Wilson, Kevin
Paperback
Red Hat Certified Engineer (Rhce) Ansible Automation Study Guide: In-Depth Guidance and Practice
Bueno, Alex Soto
Block, Andrew
Paperback
Windows Internals: System Architecture, Processes, Threads, Memory Management, and More, Part 1
Ionescu, Alex
Yosifovich, Pavel
Russinovich, Mark
Paperback
Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization
Billimoria, Kaiwan N.
Paperback
Data Science at the Command Line: Obtain, Scrub, Explore, and Model Data with UNIX Power Tools
Janssens, Jeroen
Paperback
Macbook Air and Pro for Seniors - An Illustrated Simple Step By Step Guide For Beginners
Foster, Maddison
Paperback
Windows 11 Senior Guide 2025: The Most User-Friendly Seniors and Beginners Manual to Learn Windows 11 Essential Features
Mitchell, Tony
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Hardcover
Itf+ Comptia It Fundamentals All-In-One Exam Guide, Second Edition (Exam Fc0-U61)
LaChance, Daniel
Meyers, Mike
Jernigan, Scott
Paperback
Learn FileMaker Pro 2024: The Comprehensive Guide to Building Custom Databases
Munro, Mark Conway
Paperback
pfSense Essentials: The Complete Reference to the pfSense Internet Gateway and Firewall
Reed, Jeremy C.
Paperback
iPhone for Seniors - iOS 15 Edition: The illustrated, Step-by-step guide on how to use iPhone (Large Print Edition)
Wilson, Kevin
Paperback
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Kerrisk, Michael
Hardcover
Mastering Windows Security and Hardening - Second Edition: Secure and protect your Windows environment from cyber threats using zero-trust security pr
Dunkerley, Mark
Tumbarello, Matt
Paperback
Moto G Stylus 5G 2025 User Guide: A Complete Step-by-Step Manual for Beginners and Seniors
Greg, Tova
Paperback
Mastering Embedded Linux Development - Fourth Edition: Craft fast and reliable embedded solutions with Linux 6.6 and The Yocto Project 5.0 (Scarthgap)
Vasquez, Frank
Simmonds, Chris
Paperback
Operating Systems Foundations with Linux on the Raspberry Pi: Textbook
Singer, Jeremy
Vanderbauwhede, Wim
Paperback
Mastering Embedded Linux Programming - Third Edition: Create fast and reliable embedded solutions with Linux 5.4 and the Yocto Project 3.1 (Dunfell)
Vasquez, Frank
Simmonds, Chris
Paperback
iPad for Seniors - iPadOS 16 Edition: The illustrated, Step-by-step guide on how to use iPad (Large Print Edition)
Wilson, Kevin
Paperback
Windows 11 Frequently Asked Questions: The "how do I" Guide to Using Microsoft Windows
Wilson, Kevin
Paperback
Boost Your Skills In Computer Basics and Windows 11: (+ Online Simulations & Resources)
Marshall, Greg P.
Paperback
Linux para hackers: Una guía completa para principiantes para el mundo del hackeo utilizando Linux
Vance, William
Paperback
Powershell Cookbook: Your Complete Guide to Scripting the Ubiquitous Object-Based Shell
Holmes, Lee
Paperback
Mobile Offensive Security Pocket Guide: A Quick Reference Guide For Android And iOS
Stevenson, James
Paperback
Classic Shell Scripting: Hidden Commands That Unlock the Power of UNIX
Robbins, Arnold
Beebe, Nelson H. F.
Paperback
The Ultimate linux mint 22 GUide: Master Linux Mint 22 with Step-by-Step Tutorials for Beginners and Advanced Users
R. Haddad, David
Paperback
Cybersecurity - Attack and Defense Strategies - Second Edition: Counter modern threats and employ state-of-the-art tools and techniques to protect you
Diogenes, Yuri
Ozkaya, Erdal
Paperback
Mastering Windows Server 2016: A comprehensive and practical guide to Windows Server 2016
Krause, Jordan
Paperback
Mastering Microsoft Intune - Second Edition: Deploy Windows 11, Windows 365 via Microsoft Intune, Copilot and advance management via Intune Suite
Brinkhoff, Christiaan
Larsen, Per
Paperback
Unix And Linux System Administration Handbook: Mastering Networking, Security, Cloud, Performance, And Devops
Botwright, Rob
Paperback
Go Programming - From Beginner to Professional - Second Edition: Learn everything you need to build modern software using Go
Coyle, Samantha
Paperback
Linux: The ultimate guide to Linux for beginners, Linux hacking, Linux command line, Linux operating system, and more!
Newport, Craig
Paperback
Chatgpt: A Quick-start Guide to Effective Ai Use (Complete Guide to Chatgpt From Beginners to Experts)
Escoto, Kenneth
Paperback
Comando de Linux: Una guía completa para principiantes para aprender los reinos del comando Linux desde A-Z
Vance, William
Paperback
The Embedded Linux Security Handbook: Fortify your embedded Linux systems from design to deployment
St Onge, Matt
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Paperback
