Advanced Solaris 11 Systems Programming Training

Course #:SO117

Advanced Solaris 11 Systems Programming Training

This course introduces the participants to system level programming in the C language in a Solaris 11 environment. The course focuses on Unix system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the Unix operating system, including: introduction to UNIX kernel structure, I/O, Signals, Signal handlers, Timers, Processes, Multi-Tasking, Inter-Process Communication (IPC) Pipes, Shared memory, Message Queues, Semaphores, Networking, Sockets, using TCP/IP and UDP/IP.Throughout the course the information presented is related to the participant through: the execution of common Solaris 11 user/administrator commands, and writing, compiling, and executing example C language programs which demonstrate the use of system routines and accessing system data structures on a live Solaris 11.2 system.

Upon completion of this course the participant will be able to: 

  • Explain the various mechanisms available to the programmer in a Solaris 11 environment
  • Write a wide variety of applications using standard Unix system calls and library functions


This course normally requires five (5) days, 60% lecture, 40% hands on lab exercises.


It is assumed that the participant has a solid background in basic Unix utilities and editors (such as vi), and a working knowledge of the C (or C++) programming language(s). The

material in this course applies to all major Unix variants (Oracle Solaris, HP-UX, IBM AIX, and all Linux types). Environmental or execution differences will be shown when


Outline of Advanced Solaris 11 Systems Programming Training

System Programming Environment of the Solaris 11 Operating Environment

  • Environment of a C language program
  • System level programming requirements:
  • C compiler issues
  • Header files and libraries
  • Special data types used
  • Useful functions
  • Error handling (basic)
  • Documentation
  • Security Issues

File Systems

  • Types of file I/O
  • File I/O structures
  • File I/O access types
  • Dealing with STDIN, STDOUT, STDERR
  • Creating and using temporary files
  • Directory file access and manipulation
  • Permissions

Process Creation and Control

  • Attributes (username, UID, PID, Groups)
  • Creation methods
  • Multi-tasking
  • Shells
  • Synchronization
  • An introduction to threads

Synchronization and System Information

  • Time issues:
  • how time is maintained
  • timers
  • General synchronization
  • semaphores
  • mutexes
  • signals (generation and handling)
  • System information:
  • uname
  • hostname
  • load averages

Interprocess Data Communication Facilities

  • Overview of Unix IPC Facilities
  • Memory Mapped files
  • Pipes and Named Pipes
  • Messages Queues
  • Creating and Using Shared Memory structures
  • Programming the Solaris 11 contract data system

Sharing Code Between Processes

  • Building shared object (libraries)
  • Static Linking
  • Dynamic Linking


  • Concepts and basic requirements
  • Socket creation and usage
  • TCP/IP level connections
  • UDP/IP level connections
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.