lf logo
8177  Reviews star_rate star_rate star_rate star_rate star_half

Linux Kernel Internals and Development

Learn how to develop for the Linux kernel. In this instructor-led course you’ll learn how Linux is architected, the basic methods for developing on the kernel, and how to efficiently work with the...

Read More
$3,250 USD
Course Code LFD420
Duration 4 days
Available Formats Classroom

Learn how to develop for the Linux kernel. In this instructor-led course you’ll learn how Linux is architected, the basic methods for developing on the kernel, and how to efficiently work with the Linux developer community. If you are interested in learning about the Linux kernel, this is the definitive course on the subject.

Skills Gained

In this course you will learn how Linux is architected, how kernel algorithms work, hardware and memory management, modularization techniques and debugging, how the kernel developer community operates and how to efficiently work with it, and much more.

Who Can Benefit

This course is designed to provides experienced programmers with a solid understanding of the Linux kernel. Students should be proficient in the C programming language, basic Linux (UNIX) utilities such as ls, grep and tar, and be comfortable with any of the available text editors (e.g. emacs, vi, etc.).

Prerequisites

To make the most of this course, you must:

  • Be proficient in the C programming language, basic Linux (UNIX) utilities such as ls, grep and tar, and be comfortable with any of the available text editors (e.g. emacs, vi, etc.) Experience with any major Linux distribution is helpful but not strictly required.

Course Details

Course Outline

  • Introduction
  • Preliminaries
  • How to Work in OSS Projects **
  • KernelArchitecture I
  • Kernel Programming Preview
  • Modules
  • KernelArchitecture II
  • Kernel Initialization
  • Kernel Configuration and Compilation
  • System Calls
  • Kernel Style and General Considerations
  • Race Conditions and Synchronization Methods
  • SMP and Threads
  • Processes
  • Process Limits and Capabilities **
  • Monitoring and Debugging
  • Scheduling
  • MemoryAddressing
  • Huge Pages
  • MemoryAllocation
  • ProcessAddress Space
  • Disk Caches and Swapping
  • Device Drivers**
  • Signals
  • Closing and Evaluation Survey