Write An Essay logo
  • Home
  • Dissertation Writing
  • Essay Writing
  • Personal Statement
  • My account
  • Order now
Order Now
Uncategorized

Programming in C: Please read the discription on the attached picture.

2 min read
Posted on 
April 1st, 2022
Home Uncategorized Programming in C: Please read the discription on the attached picture.

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/global variables in the following manner:

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

Thread-1:
var b: pointer to type block;
while (1)
{
b:= unlink(freelist);
produce_information_in_block(b);
link(b, list-1);
}

Thread-2:
var x,y: pointer to type block;
while (1)
{
x:=unlink(list-1);
y:=unlink(freelist);
use_block_x_to_produce info_in_y(x, y);
link(x, freelist);
link(y, list-2);
}

Thread-3:
var c: pointer to type block;
while(1)
{
c:=unlink(list-2);
consume_information_in_block(c);
link(c, freelist);
}

You must insert semaphores into these three threads to enforce the necessary mutual exclusion and to synchronize the threads. Your solution must be deadlock-free and concurrency should not be unnecessarily restricted.

Items to submit:

  • You must submit your group’s pseudocode showing how semaphores were used to solve mutual exclusion and synchronization problems. For each P() and V() operation you insert, you must provide a comment describing why you have inserted this particular operation on this particular semaphore at this particular position in the code.
  • You must submit a report that includes a list of all semaphores used in your solution. For each semaphore, you must
    • State whether it is a binary or counting semaphore.
    • State whether that semaphore is used for synchronization or for mutual exclusion.
    • Describe the role of that semaphore in this solution. For example, what problems are solved by using this semaphore.

Extra Credit Opportunity: Using the POSIX library, rewrite the code for the threads using semaphores to implement the necessary mutual exclusion and synchronization. If your solution is correct, and your code works, you can receive up to a maximum of 1.5 points added to your course grade.

attachment_1

Order an Essay Now & Get These Features For Free:

Turnitin Report

Formatting

Title Page

Citation

Outline

Place an Order
Share
Tweet
Share
Tweet
Calculate the price
Pages (275 words)
$0.00
Write An Essay
Company
  • Why Choose Us
  • About Us
  • Terms
  • Dissertation Help
  • Personal Statement
  • Research Paper Format
  • Term Papers
Legal
  • Write My Essay
  • Thesis Format
  • Custom Papers
  • Coursework Writing
  • Dissertation Writing
  • Essay Writing
How Our Service is Used:
Write An Essay essays are NOT intended to be forwarded as finalized work as it is only strictly meant to be used for research and study purposes. Write An Essay does not endorse or condone any type of plagiarism.
Subscribe
No Spam
© 2022 Write An Essay. All rights reserved.
Write An Essay will be listed as ‘Write An Essay’ on your bank statement.