Unix System Programming - Advanced
"Ireland's Centre for Linux & Unix Excellence"
This 4 day course aims to build upon the existing "C" programming skills of software developers who are developing complex applications in the Unix environment. On completion of the course, software developers should be able to maximise the features that the Unix operating system provides. Extensive practical work is included throughout this course.
- Introduction to the Unix Operating System.
- Review of "C" and Unix, File (I/O)
- System calls, open create, read, write, Iseek, close, fsync & Unlink calls
- Terminal (I/O) Special Files (Devices)
- Read/Write to devices terminal control & types
- Processes & Programms, hierarchies and ID Numbers
- Fork, exec and system, inheritance exit status & Process groups
- What are Signals?
- Different types of Signals
- How different signals are created
- How signals are handled
- Sending signals between processes
- The Pipe system call. Sending message using pipes. Passing pipes to child processes
- What is a socket? Creating Sockets. Sending & receiving data. Controlling socket options
- I/O Multiplexing Rationale. The select call. File descriptor sets
- File to Memory Mapping Overview; Concepts mmap, msync, munmap.
- Shared Memory Concepts. Creating a semaphore set, controlling / configuring a segment
- Message Queues Overviews
- Creating a message queue
- Controlling & Configuring it
- Sending and receiving a message on the queue
- Advanced sockets
- Review of sockets
- TCP Streams and UDP datagrams are examined in detail
- Delegates should have a good grounding in the "C" programming language
- Familiarity with standard Unix tools and utilities.
- Delegates who are lacking in either of these skill sets should attend Griffin Software's "C" or Unix Courses or appropriate courses elsewhere.