CST 334, Journal Entry Week 4

In CST334 so far, I’ve learned a lot about how operating systems handle memory and processes behind the scenes. One of the biggest takeaways has been how virtual memory works. Instead of each program getting a big chunk of physical memory, the OS uses paging to break memory into smaller fixed-size pages, which makes things more efficient and avoids issues like fragmentation.

We also got into page tables and multi level paging. At first, it was a bit confusing, but once I saw how they help reduce memory use and keep things organized in large address spaces, it started to click. Then we learned about the TLB (Translation Lookaside Buffer), which basically acts as a fast-access cache for memory translations. If something’s in the TLB, access is fast; if not, the system has to go through page tables, which takes longer.

Swapping and page replacement was another important part. I didn’t realize how often operating systems move stuff between RAM and disk. Algorithms like FIFO and LRU help decide what to swap out, and learning about these made me appreciate how much work the OS does just to keep things running smoothly.

The hands-on labs were super helpful. Building memory allocators and working with free lists, coalescing, and splitting chunks made the theory more real. I feel like I understand now how something like malloc could be built from scratch. Overall, the course has given me a solid base in how low-level memory and process management works.


Discussion & Comments