Monday, January 27, 2014 at 9:00 AM - Friday, January 31, 2014 at 5:00 PM (PST)
San Francisco, CA
Duration: 5 days
Trainer: Max Bruning
This course answers the question, “How does the system work?”. It uses a combination of source code and tools available on SmartOS / illumos / Solaris to examine the topics covered. Tools used include: dtrace, kmdb, mdb, and the /proc tools. Topics include: threads and processes, memory management, file systems, and I/O.
On completion of this course, students will be able to:
- Use DTrace, mdb, and kmdb to examine how the system works.
- Describe implementation of threads and processes on SmartOS / illumos.
- Describe what happens during thread switching.
- Describe what happens during interrupt handling.
- Explain how memory management is implemented on X64.
- Use the SmartOS / illumos thread scheduling classes.
- Explain how signals are handled in SmartOS / illumos.
- Describe file system implementation, both in-memory and on-disk.
Basic knowledge of Operating System concepts will help, as well as a basic understanding of programming languages.
Unix fundamentals course or equivalent knowledge
- illumos Architecture
- Source Code Layout
- Overview of Kernel Components
- Threads and Processes
- Programming Model
- Data Structures
- Process Address Space
- System Calls, Traps, and Interrupts
- Memory Management
- Data Structures
- The HAT Layer
- Page Table Management
- Page Fault Handling
- Memory Mapping
- Segment Drivers
- User Process Address Space
- Kernel Address Space
- Swap space management
- Page Stealing
- Shared Memory
- Regular File I/O
- Schedulers in SmartOS / illumos
- Interrupt Handling
- Processor Affinity
- Priority Inversion Handling
- Signal Handling
- File Systems
- ZFS Overview
- Device Driver Introduction