Can anyone please help me with the following question?
Consider a single processor system supporting two running processes, A and B, with the following sequential execution patterns:
A: [CPU 8 ms; IO 1 ms; CPU 8 ms; IO 1 ms; CPU 8 ms]
B: [CPU 2 ms; IO 1 ms; CPU 2 ms; IO 1 ms; CPU 2 ms]
Assume that IO operations do not interfere with each other and are blocking, and that scheduling and context switch times are negligible.
a) What is the total elapsed time for the two processes to run to completion?
b) Assume the system runs a non-preemptive scheduler where processes are scheduled in the order in which they become runnable, and that B takes priority over A in the event of a tie. Give the combined execution pattern of the two processes in the format as in part (ii), and determine the total elapsed time for the two processes to run to completion.
c) Repeat part (ii) b) with a pre-emptive scheduler operating with a time slice of 4ms.
d) What are the costs and the benefits of a pre-emptive scheduler over a non- preemptive scheduler for this workload, which would you choose, and why?