.ZIP

# Program to synchronize the visitors and cashiers using semaphores and/or monitors.

The bookstore sells items to students, faculty/staff and the public. There are M visitors and N cashiers in the bookstore at any given time. Visitors typically wander around shopping for items then line up to cash out. Cashiers service visitors on a first come first served basis. Write a program to synchronize the visitors and cashiers using semaphores and/or monitors. Follow the guidelines and instructions below:

- Prompt the user for the values of M and N. Assume an upper bound on M is 50 and N is 10.

- Assume the number of items each person carries to the cashier is between 1 and 6 and that they shop for between 50 to 75 time units per item.

- Assume it takes between 10 and 20 time units for a cashier to checkout an item.

- Show: the number of people shopping, the number of people waiting in the cashier line and the number of people being served.

Use the following guidelines:

Proper use of threads/semaphores

Master process functions correctly

Visitors function correctly

Cahiers function correctly

Proper graphical display of numbers identified in 4 above

Proper shutdown … all threads exit properly

Comments in code

- Prompt the user for the values of M and N. Assume an upper bound on M is 50 and N is 10.

- Assume the number of items each person carries to the cashier is between 1 and 6 and that they shop for between 50 to 75 time units per item.

- Assume it takes between 10 and 20 time units for a cashier to checkout an item.

- Show: the number of people shopping, the number of people waiting in the cashier line and the number of people being served.

Use the following guidelines:

Proper use of threads/semaphores

Master process functions correctly

Visitors function correctly

Cahiers function correctly

Proper graphical display of numbers identified in 4 above

Proper shutdown … all threads exit properly

Comments in code

You'll get a 27.8KB .ZIP file.