This project was successfully completed by athukoralakasun for $35 USD in a day.

Get free quotes for a project like this
Project Budget
$10 - $30 USD
Completed In
1 day
Total Bids
Project Description

CSCE 5640, Fall 2016

Project #1

Due: 11-9-2016

For this project you may be working in groups of two. Each member of your group must sign up on the corresponding project sheet in order to receive a grade. Your task is to implement a semaphore-based solution to the problem stated below.

Consider a system with N blocks of storage, each of which holds one unit of information (e.g. an integer, character, or employee record). Initially, these blocks are empty and are linked onto a list called freelist. Three threads communicate using shared memory in the following manner:

Shared Variables: freelist, list-1, list-2: block (where block is some data type to hold items)


var b: pointer to type block;

while (1)


b:= unlink(freelist);


link(b, list1);



var x,y: pointer to type block;

while (1)




use_block_x_to_produce info_in_y(x, y);

link(x, freelist);

link(y, list-2);



var c: pointer to type block;





link(c, freelist);


Using the POSIX library, rewrite the code for the threads, using semaphores to implement the necessary mutual exclusion and synchronization. The solution must be deadlock-free and concurrency should not be unnecessarily restricted.

Completed by:
Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online