EIEIOTECHNOVATION
← Training programmes

EIEIO / OPERATING SYSTEMS

Red Hat Linux Kernal Internals

Reference course outline

RHD2365 days

Course Description

RHD236 Red Hat Linux Kernel Internals is an intensive hands-on course designed to provide a detailed examination of the Linux kernel architecture, including process scheduling, memory management, filesystems, and driving peripheral devices. RHD236 is taught in a classroom with computers equipped with the current Linux distribution. This 5-day course provides hands-on training, concepts, and demonstrations, with emphasis on realistic labs and programming exercises.

Prerequisites:

Completion of RHD221 (Linux Device Drivers) or equivalent experience, including:

Familiarity with basic tools such as vi, emacs, and file utilities.

Knowledge of systems programming in a Unix or Linux environment is a requirement; register-level hardware programming knowledge is recommended.

Understanding of basic Operating System concepts.

Some previous experience running Linux, compiling and installing kernels, etc.

Experience writing device drivers and kernel modules is not essential, but very helpful.

Goal:

Upon completing the class, students should feel comfortable modifying the Linux kernel to fit the needs of their hardware or applications, and developing device drivers. They will also have the tools necessary to port existing applications and device drivers to Linux, primarily from Unix-like systems.

Audience:

This class is intended for experienced developers who want to gain a thorough understanding of the Linux architecture, including the newest kernels.

:: Course RHD236 ::

Course Outline

Kernel Architecture

Kernel Initialization

Kernel Configuration and Compilation

Kernel Style and General Considerations

Kernel Browsing Tools

Modules

System Calls

Transferring Data Between User and Kernel Space

Race Conditions and Synchronization Methods

Processes and Kernel Threads

SMP and Threads

Process Scheduling

Kernel Profiling and Debugging Techniques

The /proc Filesystem

Timing Measurements

Dynamic Kernel Timers

Memory Addressing

Memory Allocation and Management

NUMA

Process Address Space

Disk Caches

Swapping

Signals

Notifiers

CPU Frequency Scaling

Virtualization and the Kernel

Networking internals

Multiplexed and Asynchronous Socket I/O

Netfilter

The Virtual File System

Filesystems in User Space

The following topics are not covered in class, but are included in the course materials for background reference and/or student interest in related topics:

Process Limits and Capabilities

Introduction to Device Drivers

Embedded Linux Overview

In Kernel Web Server Acceleration

Journaling Filesystems

This is a version-specific reference outline. Confirm the current syllabus and delivery arrangements with EIEIO.