by Alan Dix
UNIX Systems Programming I
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).
UNIX Systems Programming II
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.
Prerequisites: Reasonable standard of C programming plus an understanding of basic UNIX file I/O (as above, but excluding TTY handling).
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).
UNIX Systems Programming II
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).