# Quiz #2 (October 9, 2003)Name: Answer for reference

COP4610  CGS5765   Recitation Section: _____  Last 4 SSN: ______

## COP4610, Department of Computer Science, Florida State University, Fall 2000

Points: 100 points (Maximum 110 points)

1.      (30 points, 10 points each) True/false. For each statement, write ‘T’ at the end if it is true and write ‘F’ if it is false. If you think the question is ambiguous, state your additional assumptions clearly.

a.       In a time sharing system, the most suitable criterion for CPU scheduling is to maximize the CPU utilization ……………………………………………[ F ]

b.      A round robin scheduling algorithm can be non-preemptive …………….[  F ]

c.       In a preemptive priority scheduling algorithm, the running process/thread always has the highest priority among all ready processes/threads …… . [  T ]

2.      (20 points) Suppose that a process is executing ``counter=counter+1'' while another process is executing concurrently (without any synchronization) ``counter=counter-2'', where the counter is a variable shared between the two processes and is only changed in those statements. Given that the value of  counter is five before execution, give all the possible value(s) after both processes finish their statement.

As in the example we went through during class, each statement can be implemented through three instructions. Thus, the possible values are 5 + 1 = 6 (where the counter = counter –2 is overwritten), 5 – 2 = 3 (where the counter = counter + 1 is overwritten), or 5 + 1 – 2 = 4 (which is correct).

3.      (60 points, 20 points each) Assume that the following processes are the only processes in a computer system and that there are no input/output requests from all the given processes. Given the following arrival time and CPU burst time for each process, draw the Gantt chart and compute the average turnaround time and the average wait time as defined in the textbook for the following CPU scheduling algorithms:

a.       First Come First Service (FCFS).

 P1 P2 P3 P4

 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The turnaround time for P1 is 10-0=10, for P2 is 16-2=14 for P3 is 17-3=14 and for P4 is 20-5=15. So the average turnaround time is (10+14+14+15)/4=13.25

The wait time for P1 is 0-0=0, for P2 is 10-2 = 8, for P3 is 16-3=13 and for P4 is 17-5=12. So the average wait time is (0+8+13+12)/4 = 8.25

b.      Preemptive Shortest Job Next.

 P1 P2 P3 P2 P4 P2 P1

 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The turnaround time for P1 is 20-0=20, for P2 is 12-2=10 for P3 is 4-3=1 and for P4 is 8-5=3. So the average turnaround time is (20+10+1+3)/4=8.5

The wait time for P1 is 0-0=0, for P2 is 2-2 = 8, for P3 is 3-3=0 and for P4 is 5-5=0. So the average wait time is (0+0+0+0)/4 = 0.

c.        Round-Robin with time quantum of 4, ignoring the context switch cost. We assume that the newly arrived processes will be inserted at the end of the ready queue.

 P1 P2 P3 P1 P4 P2 P1

 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The turnaround time for P1 is 20-0=20, for P2 is 18-2=16 for P3 is 9-3=6 and for P4 is 16-5=11. So the average turnaround time is (20+16+6+11)/4=13.25

The wait time for P1 is 0-0=0, for P2 is 4-2 = 2, for P3 is 8-3=5 and for P4 is 13-5=8. So the average wait time is (0+2+5+8)/4 = 3.75