CSPP 51081 Home Page
CSPP 51081 Unix Systems Programming
(aka The Unix Programming Environment)
Course Description
CSPP 51081 is a UNIX systems programming course which explores various and sundry topics in systems programming using the Unix platform. Topics to be covered in detail will include:
Unix History and Philosophy
Awk Programming
Unix File I/O
Static and Shared Libraries
Processes and Signals (fork, etc.)
Pipes (unnamed and FIFOs)
System V IPC (semaphores, message queues, shared memory)
Berkeley Sockets
Sun RPC
POSIX pThreads
In addition to the traditional systems programming topics, this course will also introduce students to a significant level of detail in the use of Sun RPC (Remote Procedure Calls) and multithreaded programming, including operating system support and models (1-1, many-1, many-many). Students will be exposed to the numerous issues involved in safe and efficient multithreading strategies using the POSIX pThreads API as implemented by Linux's clone() and Solaris threads. Multithreading architectures will be discussed as well as advanced issues such as mutexes, semaphores, race conditions, deadlocks, etc. Berkeley socket programming will be covered in detail, as well as the creation and use of shared libraries.
Various tools used in developing software in C on Unix will be
covered, including gcc, gdb, ddd, gprof, cvs, etc.
Because this is a programming course, students will be expected to know
the C programming language upon course entry.
Teaching staff:
J. Mark Shacklette,
mark@cs.uchicago.edu (
NOTE: ALL non-confidential email should be addressed to the
list. )
(Office hours listed on the syllabus
)
Syllabus:
Details of the course can be found in the course syllabus
.
Prerequisites:
Students are required to know basic C programming. Prior
minimal exposure to Unix is recommended.
Lecture Notes:
Lecture 1 html format pdf
Lecture 2 html format pdf
Lecture 3 html format pdf
Lecture 4 html format pdf
Lecture 5 html format pdf
Lecture 6 No Lecture--Mid Term ExamLecture 7 html format pdf
Lecture 8 html format pdf
Lecture 9 html format pdf
Final Exam Study GuideOnline Sources of Relevant Information:
Reading List:
To join the Listserv for this course, go to:
http://mailman.cs.uchicago.edu/mailman/listinfo/cspp51081
I can be reached at several email addresses, among them: