These are the major topics discussed within each part of the course. Some flexibility is assumed since not all Unix systems are identical in all respects.
Overview
Areas of Performance Management
Performance Management Goals
System Architecture
Tools for Performance Evaluation
Performance Tuning Methodology
Unix Kernel Environment
Terminology
User mode vs. Kernel mode
Dynamic Driver Extensions
In-kernel Threading
Virtual Memory Subsystem
Terminology
Application Memory Access
Effective to Virtual Address Translation
Swapping vs. Paging
Page Stealer
Virtual Memory Control
Tools for Monitoring
Tools for Tuning
System Call Subsystem
What are System Calls?
Platform-specific Implementation (AIX, HP-UX, Solaris, Linux)
SMP and UP System Differences
How They Affect Performance
CPU Usage
Terminology
Process Scheduling Strategies
The Technique in Detail (platform-specific)
The Process Life Cycle
The Thread Life Cycle
Tools for Monitoring
Tools for Tuning
The Benefits of Various Coding Techniques
File Systems
Terminology
Traditional Filesystems
Comparison of Traditional vs. Vendor-specific
Vendor-specific FS in Detail (JFS, VxFS, hpfs)
Tools for Monitoring
Tools for Tuning
What You DO NOT Want to Do
Disk Storage Facilities
Storage Options (some are vendor-specific)
Logical Volume Manager
Veritas File System
RAID - A Hardware Approach
Policies
Attributes that Affect Performance
Optimizing Access
Availability vs. Performance
Tools for Managing
Inter-process Communication
Types of Process Communication
Performance Aspects
Network Performance (introductory topic)
Concepts
IP Architecture
Ports and Sockets
Send and Receive Queues
Tools for Monitoring
Performance Summary
Overall Tuning Strategy
Flowchart
CPU-bound Workload
Disk-bound Workload
Paging space-bound Workload
Local vs. Remote File I/O Workloads
Where to Go for More Help