Consider a CPU that has to execute two types of processes. The first type,
Actuators (A), requires a CPU burst of 6 seconds. The second type, Controllers (C),
requires a CPU burst of 8 seconds. A new process of type A arrives at time 𝑡 = 10,
20, 30, 40, and 50 (in seconds). Similarly, a new process of type C arrives at time 𝑡 =
11, 22, 33, 44, and 55 (in seconds). The CPU scheduling policy is First Come First
Serve (FCFS). The first process of type A starts running at 𝑡 = 10 seconds. The
average waiting time (in seconds) for the 10 processes is ___________. (rounded off
to one decimal place)
Alternative approach: treat the CPU as a single server tracked by a 'next free time' pointer, and merge both process streams into one arrival-ordered queue.
Merged arrival order: A1(10), C1(11), A2(20), C2(22), A3(30), C3(33), A4(40), C4(44), A5(50), C5(55), where every A-burst is 6s and every C-burst is 8s.
Let the CPU free-time pointer be \(F\), starting at \(F = 10\) since A1 is stated to begin immediately. At every step, among all processes that have arrived by time \(F\) but not yet served, the FCFS rule picks the one with the smallest arrival time, runs it for its full burst, and updates \(F\).
Stepping \(F\) forward: \(10 \to 16\) (serve A1) \(\to 24\) (serve C1, arrived at 11) \(\to 30\) (serve A2, arrived 20, ahead of C2 which arrived at 22) \(\to 38\) (serve C2) \(\to 44\) (serve A3, arrived 30, ahead of C3 at 33) \(\to 52\) (serve C3) \(\to 58\) (serve A4, arrived 40, ahead of C4 at 44) \(\to 66\) (serve C4) \(\to 72\) (serve A5, arrived 50, ahead of C5 at 55) \(\to 80\) (serve C5).
Each process's waiting time equals its start time minus its arrival time, giving the sequence \(0, 5, 4, 8, 8, 11, 12, 14, 16, 17\) for A1, C1, A2, C2, A3, C3, A4, C4, A5, C5 respectively.
Summing these ten values gives \(95\) seconds of total waiting, and dividing by the 10 processes:
\[\text{Average wait} = \frac{95}{10} = 9.5 \text{ s}\]
This confirms the official key of \(\boxed{9.5}\) seconds.