Acest proiect a fost finalizat cu succes de athukoralakasun pentru 35$ USD în o zi.

Obține oferte gratuit pentru un proiect similar
Buget proiect
$10 - $30 USD
Finalizat în
1 zi
Nunăr total de oferte
Descriere proiect

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.

Finalizat de către:
Aptitudini necesare

Vrei să câştigi niște bani?

  • Setează-ți bugetul și intervalul de timp
  • Schițează-ți propunerea
  • Fii plătit pentru munca ta

Angajează freelanceri care au plasat oferte și la acest proiect

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