"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 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 • 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 • 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 • • 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 .

Prerequisites

Students should be proficient with basic tools such as vi, emacs, and file utilities. Experience with systems programming in a 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 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. 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. 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