CST334 - Week 2 Reflection
Week 2 Learning Reflection
This week marked another action-packed marathon of
new knowledge as we explored how processes are created and how they are subsequently
handled by the CPU. We dove deep into the mechanics of process scheduling, the
life cycle of processes, and the fork() and exec()
system calls. Understanding fork() revealed how a parent process
creates an identical child process, with each distinguished by its return
value—zero for the child, and the child's PID for the parent. Similarly, exec()
was introduced as a powerful system call that replaces the current process with
a new one, effectively restarting the process in place. We also visualized and
discussed the three main machine states—ready, running, and blocked—and
examined valid state transitions. This helped build a clearer picture of how
the operating system orchestrates multitasking at the process level. The
importance of the scheduler became increasingly apparent as we examined how
processes are chosen to run based on system policies. I particularly enjoyed
visualizing and learning about process scheduling. Scheduling is dictated by
“policies,” which determine how the CPU selects which job to run next, measured
through key performance metrics like response time, turnaround time, and waiting
time. Calculating jobs handled by FIFO, Shortest Job First, Shortest Time
Remaining, and Round Robin scheduling algorithms felt like carrying out an
esoteric magic ritual—equal parts hidden knowledge, logic and strategy. Suffice
it to say, I am thoroughly enjoying the material. That said, I’m doing my best
to stay sharp and absorb the many moving parts and intricate details of processes
and process management in the operating systems landscape.
Comments
Post a Comment