CST 334 Week 4

We learned more about the fundamental duties of the operating system this past week in CST 334, especially in relation to process management and virtual memory. The way the operating system gives the impression that every process has its own separate CPU and memory was one of the ideas that opened my eyes the most. This is accomplished by combining memory virtualization, context switching, and process control blocks (PCBs), which enable the safe and effective coexistence of numerous processes.

We looked at how the operating system loads a program into memory, initializes registers such as the program counter (PC), and starts the program's execution. I now have a better grasp of the fetch-decode-execute cycle and how the OS utilizes the scheduler to choose which process gets to use the CPU next thanks to the OSTEP readings. The internal workings of multitasking were made clear by concepts like time-sharing, CPU-bound vs I/O-bound processes, and state transitions between executing, ready, and waiting.

In practice, I kept working in the Linux environment, observing process activity with shell scripts and commands. I was able to keep an eye on running processes with the use of tools like ps, top, and kill. We also experimented with background processes using & and job control commands like fg, bg, and jobs. Additionally, I practiced watching how getpid() and getppid() aid in tracking process IDs and developed basic C programs that use fork() to fork child processes. I anticipate we'll go more into inter-process communication (IPC) shortly, but first I gained a solid knowledge of it by seeing how parent and child processes communicate.This week's integration of conceptual theory and practical application strengthened my grasp of the OS's dual roles as a resource manager and virtual machine.

Comments

Popular posts from this blog

Week 2

Week 1

Week 4