Linux Kernel Infrastructure & Programming

Comprehensive discussion on core Linux Kernel infrastructure & its sub-systems

Who is it for

Program is designed for Linux programmers who are looking to understand the key sub-systems of the Linux kernel, and for participants who wish master key kernel aspects before learning Device Drivers

What you will learn

Understand key Kernel sub-systems like memory, scheduling and synchronization & debugging methods

Online Live by Raghu Bharadwaj

Learn from leading Linux mentor, Raghu Bharadwaj, live online

Program Contents

Linux Kernel Programming
  • Essentials of Linux kernel architecture
  • Understanding need for kernel programming
  • Modifying kernel sources
  • Kernel configuration and compilation
  • Introduction to kernel modules
Module Programming
  • Building kernel module binary
  • Tools for module management
  • Tracking module dependency
  • Module parameters
  • Kernel symbol table
  • Exporting Module symbols
Scheduling in Linux
  • Main Scheduling Tasks
  • SMP
  • Scheduling Priorities
  • Scheduling System Calls
  • Time Slices and Priorities
  • Load Balancing
  • Priority Inversion and Priority Inheritance **
  • The CFS Scheduler
  • Calculating Priorities and Fair Times
  • Scheduling Classes
  • Scheduler Details
Concurrency & Race Condition
  • Concurrency and Synchronization Methods
  • Atomic Operations
  • Bit Operations
  • Spinlocks
  • Seqlocks
  • Disabling Preemption
  • Mutexes
  • Semaphores
  • Completion Functions
  • Read-Copy-Update (RCU)
  • Reference Counts
  • Virtual Memory Management
  • Systems With and Without MMU and the TLB
  • Memory Addresses
  • High and Low Memory
  • Memory Zones
  • Special Device Nodes
  • NUMA
  • Paging
  • Page Tables
  • page structure
  • Requesting and Releasing Pages
  • Buddy System
  • Slabs and Cache Allocations
  • Memory Pools
  • kmalloc()
  • vmalloc()
  • Early Allocations and bootmem()
  • Memory Defragmentation
Time Measurement Delay
  • Need for time measurement
  • Kernel tick
  • Need for delays
  • Introducing delays
SMP & Threads
  • SMP Kernels and Modules
  • Processor Affinity
  • SMP Algorithms – Scheduling, Locking, etc.
Kernel Debugging
  • Debuginfo Packages
  • Tracing and Profiling
  • sysctl
  • SysRq Key
  • oops Messages
  • Kernel Debuggers
  • debugfs

Who Should Enroll

  • Application developers looking to upskill on Linux kernel infrastructure
  • System programmers looking to build base for learning device drivers
  • Linux enthusiasts looking to gain insights into working of core sub-systems of kernel

Programs Schedules & Fee

  • Program Starts: June 8th 2024
  • Session Timings: 10am – 1:30pm (Weekends – Sat. & Sun.)
  • Training Mode: Online live (zoom)
  • Program Duration: 20+ hrs. (4 weekends)
  • Program Fee: ₹14,148/- (Inclusive of GST)

Support Services

  • Missed sessions: Backup recording will be provided for missed sessions
  • Offline support: Delivered via Whatsapp
  • Batch transfers: Available within 1 year
  • Placement support: Offered on program completion (any experience category)


“What astonishes me is Raghu sir’s clarity of thought, clarity of speech, even selection of words to frame a sentence, it is such a pleasure listening to him and gaining all the insights”



“The way Raghu sir dwells into each topic and how he paints a clear picture of all the key aspects of each sub-system along with discussing its implications on the way we should work at the kernel level is simply unbelievable “



“One of the striking feature of this program is that it not only traverses through all the key sub-systems of the kernel but also creates a mental map of how these inter-relate and also how it impacts application behavior”



Interested. Apply Now

On receiving the application, we will contact you with further registration process


Know your Trainer

Raghu Bharadwaj

  • Leading Linux Mentor
  • Trained over 3000 participants across 7 nations
  • Attended by professionals from over 100 companies
  • Leading authority and speaker on the Linux Kernel
  • Trainer to clients including Xilinx, Qualcomm, Broadcom, NXP, Harman, Mercedes among others


What are the pre-requisite skills to enroll for this program?
You must be good at C programming and Linux programming. You must have an interest to learn deeper concepts of Linux kernel to make better use of it
How is the program delivered?

This program is delivered online through a live, interactive session. You must login whenever there is a live session to access it

What if I miss some sessions due to work or other issues?
Do not worry, we have it covered. If you miss any session due to any reason, you can request to listen the backup recording at your convenient time
Can I access the course after completion of the program?
You will not be able to access the program after you complete your course. However you will have lifetime support for Q&A
What is the validity of my registration?
Your registration is valid for a period of 1 year. That is, once you make the payment you can take the online course within 1 year