SmartOS Internals

Duration: 5 days

Description

This course answers the question, “How does the system work?”. It uses a combination of source code and various tools available on SmartOS to examine the topics that are covered. Tools used will include: DTrace, kmdb, mdb, and the /proc tools. Topics include: threads and processes, memory management, file systems, and I/O.

Objectives

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.
  • Describe what happens during thread switching.
  • Describe what happens during interrupt handling.
  • Explain how memory management is implemented on X64.
  • Use the SmartOS thread scheduling classes.
  • Explain how signals are handled in SmartOS.
  • Describe file system implementation, both in-memory and on-disk.

Prerequisites

Basic knowledge of Operating System concepts will help, as well as a basic understanding of programming languages. Unix fundamentals course or equivalent knowledge

Topic Outline

  • Introduction
  • SmartOS Architecture
  • Documentation
  • 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
  • Fork/Exec
  • Regular File I/O
  • Scheduling
  • Schedulers in SmartOS
  • Switching
  • Interrupt Handling
  • Processor Affinity
  • Real-time
  • Priority Inversion Handling
  • Signal Handling
  • File Systems
  • zfs Overview
  • Device Driver Introduction

Dates

See course calendar

Training Course Request Form

Thanks for your interest in training from Joyent!

Please use this form to let us know what courses you might like to attend or see added to the schedule. We will contact you to get more details on how we can meet your training needs.