RHD236 Red Hat Linux Kernel Internals

This 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. This course provides hands-on training, concepts, and demonstrations, with emphasis on realistic labs and programming exercises.
Students should be familiar with basic tools such as vi, emacs, and file utilities. Knowledge of systems programming in a UNIX or Linux environment is a requirement; and register-level hardware programming knowledge is recommended. Some previous experience running Linux, compiling and installing kernels, and experience writing device drivers and kernel modules is not essential, but very helpful.
5 Days/Lecture & Lab
This class is intended for experienced developers who want to gain a thorough understanding of the Linux architecture, including the newest kernels.
  • Kernel Architecture
  • Kernel Layout and Configuration
  • Kernel Style and General Considerations
  • Modules
  • Synchronization Methods
  • Kernel Initialization
  • Timing Measurements
  • Dynamic Kernel Timers
  • Wait Queues
  • Work Queues
  • Tasklets
  • Debugging Techniques
  • The /proc Filesystem
  • The seq_file Interface
  • Processes
  • Process Limits and Capabilities
  • Process Scheduling
  • Interrupts and Exceptions
  • System Calls
  • Signals
  • Device Drivers
  • User Kernel Space
  • Character Drivers
  • Memory Addressing
  • Memory Management
  • Process Address Space
  • Disk Caches
  • Swapping
  • Memory Mapping
  • Multiplexed and Asynchronous I/O
  • Networking internals
  • In Kernel Web Server Acceleration

Related Scheduled Courses