# EASTERN MEDITERRANEAN UNIVERSITY

EASTERN MEDITERRANEAN UNIVERSITY
COMPUTER ENGINEERING DEPARTMENT
CMPE-443 – Real-Time Systems Design
Quiz 10.06.2003 (60 minutes, 2 points)
Name, Surname________________________________
Id. #__________________________________
Instructor Alexander Chefranov
Task 1. (0.5 point). Deadlock avoidance (Habermann’s algorithm). Let’s assume that
number of available resources a=10, number of concurrent processes n=4, their
current requests c=(2,1,3,2), their maximal requests b=(10,8,7,4). Decide, whether
granting of c is safe, and if it is so, show safe sequence of processes.
4
r=a-  ci  10  8  2 . S=0;
i 1
B4-c4=4-2=2&lt;=r=2 =&gt;S=S+(P4)=(P4)
B3-c3=7-3=4&lt;=r+c4=4 =&gt;S=S+(P3)=(P4,P3)
B2-c2=8-1=7&lt;= r+c4+c3=2+2+3=7 =&gt;S=S+(P2)=(P4, P3, P2)
B1-c1=10-2=8&lt;= r+c4+c3+c2=2+2+3+1=8 =&gt; S=S+(P1)=(P4, P3, P2, P1)
Obtained sequence S contains all 4 processes, hence, required by c resource allocation
is safe, and S is safe sequence.
Task 2. (0.5 point). Assume that current resource state (processes P1..P5, resources
R1..R4) is depicted by the following resource graph:
R2
P2
2
R1
4
P3
P1
R3
2
P4
P5
2
R4
Detect using reduction procedure, whether this current resource situation has a
deadlock. Show sequence of steps of this reduction procedure (sequence of processes
incident to which edges may be eliminated). If deadlocks exist, show processes
Step 1. We can eliminate edges incident to P5, because it has 1 unit of R3 and
requires 1 unit of R1 which is free now. After elimination 1 unit of R3 will become
free.
Step 2. We can eliminate edges incident to P1, because it has 1 unit of R4, and
requires 1 unit of R1, and this unit is free. After elimination 1 unit of R4 will become
free.
Step 3. We can eliminate edges incident to P3, because it has 2 units of R2, and
requires 1 unit R3( available after Step 1) and 1 unit of R4 (available after Step 2).
After elimination 2 units of R2 will become free.
Step 4. We can eliminate edges incident to P2, because it has 2 units of R1, 1 unit of
R4, and requires 1 unit of R2 (2 units are free after Step 3). After elimination 3 units
of R1 and 2 units of R4 will be free.
Step 5. We can eliminate edges incident to P4, because it has 1 unit of R3 and 1 unit
of R1, and requires 1 unit of R2, being available.
So, all edges are eliminated, it means that there is no deadlock.
Task 3. (1 point). Consider priority preemptive system of 4 processes; patterns of
their work are given in the table below
Process
Priority
Execution
Release time
sequence
A
1
EQVQQE
0
B
2
EQQE
2
C
3
EQVE
3
D
3
EQE
4
Assume that more priority (important) process has larger value of priority. Release
time means time of issuing request for execution of respective task. Execution
sequence corresponds to the sequence of actions which are to be made by the process
in each quantum of processor time: E means just execution without usage of critical
resources, V,Q – means that in respective time slices task must use critical resource V
or Q. Draw time diagram of execution of this system of processes using Original
Ceiling Priority Protocol (OCPP) for resources locking. Calculate response time for
each process. OCPP rules:
1. Each process has a static default priority assigned.
2. Each resource has a static ceiling value defined, this is the maximum priority of
the processes that use it.
3. A process has a dynamic priority which is the maximum of its own static priority
and any it inherits due to it blocking higher-priority processes (when process
blocks higher-priority task it gets temporarily this higher priority).
4. A process can only lock a resource if its dynamic priority is higher than the
ceiling of any currently locked resource (excluding any that it has already locked).
D
P
P
P
E
Q
V
E
E
P
P
P
C
B
A
E
Q
E
P
P
P
P
Q
Q
E
E
Q
P
P
P
P
P
P
P
P
P
P
P
V
Q
Q
E
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
At moment 0 starts A, at moment 2 it is preempted by B, which is preempted by C at
moment 3. At moment 4 D is released and also is to wait for termination of the same
priority process C. Process C terminates at moment 7, with response time equal to 73=4. At moment 7 D is resumed, and terminates at moment 10 with response time 104=6. At moment 10 resumes B, and terminates at moment 13 with response time 132=11. At moment 13 resumes A, and terminates at moment 17 with response time 170=17. No blocking took place in this scenario.