Name: Advanced Unix C Programming
Course Code: GA200
Duration: 4
Scheduled Dates for GA200
This course covers system programming in C for a UNIX system which complies with POSIX. Topics covered include making system calls to perform input/output, control processes, perform interprocess communication, and program for networks. The student will learn to write Unix system calls and to use C library functions related to system features. The course includes hands-on exercises to reinforce concepts and build skills.
Target Audience
This course is intended for programmers who have experience with UNIX/Linux and C programming, and who need to know how to write code which manipulates the Unix operating system.
Key Topics
- Basics
- - C within Unix
- - Headers
- - Documentation
- - Compiling
- - Linking
- - Debugging
- - makefile
- Manipulating the File System
- - Access files
- - /proc file system
- - Devices
- - System calls
- - Device Drivers
- - Library functions
- - Low-level file access
- - POSIX
- - Manage files
- - Standard I/O
- - Format input and output
- - Maintain files and directories
- - Handle errors
- - Changing Permissions
- - Links
- - Manipulating Directories
- Date/Time
- - Unix date representation
- - Low-level time format
- - The tm structure
- - Conversion specifiers
- - clock()
- Memory Management
- - Allocating Memory
- - Freeing Memory
- - Locking and unlocking files
- - Mandatory/advisory locks
- - Blocks/non blocking locks
- - flock
- Processes
- - Defining a process
- - Processes in memory
- - Spawning processes
- - system(), exec(), and fork()
- - wait()
- - Environmental variables
- Signals
- - Signal types
- - Signal functions
- - Sending signals
- - Waiting for signals
- - Interprocess communication
- - SIGALRM
- - sigaction()
- - Blocking signals
- - Signal sets
- Pipes
- - Pipes
- - popen(), pclose()
- - Modes
- - Writing to / reading from a pipe
- - Named pipes
- - Reading/writing a FIFO
- Sockets
- - Socket connections
- - Servers and Clients
- - Socket attributes
- - Internet addressing
- - bind(), listen(), accept(), connect(), close()
- - Network programming with sockets
- - Loopbacks
- Interprocess Communication
- - Shared Memory
- - Semaphores
- - Message Queues
Required Skills/Experience
- Student must be proficient in C programming and must know the basics of the Unix operating system.
Fee: $1,600.00
Course Schedule:
Back to Course Description
Austin
Charlotte
Columbia
Hunt Valley
Lansing
Madison
Milwaukee
Minneapolis
Oak Brook
Oklahoma City
Phoenix
Raleigh
San Antonio
Schaumburg
Tulsa
Washington DC