Process-Management
Question 1 |
In a certain operating system, deadlock prevention is attempted using the following scheme. Each process is assigned a unique timestamp, and is restarted with the same timestamp if killed. Let Ph be the process holding a resource R, Pr be a process requesting for the same resource R, and T(Ph) and T(Pr) be their timestamps respectively. The decision to wait or preempt one of the processes is based on the following algorithm.
if T(Pr) < T(Ph) then kill Pr else waitWhich one of the following is TRUE?
The scheme is deadlock-free, but not starvation-free | |
The scheme is not deadlock-free, but starvation-free | |
The scheme is neither deadlock-free nor starvation-free | |
The scheme is both deadlock-free and starvation-free |
So, starvation is possible, but deadlock is not possible.
Question 2 |
Two concurrent processes P1 and P2 use four shared resources R1, R2, R3 and R4, as shown below.
P1: P2: Compute: Compute; Use R1; Use R1; Use R2; Use R2; Use R3; Use R3; Use R4; Use R4;
Both processes are started at the same time, and each resource can be accessed by only one process at a time The following scheduling constraints exist between the access of resources by the processes:
P2 must complete use of R1 before P1 gets access to R1.
P1 must complete use of R2 before P2 gets access to R2.
P2 must complete use of R3 before P1 gets access to R3.
P1 must complete use of R4 before P2 gets access to R4.
There are no other scheduling constraints between the processes. If only binary semaphores are used to enforce the above scheduling constraints, what is the minimum number of binary semaphores needed?
1 | |
2 | |
3 | |
4 |