Unix Systems Programming: Lab 9 - RPC & pthreads

Due:          Tuesday, March 11, 2014 @5:00 pm.


Purpose and Rationale

The purpose of this lab is to allow students to become comfortable with Multithreaded Programming using the POSIX Pthreads API.

Primary Resouces:

FAQ (submission instructions and other useful stuff)

Important Notes

There are several references for this labs

All work should be done on a machine in the department's Linux cluster. You can refer to ssh for more information on how to log into a remote machine.

Marks Distribution

TOTAL 12 points

Lab 9 : Pthreads

Project

Your code for Lab 8 was designed to support multiple clients, but one client at a time. You kept clients waiting until your server finished handling the current client. In this lab you will extend your spell-checker to support multiple clients at the same time.

Your server should be able to support multiple client's simultaneously. We will test that it correctly handles up to three client's simultaneously.

Unless you use synchronization mechanisms (such as semaphores) you must take care not to have shared variables among your threads which require they change the value of the variable.

Deliverables

Carefully follow the 4 steps below.

  1. Create a directory:
           username.lab9
  2. This directory will contain:
  3. When you are finished with your directory you will create a compressed archive file using tar (this utility stores your directory as a single file, then compresses its size.)
           tar -czvf   username.lab9.tgz   username.lab9

  4. You will email your file to our graders as an attachment. They will send an acknowledgement that your assignment has been received.

  5. To  Aiman Fang (aimanf@cs.uchicago.edu), Zhixuan Zhou(zhixuanzhou@cs.uchicago.edu)
    Attachment  username.lab9.tgz
    Subject  CSPP51081-lab9