Question: Consider the solution below to the dining philosophers problem. There are 7 philosophers. (Philosopher i where (i = 0, 1, 2,6)). Semaphores are initialized to
Consider the solution below to the dining philosophers problem. There are 7 philosophers. (Philosopher i where (i = 0, 1, 2,6)). Semaphores are initialized to 1. Can deadlock occur? Explain or give a sequence of events that prove your answer to above.
while (true){
think;
wait(mutex);
wait fork[i];
wait fork[(i+1) %7]
signal(mutex);
eat;
signal(fork[i]);
signal(fork[(i + 1) %7];
}
The function wait is implemented with a Last In First Out queue (LIFO). Can starvation occur? Explain or give a sequence of events that prove your answer.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
