Unix System Programming
LabFAQ Page
Purpose
This page contains information which may be useful for each lab assignment. It is organized by
Lab Assignment. Each assignment will contain a FAQ, which is a running dialogue of questions and
problems which arise during the course of the assignment.
Laboratory Introduction
FAQ
Introlab Assignment
Lab2 Assignment
FAQ
Lab2 Assignment
- programming tips
Some pointers on how to approach a programming assignment. - file I/O
A compilation of the main Unix file I/O operations. - make files
A helpful guide to using the make utility. Start reading it early, and
practice writing make files - compiling C
This is a short tutorial on compiling C code: what the steps are, some of the useful options. - gdb
A tutorial for using the gdb debugger. - Deconstructing Make
Deconstructing Makefile used to build static libraries.
- C strftime function
Tutorial for using the C library function strftime for formatting time values.
Lab3 Assignment
Lab3 Assignment
Lab4 Assignment
FAQ
Lab4 Assignment
Lab5 Assignment
FAQ
Lab5 Assignment
Lab7 Assignment
FAQ
Lab7 Assignment
-
System V Semaphores
A reference for using Semaphores with useful code.
- Process Cooperation
A tutorial on Interprocess Communication introducing the Consumer/Producer paradigm
of process cooperation and the Bounded Buffer Problem.
- Process Synchronization
Using System V semaphores to sychronize processes and solve the
Bounded Buffer Problem.
-
Producer/Consumer Example Code
This is a sample program using the producer/consumer solution with
semaphores. It is an example using POSIX threads (see Lab7)
Lab8 Assignment
Lab8 Assignment
Lab9 Assignment
Lab9 Assignment