Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
IPC and Concurrency
Reminder: The rules of academic conduct apply as described in the course outline. All
coding is to be done individually or in pairs. We will be using software to compare all
assignments handed in by the class to each other, as well as to assignments handed in for
previous terms.
Be sure that this assignment compiles on the Linux computers in the CSIL lab using the
gcc compiler. You can access the Linux server remotely as detailed on the course
discussion forum.
What to Hand In: Include your source code file(s) (.h and .c) and a makefile (with a
default target to make all, and a clean target).
There is a bit of work to do here and you should begin right away. Trust me - you will not
finish this if you leave it for the last week. Do yourself a huge favour and begin NOW.
This is a great assignment. Why is it great you ask? It is great for two reasons:
1. you are going to learn many things:
o how to use UNIX UDP IPC
o increased detail regarding the joy (and pain) of programming concurrent
processes
o how to program using the client/server model
o how to write a multi-threaded program using pthreads (which is
representative of most other threads packages)
o how to solve the critical section problem between threads
2. it is going to be fun
o you are left to judge the truth of this statement
Assignment Overview
For this assignment you are going to create a simple "chat"-like facility that enables
someone at one terminal (or Xterm) to communicate with someone at another terminal.
The interface will not be pretty, but it will be functional.