Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Linux Kernel Internals: Processes, Memory, and Scheduling

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One plan covers every Professional Certificate on Coursera.
Unlock All Certificates
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.

Syllabus

  • Kernel Internals Essentials - Processes and Threads
    • This module introduces the fundamentals of Linux kernel process and thread management, focusing on virtual address space organization, task structures, and stack analysis. Learners will explore how processes and threads are represented and managed within the kernel, and gain hands-on experience with kernel modules for inspecting task lists and stack information.
  • Memory Management Internals - Essentials
    • This module introduces the fundamentals of Linux memory management, including virtual and physical address spaces, address translation, and kernel versus user memory layouts. Learners will gain practical skills in interpreting process memory maps, understanding key kernel data structures, and exploring security features like KASLR. The module also covers tools and techniques for examining memory organization on both 32-bit and 64-bit systems.
  • Kernel Memory Allocation for Module Authors - Part 1
    • This module introduces the fundamentals of kernel memory allocation for module authors, focusing on the Page Allocator and Slab Allocator mechanisms in the Linux kernel. Learners will explore allocation strategies, relevant APIs, and best practices for efficient and safe memory management in kernel modules. Practical demonstrations and troubleshooting tips are included to reinforce key concepts.
  • Kernel Memory Allocation for Module Authors - Part 2
    • This module delves into advanced kernel memory allocation techniques, including the use of custom slab caches, the vmalloc() API, and memory management features like the OOM killer and VM overcommit policies. Learners will explore practical tools and strategies for efficient memory allocation, monitoring, and troubleshooting within the Linux kernel environment. The module also introduces recent kernel features such as DAMON and multi-generational LRU lists.
  • The CPU Scheduler - Part 1
    • This module introduces the fundamentals of Linux CPU scheduling, exploring POSIX scheduling policies, multicore task management, and the internal mechanisms of the scheduler. Learners will gain hands-on experience with command-line tools for analyzing scheduling behavior and visualizing task flow. Key concepts such as preemption, scheduling classes, and kernel data structures are also covered to deepen understanding of how modern schedulers operate.
  • The CPU Scheduler - Part 2
    • This module delves into advanced Linux CPU scheduling concepts, including CPU affinity, scheduling policies, and the use of cgroups for resource management. Learners will gain hands-on experience with system calls, utilities, and systemd to optimize process performance and resource allocation. The module also introduces real-time Linux considerations and practical techniques for configuring CPU constraints.

Taught by

Packt - Course Instructors

Reviews

Start your review of Linux Kernel Internals: Processes, Memory, and Scheduling

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.