Question 10102 –
February 13, 2024February 13, 2024
Question 10103 –
A concurrent system consists of 3 processes using a shared resource R in a non-preemptible and mutually exclusive manner. The processes have unique priorities in the range 1…..3, 3 being the highest priority. It is required to synchronize the processes such that the resource is always allocated to the highest priority requester. The pseudo code for the system is as follows.
Shared Data mutex:semaphore = 1:/* initialized to 1*/ process[3]:semaphore = 0; /*all initialized to 0 */ R_requested [3]:boolean = false; /*all initialized to false */ busy: boolean = false; /*initialized to false */ Code for processes begin process my-priority:integer; my-priority:=____; /*in the range 1...3*/ repeat request_R(my-priority); P (proceed [my-priority]); {use shared resource R} release_R (my-priority); forever end process; Procedures procedure request_R(priority); P(mutex); if busy = true then R_requested [priority]:=true; else begin V(proceed [priority]); busy:=true; end V(mutex);
Give the pseudo code for the procedure release_R.
Correct Answer: A
Theory Explanation.
Subscribe
Login
0 Comments