CST 334 - Learning Journal Week 4
This week's material focused on how operating systems manage memory. We talked about paging, address translations, locality, multi-level page tables, swapping and page replacement policies. Paging is the idea that the OS divides memory into fixed-size chunks so it can manage processes more easily. We practiced translating virtual addresses to physical ones using page tables. This helped me see how the OS creates the illusion that each program has its own private memory space. Average memory access time combines fast hits and slow misses. Multi-level paging came up as a solution to the memory waste of giant single-level page tables. The part I found the hardest was multi-level address translations. I understand the 'tree of pages tables' idea but when I try to manually walk through each level, I lose track of which bit index what. The "aha" moment I had this week was with locality. Once I recognized how often programs loop over arrays or reuse variables, it made s...