CST334 Module 2
What did I learn in the second week of CST334?
This week I learned about five different topics about operating systems. The first topic is about processes, which is a fundamental unit of execution within operating systems, as it isolates and manages multiple running programs. Basically, processes provide the illusion that multiple programs run simultaneously, while storing state through the process control block. The second topic is about the C process API, which is critical when writing low-level code whether for debugging or for tool-building. Basically, the C process API is a hands-on interface to control processes in C using system calls, for example, fork() creates a child process by duplicating the parent, exec() replaces the current process memory and wait() pauses a parent until the child finishes.
The third topic is about limited direct execution, which allows programs to run directly on the CPU with constraints, showcasing system call mechanics and interrupt handling for operating system balance performances. Basically, this is about the dangers of letting user code run freely, how the trap mechanism for user mode to kernel mode is to safely transition, and how context switches allow multitasking by saving or restoring the process state. The fourth topic is about CPU scheduling, which is about the policies that determine the process that gets to the CPU, as it's the core of performance optimization. Basically, CPU scheduling goes over algorithms like FIFO, SJF, and Round Robin, while going into the impact of job arrival and runtime with trade-offs between responsiveness and fairness. The fifth topic is about MLFQ (Multi-Level Feedback Queue), which is a dynamic scheduling strategy used in many operating systems, as it's a mental model for how interactive systems stay responsive. Basically, MLFQ is a process behavior that gives more CPU to short jobs, providing priority boosting, aging, and queue demotion.
Comments
Post a Comment