By my understanding of the project sheet, the system call for a process should occur when it has accrued enough time on the CPU. If the command file is as follows and the time quantum is 5 usecs:
first
3usec spawn second
8usec exit
second
3usec exit
The first process is spawned and a context change READY->RUNNING is performed taking up 5 seconds of total time (total time = 0 until total time = 5). On the 5th usec the first process is on the CPU accruing time such that at total time = 6, the first process has been on the CPU for 1usec. By my understanding, the spawn syscall would occur at total time = 8, after it has been on the CPU for 3usecs. The second process is moved from NEW->READY instantly, and the context change to move the first process from RUNNING->READY occurs at total time = 8 until total time = 18. Then the context change to move the second process from READY->RUNNING occurs from total time = 18 until total time = 23.
In the sample solution screenshot below, there seems to be an extra usec of total time from 5-9 that the process is on the CPU and an extra usec of total time from 9-20 for the context change. The first context change READY->RUNNING seems to be fine.