training

 

 

Advanced Solaris 11 Systems Programming – 5 Days

Course Description

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.

Prerequisites

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 applicable.

Objectives

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

Outline   

                        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

                        Networking

                                    Concepts and basic requirements

Socket creation and usage

TCP/IP level connections

UDP/IP level connections

MindIQ.com

Print Friendly, PDF & Email