Linux & Open-Source Training Linux Laptops Linux Services

Linux Kernel Internals Training

This course teaches attendees to acquaints developers with the fundamental subsystems, data structures, and API of the Linux kernel version 2.6.


This two day, hands-on course, provides attendees with experience in creating Linux kernel source code within various subsystems of the Linux kernel.

Attendees will spend approximately 50 percent of the class time actually gaining hands-on experience with these topics. 

Course Objectives

After this course, attendees will be able to:

  • Describe the role and functionality of the major subsystems within the Linux 2.6 kernel.
  • Describe and make use of many of the key data structures and API functions within the Linux 2.6 kernel.

Who Should Attend

The course is designed for software engineers who are familiar with Linux from the user and application development level, who wish to gain understanding of how the Linux kernel works internally.

Additional, assumed prerequisite knowledge, is experience in configuring and installing Linux kernels.


Two days.

Course Materials

The workshop materials include a comprehensive student workbook. The workbook contains all of the slides used in the course as well as hands-on lab exercises.

Course Workshop and Set-up

The workshop makes use of standard PC's with a desktop Linux distribution for development.

The following modules will be covered during the class:

  • Linux Kernel Overview
    Diagram of Linux subsystems
    Role of the kernel
  • Processes
    Process data structures
    Process context
    Process creation
  • Interrupt Context
    interrupt handlers
    Deferring work
  • Synchronization
    spin locks
    other synchronization mechanism
  • Memory Management
    Memory allocation
    Address spaces
  • Virtual Filesystem/Block Devices
    VFS data structures
    Adding a filesystem
    File system caches
    Block devices
    Proc filesystem
  • Networking
    Netlink sockets
    Proc files for networking
Enrollment Form

Prerequisites: Additional, assumed prerequisite knowledge, is experience in configuring and installing Linux kernels.

If you have any questions about the difficulty level of the class, please contact us at:  classes (at)

Optional: All attendees will get a Linux laptop to be used during the class. You have the option of purchasing this laptop with an additional course fee.

On-site: If you would like to arrange an on-site Linux  class, please contact us at: classes (at)

If you don't see this class scheduled in the timeframe/place of your preference, please let us know your preference for timeframe (which month etc.) and any particular geography preference. Send email with your interest to classes(at)

Receive Announcements & Linux Tips
Linux is a registered trademark of Linus Torvalds.