UNIX System Interface Programming (SI-220)

Product Review:

We encourage you to provide feedback on Sun's Products by posting a comment . If you'd like to be notified of replies, be sure to include your email address. (Your information will not be used for any other purpose.) By submitting a comment, you agree to these Terms of Use.

UNIX System Interface Programming teaches you to write C programs with the most commonly used system and library calls in the Solaris 2.x operating system and Solaris 7 operating system. It is designed for C programmers who will be writing applications that use the services of the Solaris 2.x operating system and Solaris 7 operating system. This course contains an introduction to the ANSI C, POSIX, and SVID-3 standards included in Solaris 2.x operating system and Solaris 7 operating system. It describes the use of the most popular system calls and library calls in the Solaris 2.x and Solaris 7 operating systems (including the standard I/O library and the low-level calls to use files and directories). The course also covers the calls to create a new process and run a new program, signals, and Solaris 2.x operating system and Solaris 7 operating system inter-process communication facilities, including pipes, mmap, system VIPC, and sockets.

»   Details below
 
 
Select a course
Product ID Duration Price
SI-220B 5 days $2,195.00

Please contact a Sun Training Representative to order this product.

If schedules are not displayed, or schedules shown do not match your availability, select "Request a Class" to inquire about dates or arranging an onsite or dedicated class for your organization.

 
 
Who Can Benefit

 Back to top

 
 
Prerequisites
To succeed fully in this course, students should be able to:
  • Write correct C programs that use command-line arguments, pointers, and structure
  • Create and edit text files using vi or the OpenWindows Text Editor
  • Use basic Solaris operating system commands

 Back to top

 
 
Skills Gained
Upon completion of this course, you should be able to:
  • Define the terms Portable Operating System Interface for Computer Environments (POSIX) and System V Interface Definition (SVID)
  • Understand the relationship of the Solaris operating system to POSIX and SVID
  • Write applications that perform basic file operations
  • Use file and record locking
  • Identify the differences between system and library functions
  • Query and modify process attributes and resource limits
  • Write applications that use memory-management facilities for dynamic memory allocation
  • Understand the directory structure and write applications that can read directory hierarchies
  • Compose applications that can generate other processes and exercise some control over the new processes
  • Write applications that use the signal handling facilities and virtual memory facilities to improve performance and that exchange data through pipes, message queues, and shared memory
  • Synchronize processes with the use of semaphores
  • Write a simple client-server application using socket functions

 Back to top

 
 
Related Courses

Before:

  • C++ and Object Oriented Programming (SL-240)

After:

 Back to top

 
 
Course Content

Module 1 - System Interface Overview

  • POSIX and SVID
  • Programming environments available in the SunOS 5.x operating system
  • Differences between system calls and library calls, and how to find information on them
  • How to handle error returns
  • Standard I/O and memory functions

Module 2 - Spawning New Tasks

  • The need for creating processes
  • Creating a process
  • Running a new program
  • Terminating the current process
  • Waiting for a process to terminate

Module 3 - System and Process Information

  • How to gain access to the system name and identification number
  • How to gain access to information about files and system limits
  • Fields in a password entry
  • How the Solaris operating system keeps time, and the routines used to translate between various forms of time
  • Definition of a process and a process virtual address space
  • How to use arguments and environment variables
  • Dynamically allocate memory
  • Attributes of a process
  • The difference between real and effective user IDs
  • Retrieving the time resource usage information about a process and its children

Module 4 - Files

  • Describing a Solaris operating system file
  • Listing the information the system keeps about a file
  • How to read and write to regular files
  • The difference between open ( ) and dup ( )
  • Some advanced standard I/O calls, and why they should not be mixed with system I/O calls
  • Creating temporary files
  • Performing simple file control
  • Use anonymous pipes

Module 5 - Directories

  • The format of a directory
  • Reading the contents of a directory
  • How to create and remove a directory
  • The difference between hard and symbolic links
  • Renaming files

Module 6 - Signals

  • The uses of signals
  • Sending signals
  • Signal sets
  • The difference between blocking and catching a signal
  • Writing a signal handler
  • The different timers that are available

Module 7 - Programming with Threads

  • Describe the importance of a lightweight process in thread programming
  • Explain the advantages of multiple threads and LWPs for a process
  • Write code to create threads and communicate with other threads

Module 8 - Overview of IPC

  • Describe the characteristics of inter-process communications
  • Describe IPC methods
  • Explain how to list and remove IPC objects from the command line

Module 9 - Short Messages

  • Using named pipes
  • Use message queues for inter-process communication

Module 10 - Shared Memory

  • Use mmap() to map files into memory
  • Explain the need to synchronize memory with backing store
  • Share a memory region using System V shared memory region

Module 11 - Synchronization

  • Understand why locking and synchronization are necessary
  • Understand test-and-set
  • Understand the available locking types, their applications and their differences
  • Understand the application the different kinds of locks to inter-process and intra-process threads accessing shared data

Module 12 - Sockets

  • The socket client-server model
  • Differences between stream and datagram sockets
  • Differences between UNIX and Internet sockets
  • The need for network byte-order functions
  • Translating a host name to an Internet protocol (IP) address
  • How to connect the client and server
  • How to send and receive data
  • Doing simple asynchronous I/O
  • How to use select ( ) on sockets

 Back to top

 
 
Browse Other Course Topic Areas
 
Sun Training U.S.   
» Training outside the U.S.
 
 
 
 
 
Can't Travel for Training?
Sun eLearning and On Demand Labs give you easy access to the training you need.
Sun Career Stimulus Package
Sun Career Stimulus Package
Providing people with skills to be successful IT professionals.