AIX Training Overview
This course introduces the participants to system level programming in the C language in a IBM AIX environment. The course focuses on HP-UX system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the IBM AIX 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 IBM AIX 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 IBM AIX system.
AIX Training Prerequisites
It is assumed that the participant has a solid background in basic IBM AIX utilities and
editors (such as vi), and a working knowledge of the C (or C++) programming language(s).
AIX Training Course duration
This course normally requires five (5) days, 60% lecture, 40% hands on lab exercises.
AIX Training Course Objectives
Upon completion of this course the participant will be able to:
- Explain the various mechanisms available to the programmer in a IBM AIX environment
- Write a wide variety of applications using standard Unix system calls and library functions
AIX Training Course outline
System Programming Environment of the IBM AIX Operating System
- 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
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
|