Course Title
Total Page:16
File Type:pdf, Size:1020Kb
"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 .