Vehicle tasks using semaphores, Operating System

Assignment Help:

Gopher Gallery consists of a shopping mall and a cart ride that covers  the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors  stroll around the mall at their leisure, then line up for the cart ride. When a cart is
available, it allows the single passenger to climb aboard and drives around the habitat for a random amount of time. If the n carts are all taken, then a future rider waits; if a vehicle is available but no one is waiting, then the vehicle waits.
The solution to this problem must synchronize visitor tasks and vehicle tasks using semaphores.
Below is a potential solution. Correct any issues with this code, if any exist.
Explain your position in detail.

Semaphore vehicleAvailable = 0, vehicleTaken = 0, vehicleFilled = 0, visitorReleased = 0;

Visitor()

{
vehicleAvailable.wait();
vehicleTaken.signal();
vehicleFilled.wait();
visitorReleased.wait();

}

Vehicle()

{
while(True)
{

vehicleAvailable.signal();
vehicleTaken.wait();
vehicleFilled.signal();
Drive through habitat for some arbitrary amount of time;
visitorReleased.signal();

}
}


Related Discussions:- Vehicle tasks using semaphores

What is mutual exclusion, Question 1 Brief the following distributed compu...

Question 1 Brief the following distributed computing system model Question 2 Explain the components involved in implementation of RPC mechanism Question 3 What is

Graph - plotting job, This exercise uses a graph-plotting program ( gnuplot...

This exercise uses a graph-plotting program ( gnuplot ) to convert tabular data into an image. This is a technique that is very widely used to visualize scientific data; with app

Sharing memory, As we have discussed, page tables map virtual page addresse...

As we have discussed, page tables map virtual page addresses to physical page addresses. One of the advantages of using virtual addresses is that we can achieve complete separation

What does verification represent, What does Verification represent? Ver...

What does Verification represent? Verification shows the set of activities that are carried out to confirm that the software correctly executes the specific functionality.

Memory hierarchy, Difference between cache and associate memory

Difference between cache and associate memory

#network OS, what are the design issues of network OS

what are the design issues of network OS

What is the use of multiprogramming on individual processors, What is the u...

What is the use of multiprogramming on individual processors ? In the usual multiprocessor, which is dealing with independent or coarse-grained synchronization granularity, it i

Operating system, What criteria are important in choosing a file organisati...

What criteria are important in choosing a file organisation?

Explain the sleep (ms) function, Explain the Sleep (ms) Function  This ...

Explain the Sleep (ms) Function  This call places the current thread in a suspended state for the number of milliseconds passed as the parameter (ms). After that Windows NT wil

Define paging , Paging: Only the needed memory pages are moved to main me...

Paging: Only the needed memory pages are moved to main memory from the swap machine for execution. Process size does not matter. Produce the concept of the virtual memory. It

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd