Unix Systems Programming CSPP5108

Syllabus

The following abbreviations reference the following works:
 
 
Abbreviation Text
BLP Beginning Linux Programming 
UNP1 UNIX Network Programming, Volume 1
PPT Programming with POSIX Threads (optional )
APUE Advanced Programming in the UNIX Environment
UULP Understanding Unix/Linux Programming (optional )

NOTE:  Numbers besides the references are chapter numbers.  Odd numbers like APUE 14.1-14.5 mean sections 1 through 5 of chapter 14 of APUE.
 
 
Class 1 Introduction & syllabus review
Historical Introduction to UNIX
Introduction to Awk Programming 
BLP, 1,2,4 
[UULP 1]
EAP, 1-8

LAB 1

Class 2 Tools and Compilation

C compiler, compiling & linking, 
creating and using static libraries creating and using shared libraries 
Unix File I/O

BLP 3,4,8,9 
APUE 3,4,5 

LAB 2

Class 3 Tools and Compilation continued

Introduction to make 
Debugging with gdb & ddd
Processes & Signals
Signal Handling

APUE 3,4,5,7, 10 
[USP 2,3,4,5] 
[UULP 3,4] 
Class 4 Processes & Signals continued

Process Creation:  fork & exec 

BLP 10 
APUE 7, 8, 10 
[USP 10,11] 
[UULP 8,9] 

LAB 3

Class 5 Processes continued 

Pipes: unnamed & named (FIFO) 
Debugging multiple processes

APUE 9, 14.1-14.5 
BLP 12 
[USP 13(Pipes & FIFOs)] 
[UULP 10] 
Class  6 MID TERM EXAM    (Written & Live) 

Class 7 System V InterProcess Communication (IPC): 

Semaphores
Message queues
Shared Memory
BLP, 13 
APUE 14.6-14.11 
[USP 13(System V IPC Functions)] 
[UULP  15.3] 

LAB 4

Class 8 C Socket Programming 
Sun RPC
UNP1 1-9 
[USP 14] 
[UULP 11,12,13] 

LAB 5

Class 9 Multithreaded Programming on Unix with POSIX pThreads PPT 1-5, 8
[UULP 14]
Class 10 FINAL EXAM: (Written & Live) 
Final Exam Study Guide