Overview
Google, IBM & Meta Certificates – 40% Off
One plan covers every Professional Certificate on Coursera.
Unlock All Certificates
This Specialization provides a structured pathway into Linux kernel development, starting with the essential skills needed to understand, build, and work with the 6.x Linux kernel. The first course introduces Linux kernel programming, guides learners through building the kernel from source, and develops the foundation for writing basic kernel modules.
The second course moves deeper into kernel internals, focusing on processes, threads, memory management, kernel memory allocation, and CPU scheduling. Learners build a stronger understanding of how core kernel components operate and how module authors interact with memory and scheduling behavior.
The final course advances into kernel synchronization, helping learners understand how concurrency concerns are managed inside kernel-level programming. Together, the three courses create a clear progression from setup and module creation to internal architecture and synchronization, supporting practical competence in Linux kernel programming.
This Specialization is based on the book Linux Kernel Programming, by Kaiwan N. Billimoria
Syllabus
- Course 1: Foundations of Linux Kernel Development
- Course 2: Linux Kernel Internals: Processes, Memory, and Scheduling
- Course 3: Advanced Linux Kernel Programming: Concurrency and Sync
Courses
-
Gain advanced expertise in Linux kernel programming by mastering synchronization and concurrency techniques used in modern kernel development. This course explores critical mechanisms such as mutexes, spinlocks, atomic operations, and Read-Copy-Update (RCU), helping professionals build reliable and efficient multi-threaded kernel components. You will learn how to manage shared resources safely, prevent race conditions, and resolve synchronization challenges in kernel environments. Through detailed coverage of locking strategies and concurrency control, the course equips you with the practical skills needed to create robust, thread-safe kernel modules and debug complex synchronization issues effectively. Unlike introductory kernel programming courses, this training focuses on advanced synchronization concepts with a balance of theory and real-world implementation examples. Practical demonstrations and best practices ensure learners can confidently apply concurrency techniques in production-level Linux systems. This course is ideal for Linux developers, embedded systems engineers, kernel programmers, and systems professionals seeking deeper expertise in kernel concurrency and synchronization. Prior experience with C programming and foundational Linux kernel concepts is recommended. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you. This course is part three of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.
-
This course provides foundational skills in Linux kernel programming, focusing on kernel architecture, source code management, and module development. Learners gain practical insight into how the Linux kernel operates and why kernel-level programming is critical in systems development and embedded environments. Participants will build the Linux 6.x kernel from source, configure development environments, and create basic kernel modules through guided exercises. The course strengthens practical skills in kernel compilation, module management, and secure development workflows used in real-world Linux systems. What makes this course unique is its balance of conceptual understanding and hands-on implementation. Practical walkthroughs and real-world examples help learners confidently navigate kernel programming tasks and development processes. This course is ideal for Linux developers, system programmers, and technology professionals interested in kernel development. Basic familiarity with Linux command-line usage and C programming is recommended. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you. This course is part one of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.
-
Gain a deep understanding of Linux kernel internals by exploring how processes, memory, and CPU scheduling work together to power modern operating systems. This course focuses on essential kernel subsystems and synchronization techniques that are critical for system performance, scalability, and stability in professional Linux environments. You will learn how the Linux kernel manages processes and threads, allocates and organizes memory, and schedules CPU tasks efficiently. Through practical explanations and demonstrations, the course helps you build the skills needed to analyze kernel behavior, understand synchronization mechanisms, and optimize system-level operations for development and administration tasks. This course stands out by combining detailed theoretical insights with practical, real-world kernel examples. Step-by-step walkthroughs and synchronization-focused lessons make complex Linux kernel concepts easier to visualize and apply. This course is ideal for Linux developers, system programmers, embedded engineers, and IT professionals interested in low-level system operations. A basic understanding of Linux commands, operating systems, and programming concepts is recommended. Packt is one of the world's most prolific publishers of cutting-edge technical content. For over two decades we've made it our mission to curate and publish the knowledge of only the very best technical experts. We focus on real-world courses that help our customers get the job done, with coverage that extends across a wide range of established and cutting-edge technical topics. If you're an individual or an organisation that embraces learning by doing, Packt is the perfect fit for you. This course is part two of a three-course Specialization designed to provide a comprehensive learning pathway in this subject area. While it delivers standalone value and practical skills, learners seeking a more integrated and in-depth progression may benefit from completing the full Specialization.
Taught by
Packt - Course Instructors