Project 4 -- IPC

Due Wednesday, December 11

(Note that due date is later than originally listed in the class schedule.)

This assignment will be worth 9.99% of your course grade.

(Note that value is less than originally listed in the course syllabus.)

NOTE: This assignment is due at 11:59 PM on the due date. If you are even a minute late, you lose 20%. If you are worried about potentially being late, turn in your project ahead of time. Do this by submitting it electronically, then giving the hard copy to me or the TA during office hours or by sliding it under my office door within twenty-four hours after the time it is due. Do not send assignments to me through email or leave them in my departmental mail box.

One type of program that many people have become interested in recently is the "chat" or "instant message" type of program - one where users can type messages back and forth to one another and have them appear on each others' screens right away. UNIX systems have had these types of programs for decades. See, for example, the talk program. Your job will be to write a simple two-person chat program that we will call, appropriately enough, chat.



The Assignment

For this assignment, you will implement chat as follows.

IPC

For our IPC, we will use FIFOs (also called "named pipes"). Each user will have his or her own FIFO for receiving messages and will send messages to other users on the FIFOs belonging to those other users.

INVOKING CHAT

A user may invoke chat in one of two ways: passive and active.