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

Popular posts from this blog

Week 1 - CST363 First Post: Relational Database Reflections

Week 4 Project 1 Post-Review

Week 3 Project 01 Code Review