Thanks for the clarification, it made things much clearer for me. Still have 2 questions though:
1. When time quantum = time of system call. At this point I am assuming it is intentional, that is, to move the process off running and run the system call at 0usecs the next time it is on the CPU. Logically (and intuitively), I believe the system call should occur first, but if this is how you want us to do it, I don't really mind. Just need some clarification on if this is actually how you want us to implement the time quantum.
2. Timing is still off slightly. There is still an extra usec after a system call occurs. In the screenshot below, I believe 'spawn' should occur at t = 25. If this was intentional, could I please get confirmation so that I can also implement this in my own solution?
Would be great if I could get some confirmation this time.