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
How to Submit Your Assignment
Lab2 Assignment
FAQ
How to Submit Your Assignment
Lab3 Assignment
FAQ
How to Submit Your 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.
- shared and dynamic libraries
A tutorial on shared and dynamic libraries to supplement the lecture.
- gdb
A tutorial for using the gdb debugger.
- Deconstructing Make
Deconstructing Makefile used to build static libraries.
This will be especially helpful for exercise 1 of lab3.
Lab4 Assignment
FAQ
How to Submit Your Assignment
Lab5 Assignment
FAQ
How to Submit Your 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
FAQ
Lab8 Assignment
Lab9 Assignment
FAQ
Lab9 Assignment