63 % (133 Review)
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(); } }
In computer science, particularly in operating systems, a semaphore is a variable or abstract data type that is used for controlling access, by multiple processes, to a common resource in a parallel p.
Just $7.00/month
Get immediate access to 24/7 Homework Help, step-by-step solutions, instant homework answer to over 40 million Textbook solution and Q/A
Pay $7.00/month for Better Grades