"Charting the Course ...
... to Your Success!"
Linux Internals
Course Summary
Description
This is an intensive course designed to provide an in-depth examination of the Linux kernel architecture including error handling, system calls, memory and process management, filesystem, and peripheral devices. This course includes concept lectures and discussions, demonstrations, and hands-on programming exercises.
Objectives
At the end of this course, students will be able to:
• Identify and understand the components of • Understand and explain error handling; the Linux system and its file system • Understand and explain memory • Boot a Linux system and identify the boot management phases • Understand and explain process • Understand and utilize selected services management • Identify and understand the various • Understand and explain process scheduling components of the Linux kernal • Utilize and change kernal parameters
Topics
• Introduction • Memory Management • Booting Linux • Process Management • Selected Services • Process Scheduling • The Linux Kernel • Signals • Kernel Parameters • IPC (Interprocess Communication) • Kernel Modules • The Virtual Filesystem • Kernel Error Handling and Monitoring • Interrupts • Kernel Synchronization • Time and Timers • System Calls • Device Drivers
Audience
This course is designed for Technology Professionals who need to understand, modify, support, and troubleshoot the Linux Operating System.
Prerequisites
Students should be proficient with basic tools such as vi, emacs, and file utilities. Experience with systems programming in a UNIX or Linux environment is a recommended.
Duration
Five days Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
PT5352_LINUXINTERNALS.DOC
"Charting the Course ...
... to Your Success!"
Linux Internals
Course Outline
I. Introduction VII. Kernel Error Handling and Monitoring A. The Linux Kernel A. Kernel Oops B. Kernel Modules B. Magic SysRq C. The Virtual File System C. Panics D. File System Hierarchy D. Profiling E. The System Calls (how Apps request service of kernel) VIII. Kernel Synchronization F. Interrupts (how HW requests service of A. UP vs SMP Issues kernel) B. Atomic Operations G. Kernel-Space vs User-Space C. Semaphores D. Spin Locks II. Booting Linux E. System Calls A. Firmware Phase F. About System Calls B. Boot Loader Phase G. Code Sample C. Kernel Phase H. Tools to trace system calls D. Kernel Parameters I. Internal Data Structures E. Init Phase F. Runlevels IX. Memory Management A. About Memory Management III. Selected Services B. Zones and Pages A. syslogd and klogd C. Address Space B. crond D. Block Device Caching C. Networking Services E. High Memory F. Paging IV. The Linux Kernel A. UP vs SMP X. Process Management B. Kernel Versions A. Processes C. Block Diagram B. Threads D. Tour of Source Code C. Code sample E. Tour using KDB D. Process States F. Building the Kernel E. Tools F. Internal data structures V. Kernel Parameters A. Build-Time Parameters XI. Process Scheduling B. Boot-Time Parameters A. System Call Interfaces C. Run-Time Parameters B. Code Sample D. System Tuning C. Tools D. Internal data structures VI. Kernel Modules E. Preemption A. About Kernel Modules F. Real-Time B. Loading C. Passing Parameters D. Unloading E. Kernel Modules Utilities
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
PT5352_LINUXINTERNALS.DOC
"Charting the Course ...
... to Your Success!"
Linux Internals
Course Outline (cont’d)
XII. Signals XV. Interrupts A. About Signals A. About Interrupts B. System Call Interfaces B. Interrupt Handlers C. Code Sample C. Softirqs D. Tools D. Tasklets E. Internal data structures E. Work Queues
XIII. IPC (Interprocess Communication) XVI. Time and Timers A. File Locking A. HZ and Jiffies B. Pipes B. Time of Day C. Named Pipes (FIFOs) C. Delayed Execution D. System V IPC D. Kernel Timers E. Sockets XVII. Device Drivers XIV. The Virtual Filesystem A. Character Device Drivers A. Filesystem Types B. Block Device Driers B. Superblock C. Network Device Drivers C. inodes D. Other Device Drivers D. dentries E. Files
Due to the nature of this material, this document refers to numerous hardware and software products by their trade names. References to other companies and their products are for informational purposes only, and all trademarks are the properties of their respective companies. It is not the intent of ProTech Professional Technical Services, Inc. to use any of these names generically
PT5352_LINUXINTERNALS.DOC