Alan Dix's short courses and tutorials
(first delivered while at School of Computing, Huddersfield University)
Taught as two independent units: UNIX Systems Programming I and UNIX Systems Programming II (not very imaginative I know!). These can be taken together as a single 2 day course or independently. The second unit assumes an understanding of basic UNIX file I/O.
You can download the complete notes (PDF) for this course
N.B. These units do not cover UNIX network programming or X-based window applications. These are catered for in my other short courses. especially UNIX Power Tools, Introduction to X Motif and Unix Network Programming with TCP/IP.
|Content:||File I/O, filters and file manipulation. Command line arguments and environment variables. Terminal handling and text based screen applications. Interrupt handling. Finding the time. Mixing C and scripts.|
|Objective:||The attendee should leave the course able to produce programs similar to standard UNIX utilities (mv, rm etc.) using raw UNIX system calls and do basic screen manipulation (for text based editors, menu driven systems, forms etc.).|
|Prerequisites:||Reasonable standard of C programming (should understand pointers, structures, functions).|
|Content:||Advanced file I/O including special devices. Process handling (fork, exec etc.). Inter-process communication via pipes, pseudo terminals. and sockets. Blocking & non-blocking I/O, handling multiple I/O streams using select. Other miscellaneous system calls including timers. Locking and caching issues.|
|Objective:||The attendee should leave the course able to produce programs which generate, link and control multiple processes, the pre-requisite for more advanced clientserver and network-based applications.|
|Prerequisites:||Reasonable standard of C programming plus an understanding of basic UNIX file I/O (as above, but excluding TTY handling).|
|http://www.hiraeth.com/alan/tutorials/courses/unixprog.html||Alan Dix 5/8/98|