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.
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
|
Can't Travel for Training?
Sun eLearning and On Demand Labs give you easy access to the training you need.
Sun Career Stimulus Package
Providing people with skills to be successful IT professionals.
|