Red Hat - Kernel Internals |
|
|
| Course Length - 4 or 5 Days | | | | Course Description Linux Kernel Internals is a fascinating and valuable hands-on exploration into how the Linux Kernel operates. Using a combination of commands and the actual Linux Kernel source code, you and your team will gain hands-on experience in how the Linux Kernel manages process, memory, I/O devices, and more. | | | | | | Course Duration Linux Kernel Internals is a four or five day hands-on course. The five day version provides the best hands-on experience; a compressed four-day version is also possible. | | | | | | Course Prerequisites The key prerequisite is a desire to quickly gain hands-on experience in Linux Kernel Internals. Knowledge of the C Programming Language is also useful. | | | |
| | | | Course Outline: | | Introduction | | - Linux Kernel Feature Overview
- Linux Kernel Architecture
- Kernel Version Numbers
- Where to get kernel source code
| | | Kernel Source Code Environment | | - Kernel Configuration Options
- Kernel Building
- Kernel Testing
| | | Tour of Linux Kernel Source Code | | - Key Top-Level Files
- Key Top-Level Directories
- The Top-Level Makefile
- Kernel Source Code Style
| | | The Kernel Boot Process | | - Boot Loader
- initrd
- Kernel Initialization
- The init process
- Run Levels
| | | System Calls | | - Library Calls vs System Calls
- Table of System Calls
- System Call Dispatching
- Returning from System Calls
| | | Interrupts | | - Timer Interrupts
- I/O Interrupts
- Tasklets
- Exceptions
| | | Signals | | | | | Processes | | - Processes and Threads
- struct task_struct
- Scheduling
- Process Address Space
- Memory Regions
| | | Interprocess Communication | | - Pipes
- Named Pipes
- Shared Memory
- Semaphores
- Message Queues
| | | Synchronization | | - Sleeping/Waking
- Semaphores
- Spin Locks
| | | Timing | | - Hardware Timers
- jiffies
- Kernel Timers
| | | Memory Management | | - Physical and Virtual Memory
- Page Frames
- Memory Areas
- Disk Caches
- Swapping
| | | Virtual File System | | - File System Types
- Mounting
- File I/O
- /proc File System
- ext2/ext3 File Systems
| | | Modules and Device Drivers | | - Kernel Modules
- Character Devices
- Block Devices
- Network Devices
| | | Networking | | - Overview
- Key Data Structures
- Following the Network Stacks
| | | Where to go from here | |
|